From 6bde558b543693afd57ed04f7c7c45f5749e086c Mon Sep 17 00:00:00 2001 From: Junaid <86780488+jdevcs@users.noreply.github.com> Date: Wed, 10 May 2023 17:31:18 +0200 Subject: [PATCH] Release/1.10.0 (#6058) * v1.10.0-rc.0 * build output and changelog update for v1.10.0-rc.0 * v1.10.0 * Build commit for 1.10.0 --- CHANGELOG.md | 7 +- dist/web3.min.js | 2 +- dist/web3.min.js.map | 2 +- lerna.json | 2 +- package-lock.json | 56074 +++++++--------- 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 | 2 +- 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 | 2 +- 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 | 2 +- packages/web3-eth-abi/package.json | 4 +- packages/web3-eth-accounts/package-lock.json | 2 +- packages/web3-eth-accounts/package.json | 10 +- packages/web3-eth-contract/package-lock.json | 2 +- packages/web3-eth-contract/package.json | 16 +- packages/web3-eth-ens/package-lock.json | 2 +- packages/web3-eth-ens/package.json | 16 +- packages/web3-eth-iban/package-lock.json | 2 +- 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 | 2 +- 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 | 2 +- packages/web3-net/package.json | 8 +- .../web3-providers-http/package-lock.json | 2 +- 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 | 2 +- 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, 24530 insertions(+), 31807 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34e9d833cdf..ab52dbcc406 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -661,7 +661,7 @@ Released with 1.0.0-beta.37 code base. ### Security - Updated dependencies (#5885) -## [Unreleased] +## [1.10.0] ### Fixed @@ -677,4 +677,7 @@ Released with 1.0.0-beta.37 code base. - Added support for `getPastEvents` method to filter `allEvents` and specific event (#6015) ### Security - - Updated dependencies (#6044) \ No newline at end of file + - Updated dependencies (#6044) + + +## [Unreleased] \ No newline at end of file diff --git a/dist/web3.min.js b/dist/web3.min.js index 753bb42e5d0..3b158017938 100644 --- a/dist/web3.min.js +++ b/dist/web3.min.js @@ -1,3 +1,3 @@ /*! For license information please see web3.min.js.LICENSE.txt */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Web3=t():e.Web3=t()}(self,(()=>(()=>{var e={1645:(e,t,r)=>{"use strict";var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.chains=t._getInitializedChains=void 0;var i=n(r(7295)),o=n(r(1227)),a=n(r(439)),s=n(r(7098)),u=n(r(7687));function c(e){var t,r,n={1:"mainnet",3:"ropsten",4:"rinkeby",42:"kovan",5:"goerli"},c={mainnet:i.default,ropsten:o.default,rinkeby:a.default,kovan:s.default,goerli:u.default};if(e)try{for(var f=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),d=f.next();!d.done;d=f.next()){var l=d.value,h=l.name;n[l.chainId.toString()]=h,c[h]=l}}catch(e){t={error:e}}finally{try{d&&!d.done&&(r=f.return)&&r.call(f)}finally{if(t)throw t.error}}return c.names=n,c}t._getInitializedChains=c,t.chains=c()},425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EIPs=void 0,t.EIPs={1559:r(7523),2315:r(3339),2537:r(6769),2565:r(7897),2718:r(2170),2929:r(8436),2930:r(6213),3198:r(5491),3529:r(7852),3541:r(1871),3554:r(7225),3675:r(8571)}},7002:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hardforks=void 0,t.hardforks=[["chainstart",r(114)],["homestead",r(2800)],["dao",r(7197)],["tangerineWhistle",r(2302)],["spuriousDragon",r(716)],["byzantium",r(6985)],["constantinople",r(5993)],["petersburg",r(4064)],["istanbul",r(3166)],["muirGlacier",r(2946)],["berlin",r(15)],["london",r(1250)],["shanghai",r(5553)],["merge",r(8648)]]},3863:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=r(8847)(r(3355)),a=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(t,"__esModule",{value:!0}),t.ConsensusAlgorithm=t.ConsensusType=t.Hardfork=t.Chain=t.CustomChain=void 0;var c,f,d,l,h,p=r(8291),b=r(4628),y=r(3062),m=r(1645),v=r(7002),g=r(425);!function(e){e.PolygonMainnet="polygon-mainnet",e.PolygonMumbai="polygon-mumbai",e.ArbitrumRinkebyTestnet="arbitrum-rinkeby-testnet",e.xDaiChain="x-dai-chain"}(c=t.CustomChain||(t.CustomChain={})),(h=t.Chain||(t.Chain={}))[h.Mainnet=1]="Mainnet",h[h.Ropsten=3]="Ropsten",h[h.Rinkeby=4]="Rinkeby",h[h.Kovan=42]="Kovan",h[h.Goerli=5]="Goerli",function(e){e.Chainstart="chainstart",e.Homestead="homestead",e.Dao="dao",e.TangerineWhistle="tangerineWhistle",e.SpuriousDragon="spuriousDragon",e.Byzantium="byzantium",e.Constantinople="constantinople",e.Petersburg="petersburg",e.Istanbul="istanbul",e.MuirGlacier="muirGlacier",e.Berlin="berlin",e.London="london",e.Shanghai="shanghai",e.Merge="merge"}(f=t.Hardfork||(t.Hardfork={})),(l=t.ConsensusType||(t.ConsensusType={})).ProofOfStake="pos",l.ProofOfWork="pow",l.ProofOfAuthority="poa",(d=t.ConsensusAlgorithm||(t.ConsensusAlgorithm={})).Ethash="ethash",d.Clique="clique",d.Casper="casper";var w=function(e){function t(t){var r,n,i,o,a=e.call(this)||this;a._supportedHardforks=[],a._eips=[],a._customChains=null!==(i=t.customChains)&&void 0!==i?i:[],a._chainParams=a.setChain(t.chain),a.DEFAULT_HARDFORK=null!==(o=a._chainParams.defaultHardfork)&&void 0!==o?o:f.Istanbul;try{for(var s=u(a._chainParams.hardforks),c=s.next();!c.done;c=s.next()){var d=c.value;d.forkHash||(d.forkHash=a._calcForkHash(d.name))}}catch(e){r={error:e}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return a._hardfork=a.DEFAULT_HARDFORK,t.supportedHardforks&&(a._supportedHardforks=t.supportedHardforks),t.hardfork&&a.setHardfork(t.hardfork),t.eips&&a.setEIPs(t.eips),a}return a(t,e),t.custom=function(e,r){var n;void 0===r&&(r={});var i=null!==(n=r.baseChain)&&void 0!==n?n:"mainnet",o=s({},t._getChainParams(i));if(o.name="custom-chain","string"!=typeof e)return new t(s({chain:s(s({},o),e)},r));if(e===c.PolygonMainnet)return t.custom({name:c.PolygonMainnet,chainId:137,networkId:137});if(e===c.PolygonMumbai)return t.custom({name:c.PolygonMumbai,chainId:80001,networkId:80001});if(e===c.ArbitrumRinkebyTestnet)return t.custom({name:c.ArbitrumRinkebyTestnet,chainId:421611,networkId:421611});if(e===c.xDaiChain)return t.custom({name:c.xDaiChain,chainId:100,networkId:100});throw new Error("Custom chain "+e+" not supported")},t.forCustomChain=function(e,r,n,i){var o=t._getChainParams(e);return new t({chain:s(s({},o),r),hardfork:n,supportedHardforks:i})},t.isSupportedChainId=function(e){var t=(0,m._getInitializedChains)();return Boolean(t.names[e.toString()])},t._getChainParams=function(e,t){var r=(0,m._getInitializedChains)(t);if("number"==typeof e||y.BN.isBN(e)){if(e=e.toString(),r.names[e])return r[r.names[e]];throw new Error("Chain with ID "+e+" not supported")}if(r[e])return r[e];throw new Error("Chain with name "+e+" not supported")},t.prototype.setChain=function(e){var r,n;if("number"==typeof e||"string"==typeof e||y.BN.isBN(e)){var i;i=this._customChains&&this._customChains.length>0&&Array.isArray(this._customChains[0])?this._customChains.map((function(e){return e[0]})):this._customChains,this._chainParams=t._getChainParams(e,i)}else{if("object"!==(0,o.default)(e))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 a=u(["networkId","genesis","hardforks","bootstrapNodes"]),s=a.next();!s.done;s=a.next()){var c=s.value;if(void 0===e[c])throw new Error("Missing required chain parameter: "+c)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}this._chainParams=e}return this._chainParams},t.prototype.setHardfork=function(e){var t,r;if(!this._isSupportedHardfork(e))throw new Error("Hardfork "+e+" not set as supported in supportedHardforks");var n=!1;try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next())o.value[0]===e&&(this._hardfork!==e&&(this._hardfork=e,this.emit("hardforkChanged",e)),n=!0)}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}if(!n)throw new Error("Hardfork with name "+e+" not supported")},t.prototype.getHardforkByBlockNumber=function(e,t){var r,n;e=(0,y.toType)(e,y.TypeOutput.BN),t=t?(0,y.toType)(t,y.TypeOutput.BN):void 0;var i,o,a,s=f.Chainstart;try{for(var c=u(this.hardforks()),d=c.next();!d.done;d=c.next()){var l=d.value;if(null!==l.block)e.gte(new y.BN(l.block))&&(s=l.name),t&&l.td&&(t.gten(l.td)?i=l.name:o=a),a=l.name;else if(t&&l.td&&t.gten(l.td))return l.name}}catch(e){r={error:e}}finally{try{d&&!d.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}if(t){var h="block number: "+e+" (-> "+s+"), ";if(i&&!this.hardforkGteHardfork(s,i)){var p="HF determined by block number is lower than the minimum total difficulty HF";throw h+="total difficulty: "+t+" (-> "+i+")",new Error(p+": "+h)}if(o&&!this.hardforkGteHardfork(o,s))throw p="Maximum HF determined by total difficulty is lower than the block number HF",h+="total difficulty: "+t+" (-> "+o+")",new Error(p+": "+h)}return s},t.prototype.setHardforkByBlockNumber=function(e,t){var r=this.getHardforkByBlockNumber(e,t);return this.setHardfork(r),r},t.prototype._chooseHardfork=function(e,t){if(void 0===t&&(t=!0),e){if(t&&!this._isSupportedHardfork(e))throw new Error("Hardfork "+e+" not set as supported in supportedHardforks")}else e=this._hardfork;return e},t.prototype._getHardfork=function(e){var t,r,n=this.hardforks();try{for(var i=u(n),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.name===e)return a}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}throw new Error("Hardfork "+e+" not defined for chain "+this.chainName())},t.prototype._isSupportedHardfork=function(e){var t,r;if(!(this._supportedHardforks.length>0))return!0;try{for(var n=u(this._supportedHardforks),i=n.next();!i.done;i=n.next())if(e===i.value)return!0}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!1},t.prototype.setEIPs=function(e){var t,r,n=this;void 0===e&&(e=[]);var i=function(t){if(!(t in g.EIPs))throw new Error(t+" not supported");var r=o.gteHardfork(g.EIPs[t].minimumHardfork);if(!r)throw new Error(t+" cannot be activated on hardfork "+o.hardfork()+", minimumHardfork: "+r);g.EIPs[t].requiredEIPs&&g.EIPs[t].requiredEIPs.forEach((function(r){if(!e.includes(r)&&!n.isActivatedEIP(r))throw new Error(t+" requires EIP "+r+", but is not included in the EIP list")}))},o=this;try{for(var a=u(e),s=a.next();!s.done;s=a.next())i(s.value)}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}this._eips=e},t.prototype.param=function(e,t){var r,n,i=null;try{for(var o=u(this._eips),a=o.next();!a.done;a=o.next()){var s=a.value;if(null!==(i=this.paramByEIP(e,t,s)))return i}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return this.paramByHardfork(e,t,this._hardfork)},t.prototype.paramByHardfork=function(e,t,r){var n,i,o,a;r=this._chooseHardfork(r);var s=null;try{for(var c=u(v.hardforks),f=c.next();!f.done;f=c.next()){var d=f.value;if("eips"in d[1]){var l=d[1].eips;try{for(var h=(o=void 0,u(l)),p=h.next();!p.done;p=h.next()){var b=p.value,y=this.paramByEIP(e,t,b);s=null!==y?y:s}}catch(e){o={error:e}}finally{try{p&&!p.done&&(a=h.return)&&a.call(h)}finally{if(o)throw o.error}}}else{if(!d[1][e])throw new Error("Topic "+e+" not defined");void 0!==d[1][e][t]&&(s=d[1][e][t].v)}if(d[0]===r)break}}catch(e){n={error:e}}finally{try{f&&!f.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}return s},t.prototype.paramByEIP=function(e,t,r){if(!(r in g.EIPs))throw new Error(r+" not supported");var n=g.EIPs[r];if(!(e in n))throw new Error("Topic "+e+" not defined");return void 0===n[e][t]?null:n[e][t].v},t.prototype.paramByBlock=function(e,t,r){var n=this.activeHardforks(r),i=n[n.length-1].name;return this.paramByHardfork(e,t,i)},t.prototype.isActivatedEIP=function(e){var t,r;if(this.eips().includes(e))return!0;try{for(var n=u(v.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(e))return!0}}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!1},t.prototype.hardforkIsActiveOnBlock=function(e,t,r){var n;void 0===r&&(r={}),t=(0,y.toType)(t,y.TypeOutput.BN);var i=null!==(n=r.onlySupported)&&void 0!==n&&n;e=this._chooseHardfork(e,i);var o=this.hardforkBlockBN(e);return!(!o||!t.gte(o))},t.prototype.activeOnBlock=function(e,t){return this.hardforkIsActiveOnBlock(null,e,t)},t.prototype.hardforkGteHardfork=function(e,t,r){var n,i;void 0===r&&(r={});var o,a=void 0!==r.onlyActive&&r.onlyActive;e=this._chooseHardfork(e,r.onlySupported),o=a?this.activeHardforks(null,r):this.hardforks();var s=-1,c=-1,f=0;try{for(var d=u(o),l=d.next();!l.done;l=d.next()){var h=l.value;h.name===e&&(s=f),h.name===t&&(c=f),f+=1}}catch(e){n={error:e}}finally{try{l&&!l.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return s>=c&&-1!==c},t.prototype.gteHardfork=function(e,t){return this.hardforkGteHardfork(null,e,t)},t.prototype.hardforkIsActiveOnChain=function(e,t){var r,n,i;void 0===t&&(t={});var o=null!==(i=t.onlySupported)&&void 0!==i&&i;e=this._chooseHardfork(e,o);try{for(var a=u(this.hardforks()),s=a.next();!s.done;s=a.next()){var c=s.value;if(c.name===e&&null!==c.block)return!0}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return!1},t.prototype.activeHardforks=function(e,t){var r,n;void 0===t&&(t={});var i=[],o=this.hardforks();try{for(var a=u(o),s=a.next();!s.done;s=a.next()){var c=s.value;if(null!==c.block){if(null!=e&&e0)return r[r.length-1].name;throw new Error("No (supported) active hardfork found")},t.prototype.hardforkBlock=function(e){var t=this.hardforkBlockBN(e);return t?(0,y.toType)(t,y.TypeOutput.Number):null},t.prototype.hardforkBlockBN=function(e){e=this._chooseHardfork(e,!1);var t=this._getHardfork(e).block;return null==t?null:new y.BN(t)},t.prototype.hardforkTD=function(e){e=this._chooseHardfork(e,!1);var t=this._getHardfork(e).td;return null==t?null:new y.BN(t)},t.prototype.isHardforkBlock=function(e,t){e=(0,y.toType)(e,y.TypeOutput.BN),t=this._chooseHardfork(t,!1);var r=this.hardforkBlockBN(t);return!!r&&r.eq(e)},t.prototype.nextHardforkBlock=function(e){var t=this.nextHardforkBlockBN(e);return null===t?null:(0,y.toType)(t,y.TypeOutput.Number)},t.prototype.nextHardforkBlockBN=function(e){e=this._chooseHardfork(e,!1);var t=this.hardforkBlockBN(e);return null===t?null:this.hardforks().reduce((function(e,r){var n=new y.BN(r.block);return n.gt(t)&&null===e?n:e}),null)},t.prototype.isNextHardforkBlock=function(e,t){e=(0,y.toType)(e,y.TypeOutput.BN),t=this._chooseHardfork(t,!1);var r=this.nextHardforkBlockBN(t);return null!==r&&r.eq(e)},t.prototype._calcForkHash=function(e){var t,r,n=i.from(this.genesis().hash.substr(2),"hex"),o=i.alloc(0),a=0;try{for(var s=u(this.hardforks()),c=s.next();!c.done;c=s.next()){var f=c.value,d=f.block;if(0!==d&&null!==d&&d!==a){var l=i.from(d.toString(16).padStart(16,"0"),"hex");o=i.concat([o,l])}if(f.name===e)break;null!==d&&(a=d)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}var h=i.concat([n,o]);return"0x"+(0,y.intToBuffer)((0,b.buf)(h)>>>0).toString("hex")},t.prototype.forkHash=function(e){e=this._chooseHardfork(e,!1);var t=this._getHardfork(e);if(null===t.block)throw new Error("No fork hash calculation possible for non-applied or future hardfork");return void 0!==t.forkHash?t.forkHash:this._calcForkHash(e)},t.prototype.hardforkForForkHash=function(e){var t=this.hardforks().filter((function(t){return t.forkHash===e}));return t.length>=1?t[t.length-1]:null},t.prototype.genesis=function(){return this._chainParams.genesis},t.prototype.genesisState=function(){var e,t;switch(this.chainName()){case"mainnet":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/mainnet.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"ropsten":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/ropsten.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"rinkeby":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/rinkeby.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"kovan":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/kovan.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"goerli":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/goerli.json'");throw e.code="MODULE_NOT_FOUND",e}()))}if(this._customChains&&this._customChains.length>0&&Array.isArray(this._customChains[0]))try{for(var n=u(this._customChains),i=n.next();!i.done;i=n.next()){var o=i.value;if(o[0].name===this.chainName())return o[1]}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return{}},t.prototype.hardforks=function(){return this._chainParams.hardforks},t.prototype.bootstrapNodes=function(){return this._chainParams.bootstrapNodes},t.prototype.dnsNetworks=function(){return this._chainParams.dnsNetworks},t.prototype.hardfork=function(){return this._hardfork},t.prototype.chainId=function(){return(0,y.toType)(this.chainIdBN(),y.TypeOutput.Number)},t.prototype.chainIdBN=function(){return new y.BN(this._chainParams.chainId)},t.prototype.chainName=function(){return this._chainParams.name},t.prototype.networkId=function(){return(0,y.toType)(this.networkIdBN(),y.TypeOutput.Number)},t.prototype.networkIdBN=function(){return new y.BN(this._chainParams.networkId)},t.prototype.eips=function(){return this._eips},t.prototype.consensusType=function(){var e,t,r,n=this.hardfork();try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next()){var a=o.value;if("consensus"in a[1]&&(r=a[1].consensus.type),a[0]===n)break}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return r||this._chainParams.consensus.type},t.prototype.consensusAlgorithm=function(){var e,t,r,n=this.hardfork();try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next()){var a=o.value;if("consensus"in a[1]&&(r=a[1].consensus.algorithm),a[0]===n)break}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return r||this._chainParams.consensus.algorithm},t.prototype.consensusConfig=function(){var e,t,r,n=this.hardfork();try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next()){var a=o.value;if("consensus"in a[1]&&(r=a[1].consensus[a[1].consensus.algorithm]),a[0]===n)break}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}if(r)return r;var s=this.consensusAlgorithm();return this._chainParams.consensus[s]},t.prototype.copy=function(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)},t}(p.EventEmitter);t.default=w},4383:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},o=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseTransaction=void 0;var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t}(r(3863)),s=r(3062),u=r(7325),c=function(){function e(e){this.cache={hash:void 0},this.activeCapabilities=[],this.DEFAULT_CHAIN=a.Chain.Mainnet,this.DEFAULT_HARDFORK=a.Hardfork.Istanbul;var t=e.nonce,r=e.gasLimit,n=e.to,i=e.value,o=e.data,u=e.v,c=e.r,f=e.s,d=e.type;this._type=new s.BN((0,s.toBuffer)(d)).toNumber();var l=(0,s.toBuffer)(""===n?"0x":n),h=(0,s.toBuffer)(""===u?"0x":u),p=(0,s.toBuffer)(""===c?"0x":c),b=(0,s.toBuffer)(""===f?"0x":f);this.nonce=new s.BN((0,s.toBuffer)(""===t?"0x":t)),this.gasLimit=new s.BN((0,s.toBuffer)(""===r?"0x":r)),this.to=l.length>0?new s.Address(l):void 0,this.value=new s.BN((0,s.toBuffer)(""===i?"0x":i)),this.data=(0,s.toBuffer)(""===o?"0x":o),this.v=h.length>0?new s.BN(h):void 0,this.r=p.length>0?new s.BN(p):void 0,this.s=b.length>0?new s.BN(b):void 0,this._validateCannotExceedMaxInteger({nonce:this.nonce,gasLimit:this.gasLimit,value:this.value,r:this.r,s:this.s})}return Object.defineProperty(e.prototype,"transactionType",{get:function(){return this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),e.prototype.supports=function(e){return this.activeCapabilities.includes(e)},e.prototype.validate=function(e){void 0===e&&(e=!1);var t=[];return this.getBaseFee().gt(this.gasLimit)&&t.push("gasLimit is too low. given "+this.gasLimit+", need at least "+this.getBaseFee()),this.isSigned()&&!this.verifySignature()&&t.push("Invalid Signature"),e?t:0===t.length},e.prototype.getBaseFee=function(){var e=this.getDataFee().addn(this.common.param("gasPrices","tx"));return this.common.gteHardfork("homestead")&&this.toCreationAddress()&&e.iaddn(this.common.param("gasPrices","txCreation")),e},e.prototype.getDataFee=function(){for(var e=this.common.param("gasPrices","txDataZero"),t=this.common.param("gasPrices","txDataNonZero"),r=0,n=0;n-1&&this.activeCapabilities.splice(f,1)}return c},e.prototype._getCommon=function(e,t){var r;if(t){var n=new s.BN((0,s.toBuffer)(t));if(e){if(!e.chainIdBN().eq(n))throw new Error("The chain ID does not match the chain ID of Common");return e.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==e?void 0:e.copy())&&void 0!==r?r:new a.default({chain:this.DEFAULT_CHAIN,hardfork:this.DEFAULT_HARDFORK})},e.prototype._validateCannotExceedMaxInteger=function(e,t){var r,n;void 0===t&&(t=53);try{for(var i=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(Object.entries(e)),a=i.next();!a.done;a=i.next()){var u=o(a.value,2),c=u[0],f=u[1];if(53===t){if(null==f?void 0:f.gt(s.MAX_INTEGER))throw new Error(c+" cannot exceed MAX_INTEGER, given "+f)}else{if(256!==t)throw new Error("unimplemented bits value");if(null==f?void 0:f.gte(s.TWO_POW256))throw new Error(c+" must be less than 2^256, given "+f)}}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},e}();t.BaseTransaction=c},660:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(e,12),i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],f=n[5],d=n[6],l=n[7],h=n[8],p=n[9],b=n[10],y=n[11];return new t({chainId:new s.BN(i),nonce:o,maxPriorityFeePerGas:a,maxFeePerGas:u,gasLimit:c,to:f,value:d,data:l,accessList:null!=h?h:[],v:void 0!==p?new s.BN(p):void 0,r:b,s:y},r)},t.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(f.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},t.prototype.getUpfrontCost=function(e){void 0===e&&(e=new s.BN(0));var t=s.BN.min(this.maxPriorityFeePerGas,this.maxFeePerGas.sub(e)).add(e);return this.gasLimit.mul(t).add(this.value)},t.prototype.raw=function(){return[(0,s.bnToUnpaddedBuffer)(this.chainId),(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.maxPriorityFeePerGas),(0,s.bnToUnpaddedBuffer)(this.maxFeePerGas),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data,this.accessList,void 0!==this.v?(0,s.bnToUnpaddedBuffer)(this.v):i.from([]),void 0!==this.r?(0,s.bnToUnpaddedBuffer)(this.r):i.from([]),void 0!==this.s?(0,s.bnToUnpaddedBuffer)(this.s):i.from([])]},t.prototype.serialize=function(){var e=this.raw();return i.concat([d,s.rlp.encode(e)])},t.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var t=this.raw().slice(0,9),r=i.concat([d,s.rlp.encode(t)]);return e?(0,s.keccak256)(r):r},t.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return Object.isFrozen(this)?(this.cache.hash||(this.cache.hash=(0,s.keccak256)(this.serialize())),this.cache.hash):(0,s.keccak256)(this.serialize())},t.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},t.prototype.getSenderPublicKey=function(){var e;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var t=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(e=this.s)||void 0===e?void 0:e.gt(c.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this,n=r.v,i=r.r,o=r.s;try{return(0,s.ecrecover)(t,n.addn(27),(0,s.bnToUnpaddedBuffer)(i),(0,s.bnToUnpaddedBuffer)(o))}catch(e){throw new Error("Invalid Signature")}},t.prototype._processSignature=function(e,r,n){var i={common:this.common};return t.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(e-27),r:new s.BN(r),s:new s.BN(n)},i)},t.prototype.toJSON=function(){var e=f.AccessLists.getAccessListJSON(this.accessList);return{chainId:(0,s.bnToHex)(this.chainId),nonce:(0,s.bnToHex)(this.nonce),maxPriorityFeePerGas:(0,s.bnToHex)(this.maxPriorityFeePerGas),maxFeePerGas:(0,s.bnToHex)(this.maxFeePerGas),gasLimit:(0,s.bnToHex)(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:(0,s.bnToHex)(this.value),data:"0x"+this.data.toString("hex"),accessList:e,v:void 0!==this.v?(0,s.bnToHex)(this.v):void 0,r:void 0!==this.r?(0,s.bnToHex)(this.r):void 0,s:void 0!==this.s?(0,s.bnToHex)(this.s):void 0}},t}(u.BaseTransaction);t.default=l},7613:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(e,11),i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],f=n[5],d=n[6],l=n[7],h=n[8],p=n[9],b=n[10];return new t({chainId:new s.BN(i),nonce:o,gasPrice:a,gasLimit:u,to:c,value:f,data:d,accessList:null!=l?l:[],v:void 0!==h?new s.BN(h):void 0,r:p,s:b},r)},t.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(f.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},t.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},t.prototype.raw=function(){return[(0,s.bnToUnpaddedBuffer)(this.chainId),(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.gasPrice),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data,this.accessList,void 0!==this.v?(0,s.bnToUnpaddedBuffer)(this.v):i.from([]),void 0!==this.r?(0,s.bnToUnpaddedBuffer)(this.r):i.from([]),void 0!==this.s?(0,s.bnToUnpaddedBuffer)(this.s):i.from([])]},t.prototype.serialize=function(){var e=this.raw();return i.concat([d,s.rlp.encode(e)])},t.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var t=this.raw().slice(0,8),r=i.concat([d,s.rlp.encode(t)]);return e?(0,s.keccak256)(r):r},t.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return Object.isFrozen(this)?(this.cache.hash||(this.cache.hash=(0,s.keccak256)(this.serialize())),this.cache.hash):(0,s.keccak256)(this.serialize())},t.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},t.prototype.getSenderPublicKey=function(){var e;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var t=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(e=this.s)||void 0===e?void 0:e.gt(c.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this,n=r.yParity,i=r.r,o=r.s;try{return(0,s.ecrecover)(t,n.addn(27),(0,s.bnToUnpaddedBuffer)(i),(0,s.bnToUnpaddedBuffer)(o))}catch(e){throw new Error("Invalid Signature")}},t.prototype._processSignature=function(e,r,n){var i={common:this.common};return t.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(e-27),r:new s.BN(r),s:new s.BN(n)},i)},t.prototype.toJSON=function(){var e=f.AccessLists.getAccessListJSON(this.accessList);return{chainId:(0,s.bnToHex)(this.chainId),nonce:(0,s.bnToHex)(this.nonce),gasPrice:(0,s.bnToHex)(this.gasPrice),gasLimit:(0,s.bnToHex)(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:(0,s.bnToHex)(this.value),data:"0x"+this.data.toString("hex"),accessList:e,v:void 0!==this.v?(0,s.bnToHex)(this.v):void 0,r:void 0!==this.r?(0,s.bnToHex)(this.r):void 0,s:void 0!==this.s?(0,s.bnToHex)(this.s):void 0}},t}(u.BaseTransaction);t.default=l},2339:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FeeMarketEIP1559Transaction=t.TransactionFactory=t.AccessListEIP2930Transaction=t.Transaction=void 0;var o=r(3088);Object.defineProperty(t,"Transaction",{enumerable:!0,get:function(){return i(o).default}});var a=r(7613);Object.defineProperty(t,"AccessListEIP2930Transaction",{enumerable:!0,get:function(){return i(a).default}});var s=r(9562);Object.defineProperty(t,"TransactionFactory",{enumerable:!0,get:function(){return i(s).default}});var u=r(660);Object.defineProperty(t,"FeeMarketEIP1559Transaction",{enumerable:!0,get:function(){return i(u).default}}),function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)}(r(7325),t)},3088:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(e,9);return new t({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]},r)},t.prototype.raw=function(){return[(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.gasPrice),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data,void 0!==this.v?(0,s.bnToUnpaddedBuffer)(this.v):i.from([]),void 0!==this.r?(0,s.bnToUnpaddedBuffer)(this.r):i.from([]),void 0!==this.s?(0,s.bnToUnpaddedBuffer)(this.s):i.from([])]},t.prototype.serialize=function(){return s.rlp.encode(this.raw())},t.prototype._getMessageToSign=function(){var e=[(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.gasPrice),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data];return this.supports(u.Capability.EIP155ReplayProtection)&&(e.push((0,s.toBuffer)(this.common.chainIdBN())),e.push((0,s.unpadBuffer)((0,s.toBuffer)(0))),e.push((0,s.unpadBuffer)((0,s.toBuffer)(0)))),e},t.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var t=this._getMessageToSign();return e?(0,s.rlphash)(t):t},t.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},t.prototype.hash=function(){return Object.isFrozen(this)?(this.cache.hash||(this.cache.hash=(0,s.rlphash)(this.raw())),this.cache.hash):(0,s.rlphash)(this.raw())},t.prototype.getMessageToVerifySignature=function(){if(!this.isSigned())throw Error("This transaction is not signed");var e=this._getMessageToSign();return(0,s.rlphash)(e)},t.prototype.getSenderPublicKey=function(){var e,t=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(e=this.s)||void 0===e?void 0:e.gt(u.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this,n=r.v,i=r.r,o=r.s;try{return(0,s.ecrecover)(t,n,(0,s.bnToUnpaddedBuffer)(i),(0,s.bnToUnpaddedBuffer)(o),this.supports(u.Capability.EIP155ReplayProtection)?this.common.chainIdBN():void 0)}catch(e){throw new Error("Invalid Signature")}},t.prototype._processSignature=function(e,r,n){var i=new s.BN(e);this.supports(u.Capability.EIP155ReplayProtection)&&i.iadd(this.common.chainIdBN().muln(2).addn(8));var o={common:this.common};return t.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(r),s:new s.BN(n)},o)},t.prototype.toJSON=function(){return{nonce:(0,s.bnToHex)(this.nonce),gasPrice:(0,s.bnToHex)(this.gasPrice),gasLimit:(0,s.bnToHex)(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:(0,s.bnToHex)(this.value),data:"0x"+this.data.toString("hex"),v:void 0!==this.v?(0,s.bnToHex)(this.v):void 0,r:void 0!==this.r?(0,s.bnToHex)(this.r):void 0,s:void 0!==this.s?(0,s.bnToHex)(this.s):void 0}},t.prototype._validateTxV=function(e,t){var r;if(void 0!==e&&!e.eqn(0)&&(!t||t.gteHardfork("spuriousDragon"))&&!e.eqn(27)&&!e.eqn(28))if(t){var n=t.chainIdBN().muln(2);if(!e.eq(n.addn(35))&&!e.eq(n.addn(36)))throw new Error("Incompatible EIP155-based V "+e.toString()+" and chain id "+t.chainIdBN().toString()+". See the Common parameter of the Transaction constructor to set the chain id.")}else{var i;i=e.subn(35).isEven()?35:36,r=e.subn(i).divn(2)}return this._getCommon(t,r)},t.prototype._unsignedTxImplementsEIP155=function(){return this.common.gteHardfork("spuriousDragon")},t.prototype._signedTxImplementsEIP155=function(){if(!this.isSigned())throw Error("This transaction is not signed");var e=this.common.gteHardfork("spuriousDragon"),t=this.v,r=this.common.chainIdBN().muln(2);return(t.eq(r.addn(35))||t.eq(r.addn(36)))&&e},t}(r(4383).BaseTransaction);t.default=c},9562:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0});var i=r(3062),o=r(2339),a=function(){function e(){}return e.fromTxData=function(e,t){if(void 0===t&&(t={}),"type"in e&&void 0!==e.type){var r=new i.BN((0,i.toBuffer)(e.type)).toNumber();if(0===r)return o.Transaction.fromTxData(e,t);if(1===r)return o.AccessListEIP2930Transaction.fromTxData(e,t);if(2===r)return o.FeeMarketEIP1559Transaction.fromTxData(e,t);throw new Error("Tx instantiation with type "+r+" not supported")}return o.Transaction.fromTxData(e,t)},e.fromSerializedData=function(e,t){if(void 0===t&&(t={}),e[0]<=127){var r=void 0;switch(e[0]){case 1:r=2930;break;case 2:r=1559;break;default:throw new Error("TypedTransaction with ID "+e[0]+" unknown")}return 1559===r?o.FeeMarketEIP1559Transaction.fromSerializedTx(e,t):o.AccessListEIP2930Transaction.fromSerializedTx(e,t)}return o.Transaction.fromSerializedTx(e,t)},e.fromBlockBodyData=function(e,t){if(void 0===t&&(t={}),n.isBuffer(e))return this.fromSerializedData(e,t);if(Array.isArray(e))return o.Transaction.fromValuesArray(e,t);throw new Error("Cannot decode transaction: unknown type input")},e.getTransactionClass=function(e,t){if(void 0===e&&(e=0),0==e||e>=128&&e<=255)return o.Transaction;switch(e){case 1:return o.AccessListEIP2930Transaction;case 2:return o.FeeMarketEIP1559Transaction;default:throw new Error("TypedTransaction with ID "+e+" unknown")}},e}();t.default=a},7325:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.N_DIV_2=t.isAccessList=t.isAccessListBuffer=t.Capability=void 0;var n,i=r(3062);function o(e){if(0===e.length)return!0;var t=e[0];return!!Array.isArray(t)}(n=t.Capability||(t.Capability={}))[n.EIP155ReplayProtection=155]="EIP155ReplayProtection",n[n.EIP1559FeeMarket=1559]="EIP1559FeeMarket",n[n.EIP2718TypedTransaction=2718]="EIP2718TypedTransaction",n[n.EIP2930AccessLists=2930]="EIP2930AccessLists",t.isAccessListBuffer=o,t.isAccessList=function(e){return!o(e)},t.N_DIV_2=new i.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16)},3789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccessLists=void 0;var n=r(3062),i=r(7325),o=function(){function e(){}return e.getAccessListData=function(e){var t,r;if(e&&(0,i.isAccessList)(e)){t=e;for(var o=[],a=0;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="abi/5.7.0"},4937:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.defaultAbiCoder=t.AbiCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=r(908),s=r(3694),u=r(4327),c=r(8067),f=r(7316),d=r(9146),l=r(4341),h=r(24),p=r(3861),b=r(28),y=r(4522),m=r(8287),v=r(8040),g=r(2010),w=r(800),A=new u.Logger(c.version),k=new RegExp(/^bytes([0-9]*)$/),_=new RegExp(/^(u?int)([0-9]*)$/),S=function(){function e(t){(0,i.default)(this,e),(0,s.defineReadOnly)(this,"coerceFunc",t||null)}return(0,o.default)(e,[{key:"_getCoder",value:function(e){var t=this;switch(e.baseType){case"address":return new d.AddressCoder(e.name);case"bool":return new h.BooleanCoder(e.name);case"string":return new v.StringCoder(e.name);case"bytes":return new p.BytesCoder(e.name);case"array":return new l.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new g.TupleCoder((e.components||[]).map((function(e){return t._getCoder(e)})),e.name);case"":return new y.NullCoder(e.name)}var r=e.type.match(_);if(r){var n=parseInt(r[2]||"256");return(0===n||n>256||n%8!=0)&&A.throwArgumentError("invalid "+r[1]+" bit length","param",e),new m.NumberCoder(n/8,"int"===r[1],e.name)}if(r=e.type.match(k)){var i=parseInt(r[1]);return(0===i||i>32)&&A.throwArgumentError("invalid bytes length","param",e),new b.FixedBytesCoder(i,e.name)}return A.throwArgumentError("invalid type","type",e.type)}},{key:"_getWordSize",value:function(){return 32}},{key:"_getReader",value:function(e,t){return new f.Reader(e,this._getWordSize(),this.coerceFunc,t)}},{key:"_getWriter",value:function(){return new f.Writer(this._getWordSize())}},{key:"getDefaultValue",value:function(e){var t=this,r=e.map((function(e){return t._getCoder(w.ParamType.from(e))}));return new g.TupleCoder(r,"_").defaultValue()}},{key:"encode",value:function(e,t){var r=this;e.length!==t.length&&A.throwError("types/values length mismatch",u.Logger.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var n=e.map((function(e){return r._getCoder(w.ParamType.from(e))})),i=new g.TupleCoder(n,"_"),o=this._getWriter();return i.encode(o,t),o.data}},{key:"decode",value:function(e,t,r){var n=this,i=e.map((function(e){return n._getCoder(w.ParamType.from(e))}));return new g.TupleCoder(i,"_").decode(this._getReader((0,a.arrayify)(t),r))}}]),e}();t.AbiCoder=S;var E=new S;t.defaultAbiCoder=E},7316:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.Writer=t.Reader=t.Coder=void 0,t.checkResultErrors=function(e){var t=[];return function e(r,n){if(Array.isArray(n))for(var i in n){var o=r.slice();o.push(i);try{e(o,n[i])}catch(e){t.push({path:o,error:e})}}}([],e),t};var i=n(r(9721)),o=n(r(8985)),a=r(908),s=r(4952),u=r(3694),c=r(4327),f=r(8067),d=new c.Logger(f.version),l=function(){function e(t,r,n,o){(0,i.default)(this,e),this.name=t,this.type=r,this.localName=n,this.dynamic=o}return(0,o.default)(e,[{key:"_throwError",value:function(e,t){d.throwArgumentError(e,this.localName,t)}}]),e}();t.Coder=l;var h=function(){function e(t){(0,i.default)(this,e),(0,u.defineReadOnly)(this,"wordSize",t||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(t)}return(0,o.default)(e,[{key:"data",get:function(){return(0,a.hexConcat)(this._data)}},{key:"length",get:function(){return this._dataLength}},{key:"_writeData",value:function(e){return this._data.push(e),this._dataLength+=e.length,e.length}},{key:"appendWriter",value:function(e){return this._writeData((0,a.concat)(e._data))}},{key:"writeBytes",value:function(e){var t=(0,a.arrayify)(e),r=t.length%this.wordSize;return r&&(t=(0,a.concat)([t,this._padding.slice(r)])),this._writeData(t)}},{key:"_getValue",value:function(e){var t=(0,a.arrayify)(s.BigNumber.from(e));return t.length>this.wordSize&&d.throwError("value out-of-bounds",c.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=(0,a.concat)([this._padding.slice(t.length%this.wordSize),t])),t}},{key:"writeValue",value:function(e){return this._writeData(this._getValue(e))}},{key:"writeUpdatableValue",value:function(){var e=this,t=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,function(r){e._data[t]=e._getValue(r)}}}]),e}();t.Writer=h;var p=function(){function e(t,r,n,o){(0,i.default)(this,e),(0,u.defineReadOnly)(this,"_data",(0,a.arrayify)(t)),(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)(e,[{key:"data",get:function(){return(0,a.hexlify)(this._data)}},{key:"consumed",get:function(){return this._offset}},{key:"coerce",value:function(t,r){return this._coerceFunc?this._coerceFunc(t,r):e.coerce(t,r)}},{key:"_peekBytes",value:function(e,t,r){var n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+t<=this._data.length?n=t:d.throwError("data out-of-bounds",c.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}},{key:"subReader",value:function(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc,this.allowLoose)}},{key:"readBytes",value:function(e,t){var r=this._peekBytes(0,e,!!t);return this._offset+=r.length,r.slice(0,e)}},{key:"readValue",value:function(){return s.BigNumber.from(this.readBytes(this.wordSize))}}],[{key:"coerce",value:function(e,t){var r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t}}]),e}();t.Reader=p},9146:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.AddressCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(7921),f=r(908);var d=function(e){(0,a.default)(d,e);var t,r,n=(t=d,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function d(e){return(0,i.default)(this,d),n.call(this,"address","address",e,!1)}return(0,o.default)(d,[{key:"defaultValue",value:function(){return"0x0000000000000000000000000000000000000000"}},{key:"encode",value:function(e,t){try{t=(0,c.getAddress)(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}},{key:"decode",value:function(e){return(0,c.getAddress)((0,f.hexZeroPad)(e.readValue().toHexString(),20))}}]),d}(r(7316).Coder);t.AddressCoder=d},8090:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949));var c=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e){var t;return(0,i.default)(this,c),(t=n.call(this,e.name,e.type,void 0,e.dynamic)).coder=e,t}return(0,o.default)(c,[{key:"defaultValue",value:function(){return this.coder.defaultValue()}},{key:"encode",value:function(e,t){return this.coder.encode(e,t)}},{key:"decode",value:function(e){return this.coder.decode(e)}}]),c}(r(7316).Coder);t.AnonymousCoder=c},4341:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayCoder=void 0,t.pack=b,t.unpack=y;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=n(r(3355)),f=r(4327),d=r(8067),l=r(7316),h=r(8090);var p=new f.Logger(d.version);function b(e,t,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"===(0,c.default)(r)){var i={};n=t.map((function(e){var t=e.localName;return t||p.throwError("cannot encode object for signature with missing names",f.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),i[t]&&p.throwError("cannot encode object for signature with duplicate names",f.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),i[t]=!0,r[t]}))}else p.throwArgumentError("invalid tuple value","tuple",r);t.length!==n.length&&p.throwArgumentError("types/value length mismatch","tuple",r);var o=new l.Writer(e.wordSize),a=new l.Writer(e.wordSize),s=[];return t.forEach((function(e,t){var r=n[t];if(e.dynamic){var i=a.length;e.encode(a,r);var u=o.writeUpdatableValue();s.push((function(e){u(e+i)}))}else e.encode(o,r)})),s.forEach((function(e){e(o.length)})),e.appendWriter(o)+e.appendWriter(a)}function y(e,t){var r=[],n=e.subReader(0);t.forEach((function(t){var i=null;if(t.dynamic){var o=e.readValue(),a=n.subReader(o.toNumber());try{i=t.decode(a)}catch(e){if(e.code===f.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if(e.code===f.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&r.push(i)}));var i=t.reduce((function(e,t){var r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});t.forEach((function(e,t){var n=e.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==r[n])){var o=r[t];o instanceof Error?Object.defineProperty(r,n,{enumerable:!0,get:function(){throw o}}):r[n]=o}}));for(var o=function(e){var t=r[e];t instanceof Error&&Object.defineProperty(r,e,{enumerable:!0,get:function(){throw t}})},a=0;a=0?t:"")+"]",s=-1===t||e.dynamic;return(o=n.call(this,"array",a,r,s)).coder=e,o.length=t,o}return(0,o.default)(c,[{key:"defaultValue",value:function(){for(var e=this.coder.defaultValue(),t=[],r=0;re._data.length&&p.throwError("insufficient data length",f.Logger.errors.BUFFER_OVERRUN,{length:e._data.length,count:t});for(var r=[],n=0;n{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949));var c=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e){return(0,i.default)(this,c),n.call(this,"bool","bool",e,!1)}return(0,o.default)(c,[{key:"defaultValue",value:function(){return!1}},{key:"encode",value:function(e,t){return e.writeValue(t?1:0)}},{key:"decode",value:function(e){return e.coerce(this.type,!e.readValue().isZero())}}]),c}(r(7316).Coder);t.BooleanCoder=c},3861:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.DynamicBytesCoder=t.BytesCoder=void 0;var i=n(r(119)),o=n(r(9721)),a=n(r(8985)),s=n(r(5163)),u=n(r(4650)),c=n(r(1949)),f=r(908);function d(e){var t=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(e){return!1}}();return function(){var r,n=(0,c.default)(e);if(t){var i=(0,c.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,u.default)(this,r)}}var l=function(e){(0,s.default)(r,e);var t=d(r);function r(e,n){return(0,o.default)(this,r),t.call(this,e,e,n,!0)}return(0,a.default)(r,[{key:"defaultValue",value:function(){return"0x"}},{key:"encode",value:function(e,t){return t=(0,f.arrayify)(t),e.writeValue(t.length)+e.writeBytes(t)}},{key:"decode",value:function(e){return e.readBytes(e.readValue().toNumber(),!0)}}]),r}(r(7316).Coder);t.DynamicBytesCoder=l;var h=function(e){(0,s.default)(r,e);var t=d(r);function r(e){return(0,o.default)(this,r),t.call(this,"bytes",e)}return(0,a.default)(r,[{key:"decode",value:function(e){return e.coerce(this.name,(0,f.hexlify)((0,i.default)((0,c.default)(r.prototype),"decode",this).call(this,e)))}}]),r}(l);t.BytesCoder=h},28:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.FixedBytesCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(908);var f=function(e){(0,a.default)(f,e);var t,r,n=(t=f,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function f(e,t){var r;(0,i.default)(this,f);var o="bytes"+String(e);return(r=n.call(this,o,o,t,!1)).size=e,r}return(0,o.default)(f,[{key:"defaultValue",value:function(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}},{key:"encode",value:function(e,t){var r=(0,c.arrayify)(t);return r.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(r)}},{key:"decode",value:function(e){return e.coerce(this.name,(0,c.hexlify)(e.readBytes(this.size)))}}]),f}(r(7316).Coder);t.FixedBytesCoder=f},4522:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.NullCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949));var c=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e){return(0,i.default)(this,c),n.call(this,"null","",e,!1)}return(0,o.default)(c,[{key:"defaultValue",value:function(){return null}},{key:"encode",value:function(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}},{key:"decode",value:function(e){return e.readBytes(0),e.coerce(this.name,null)}}]),c}(r(7316).Coder);t.NullCoder=c},8287:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.NumberCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(4952),f=r(5465);var d=function(e){(0,a.default)(d,e);var t,r,n=(t=d,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function d(e,t,r){var o;(0,i.default)(this,d);var a=(t?"int":"uint")+8*e;return(o=n.call(this,a,a,r,!1)).size=e,o.signed=t,o}return(0,o.default)(d,[{key:"defaultValue",value:function(){return 0}},{key:"encode",value:function(e,t){var r=c.BigNumber.from(t),n=f.MaxUint256.mask(8*e.wordSize);if(this.signed){var i=n.mask(8*this.size-1);(r.gt(i)||r.lt(i.add(f.One).mul(f.NegativeOne)))&&this._throwError("value out-of-bounds",t)}else(r.lt(f.Zero)||r.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(r)}},{key:"decode",value:function(e){var t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}}]),d}(r(7316).Coder);t.NumberCoder=d},8040:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.StringCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(119)),s=n(r(5163)),u=n(r(4650)),c=n(r(1949)),f=r(8627);var d=function(e){(0,s.default)(d,e);var t,r,n=(t=d,r=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(e){return!1}}(),function(){var e,n=(0,c.default)(t);if(r){var i=(0,c.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,u.default)(this,e)});function d(e){return(0,i.default)(this,d),n.call(this,"string",e)}return(0,o.default)(d,[{key:"defaultValue",value:function(){return""}},{key:"encode",value:function(e,t){return(0,a.default)((0,c.default)(d.prototype),"encode",this).call(this,e,(0,f.toUtf8Bytes)(t))}},{key:"decode",value:function(e){return(0,f.toUtf8String)((0,a.default)((0,c.default)(d.prototype),"decode",this).call(this,e))}}]),d}(r(3861).DynamicBytesCoder);t.StringCoder=d},2010:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.TupleCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(7316),f=r(4341);var d=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e,t){var r;(0,i.default)(this,c);var o=!1,a=[];e.forEach((function(e){e.dynamic&&(o=!0),a.push(e.type)}));var s="tuple("+a.join(",")+")";return(r=n.call(this,"tuple",s,t,o)).coders=e,r}return(0,o.default)(c,[{key:"defaultValue",value:function(){var e=[];this.coders.forEach((function(t){e.push(t.defaultValue())}));var t=this.coders.reduce((function(e,t){var r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});return this.coders.forEach((function(r,n){var i=r.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[n]))})),Object.freeze(e)}},{key:"encode",value:function(e,t){return(0,f.pack)(e,this.coders,t)}},{key:"decode",value:function(e){return e.coerce(this.name,(0,f.unpack)(e,this.coders))}}]),c}(c.Coder);t.TupleCoder=d},800:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.ParamType=t.FunctionFragment=t.Fragment=t.FormatTypes=t.EventFragment=t.ErrorFragment=t.ConstructorFragment=void 0;var i=n(r(5163)),o=n(r(4650)),a=n(r(1949)),s=n(r(9721)),u=n(r(8985)),c=r(4952),f=r(3694),d=r(4327),l=r(8067);function h(e){var t=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(e){return!1}}();return function(){var r,n=(0,a.default)(e);if(t){var i=(0,a.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,o.default)(this,r)}}var p=new d.Logger(l.version),b={},y={calldata:!0,memory:!0,storage:!0},m={calldata:!0,memory:!0};function v(e,t){if("bytes"===e||"string"===e){if(y[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&m[t])return!0;return(y[t]||"payable"===t)&&p.throwArgumentError("invalid modifier","name",t),!1}function g(e,t){for(var r in t)(0,f.defineReadOnly)(e,r,t[r])}var w=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});t.FormatTypes=w;var A=new RegExp(/^(.*)\[([0-9]*)\]$/),k=function(){function e(t,r){(0,s.default)(this,e),t!==b&&p.throwError("use fromString",d.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),g(this,r);var n=this.type.match(A);g(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:e.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)(e,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json){var t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((function(t){return JSON.parse(t.format(e))}))),JSON.stringify(t)}var r="";return"array"===this.baseType?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==w.sighash&&(r+=this.type),r+="("+this.components.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+")"):r+=this.type,e!==w.sighash&&(!0===this.indexed&&(r+=" indexed"),e===w.full&&this.name&&(r+=" "+this.name)),r}}],[{key:"from",value:function(t,r){return"string"==typeof t?e.fromString(t,r):e.fromObject(t)}},{key:"fromObject",value:function(t){return e.isParamType(t)?t:new e(b,{name:t.name||null,type:M(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(e.fromObject):null})}},{key:"fromString",value:function(t,r){return n=function(e,t){var r=e;function n(t){p.throwArgumentError("unexpected character at position ".concat(t),"param",e)}function i(e){var r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");for(var o={type:"",name:"",state:{allowType:!0}},a=o,s=0;s2&&p.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||p.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=c.BigNumber.from(r[1]),r[0]):e}function P(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((function(e){switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function O(e){var t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&p.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&p.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||p.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&p.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&p.throwArgumentError("unable to determine stateMutability","value",e),t}t.EventFragment=E;var B=function(e){(0,i.default)(r,e);var t=h(r);function r(){return(0,s.default)(this,r),t.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))}))});e===w.sighash&&p.throwError("cannot format a constructor for sighash",d.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var t="constructor("+this.inputs.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}}],[{key:"from",value:function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)}},{key:"fromObject",value:function(e){if(r.isConstructorFragment(e))return e;"constructor"!==e.type&&p.throwArgumentError("invalid constructor object","value",e);var t=O(e);t.constant&&p.throwArgumentError("constructor cannot be constant","value",e);var n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(k.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?c.BigNumber.from(e.gas):null};return new r(b,n)}},{key:"fromString",value:function(e){var t={type:"constructor"},n=(e=x(e,t)).match(j);return n&&"constructor"===n[1].trim()||p.throwArgumentError("invalid constructor string","value",e),t.inputs=_(n[2].trim(),!1),P(n[3].trim(),t),r.fromObject(t)}},{key:"isConstructorFragment",value:function(e){return e&&e._isFragment&&"constructor"===e.type}}]),r}(S);t.ConstructorFragment=B;var T=function(e){(0,i.default)(r,e);var t=h(r);function r(){return(0,s.default)(this,r),t.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))})),outputs:this.outputs.map((function(t){return JSON.parse(t.format(e))}))});var t="";return e!==w.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+") ",e!==w.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((function(t){return t.format(e)})).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}}],[{key:"from",value:function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)}},{key:"fromObject",value:function(e){if(r.isFunctionFragment(e))return e;"function"!==e.type&&p.throwArgumentError("invalid function object","value",e);var t=O(e),n={type:e.type,name:R(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(k.fromObject):[],outputs:e.outputs?e.outputs.map(k.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?c.BigNumber.from(e.gas):null};return new r(b,n)}},{key:"fromString",value:function(e){var t={type:"function"},n=(e=x(e,t)).split(" returns ");n.length>2&&p.throwArgumentError("invalid function string","value",e);var i=n[0].match(j);if(i||p.throwArgumentError("invalid function signature","value",e),t.name=i[1].trim(),t.name&&R(t.name),t.inputs=_(i[2],!1),P(i[3].trim(),t),n.length>1){var o=n[1].match(j);""==o[1].trim()&&""==o[3].trim()||p.throwArgumentError("unexpected tokens","value",e),t.outputs=_(o[2],!1)}else t.outputs=[];return r.fromObject(t)}},{key:"isFunctionFragment",value:function(e){return e&&e._isFragment&&"function"===e.type}}]),r}(B);function C(e){var t=e.format();return"Error(string)"!==t&&"Panic(uint256)"!==t||p.throwArgumentError("cannot specify user defined ".concat(t," error"),"fragment",e),e}t.FunctionFragment=T;var I=function(e){(0,i.default)(r,e);var t=h(r);function r(){return(0,s.default)(this,r),t.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))}))});var t="";return e!==w.sighash&&(t+="error "),(t+=this.name+"("+this.inputs.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+") ").trim()}}],[{key:"from",value:function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)}},{key:"fromObject",value:function(e){if(r.isErrorFragment(e))return e;"error"!==e.type&&p.throwArgumentError("invalid error object","value",e);var t={type:e.type,name:R(e.name),inputs:e.inputs?e.inputs.map(k.fromObject):[]};return C(new r(b,t))}},{key:"fromString",value:function(e){var t={type:"error"},n=e.match(j);return n||p.throwArgumentError("invalid error signature","value",e),t.name=n[1].trim(),t.name&&R(t.name),t.inputs=_(n[2],!1),C(r.fromObject(t))}},{key:"isErrorFragment",value:function(e){return e&&e._isFragment&&"error"===e.type}}]),r}(S);function M(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}t.ErrorFragment=I;var U=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function R(e){return e&&e.match(U)||p.throwArgumentError('invalid identifier "'.concat(e,'"'),"value",e),e}var j=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")},2914:(e,t,r)=>{"use strict";Object.defineProperty(t,"RQ",{enumerable:!0,get:function(){return i.AbiCoder}}),Object.defineProperty(t,"_R",{enumerable:!0,get:function(){return n.ParamType}});var n=r(800),i=r(4937);r(9044)},9044:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionDescription=t.LogDescription=t.Interface=t.Indexed=t.ErrorDescription=void 0,Object.defineProperty(t,"checkResultErrors",{enumerable:!0,get:function(){return y.checkResultErrors}});var i=n(r(8985)),o=n(r(9721)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(7921),f=r(4952),d=r(908),l=r(7515),h=r(4642),p=r(3694),b=r(4937),y=r(7316),m=r(800),v=r(4327),g=r(8067);function w(e){var t=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(e){return!1}}();return function(){var r,n=(0,u.default)(e);if(t){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 A=new v.Logger(g.version),k=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r)}(p.Description);t.LogDescription=k;var _=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r)}(p.Description);t.TransactionDescription=_;var S=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r)}(p.Description);t.ErrorDescription=S;var E=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r,null,[{key:"isIndexed",value:function(e){return!(!e||!e._isIndexed)}}]),r}(p.Description);t.Indexed=E;var x={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function P(e,t){var r=new Error("deferred error during ABI decoding triggered accessing ".concat(e));return r.error=t,r}var O=function(){function e(t){var r=this;(0,o.default)(this,e);var n=[];n="string"==typeof t?JSON.parse(t):t,(0,p.defineReadOnly)(this,"fragments",n.map((function(e){return m.Fragment.from(e)})).filter((function(e){return null!=e}))),(0,p.defineReadOnly)(this,"_abiCoder",(0,p.getStatic)(this instanceof e?this.constructor:void 0,"getAbiCoder")()),(0,p.defineReadOnly)(this,"functions",{}),(0,p.defineReadOnly)(this,"errors",{}),(0,p.defineReadOnly)(this,"events",{}),(0,p.defineReadOnly)(this,"structs",{}),this.fragments.forEach((function(e){var t=null;switch(e.type){case"constructor":return r.deploy?void A.warn("duplicate definition - constructor"):void(0,p.defineReadOnly)(r,"deploy",e);case"function":t=r.functions;break;case"event":t=r.events;break;case"error":t=r.errors;break;default:return}var n=e.format();t[n]?A.warn("duplicate definition - "+n):t[n]=e})),this.deploy||(0,p.defineReadOnly)(this,"deploy",m.ConstructorFragment.from({payable:!1,type:"constructor"})),(0,p.defineReadOnly)(this,"_isInterface",!0)}return(0,i.default)(e,[{key:"format",value:function(e){e||(e=m.FormatTypes.full),e===m.FormatTypes.sighash&&A.throwArgumentError("interface does not support formatting sighash","format",e);var t=this.fragments.map((function(t){return t.format(e)}));return e===m.FormatTypes.json?JSON.stringify(t.map((function(e){return JSON.parse(e)}))):t}},{key:"getFunction",value:function(e){if((0,d.isHexString)(e)){for(var t in this.functions)if(e===this.getSighash(t))return this.functions[t];A.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){var r=e.trim(),n=Object.keys(this.functions).filter((function(e){return e.split("(")[0]===r}));return 0===n.length?A.throwArgumentError("no matching function","name",r):n.length>1&&A.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[m.FunctionFragment.fromString(e).format()];return i||A.throwArgumentError("no matching function","signature",e),i}},{key:"getEvent",value:function(e){if((0,d.isHexString)(e)){var t=e.toLowerCase();for(var r in this.events)if(t===this.getEventTopic(r))return this.events[r];A.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){var n=e.trim(),i=Object.keys(this.events).filter((function(e){return e.split("(")[0]===n}));return 0===i.length?A.throwArgumentError("no matching event","name",n):i.length>1&&A.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var o=this.events[m.EventFragment.fromString(e).format()];return o||A.throwArgumentError("no matching event","signature",e),o}},{key:"getError",value:function(e){if((0,d.isHexString)(e)){var t=(0,p.getStatic)(this.constructor,"getSighash");for(var r in this.errors)if(e===t(this.errors[r]))return this.errors[r];A.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){var n=e.trim(),i=Object.keys(this.errors).filter((function(e){return e.split("(")[0]===n}));return 0===i.length?A.throwArgumentError("no matching error","name",n):i.length>1&&A.throwArgumentError("multiple matching errors","name",n),this.errors[i[0]]}var o=this.errors[m.FunctionFragment.fromString(e).format()];return o||A.throwArgumentError("no matching error","signature",e),o}},{key:"getSighash",value:function(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return(0,p.getStatic)(this.constructor,"getSighash")(e)}},{key:"getEventTopic",value:function(e){return"string"==typeof e&&(e=this.getEvent(e)),(0,p.getStatic)(this.constructor,"getEventTopic")(e)}},{key:"_decodeParams",value:function(e,t){return this._abiCoder.decode(e,t)}},{key:"_encodeParams",value:function(e,t){return this._abiCoder.encode(e,t)}},{key:"encodeDeploy",value:function(e){return this._encodeParams(this.deploy.inputs,e||[])}},{key:"decodeErrorResult",value:function(e,t){"string"==typeof e&&(e=this.getError(e));var r=(0,d.arrayify)(t);return(0,d.hexlify)(r.slice(0,4))!==this.getSighash(e)&&A.throwArgumentError("data signature does not match error ".concat(e.name,"."),"data",(0,d.hexlify)(r)),this._decodeParams(e.inputs,r.slice(4))}},{key:"encodeErrorResult",value:function(e,t){return"string"==typeof e&&(e=this.getError(e)),(0,d.hexlify)((0,d.concat)([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}},{key:"decodeFunctionData",value:function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=(0,d.arrayify)(t);return(0,d.hexlify)(r.slice(0,4))!==this.getSighash(e)&&A.throwArgumentError("data signature does not match function ".concat(e.name,"."),"data",(0,d.hexlify)(r)),this._decodeParams(e.inputs,r.slice(4))}},{key:"encodeFunctionData",value:function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),(0,d.hexlify)((0,d.concat)([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}},{key:"decodeFunctionResult",value:function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=(0,d.arrayify)(t),n=null,i="",o=null,a=null,s=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(f){}break;case 4:var u=(0,d.hexlify)(r.slice(0,4)),c=x[u];if(c)o=this._abiCoder.decode(c.inputs,r.slice(4)),a=c.name,s=c.signature,c.reason&&(n=o[0]),"Error"===a?i="; VM Exception while processing transaction: reverted with reason string ".concat(JSON.stringify(o[0])):"Panic"===a&&(i="; VM Exception while processing transaction: reverted with panic code ".concat(o[0]));else try{var f=this.getError(u);o=this._abiCoder.decode(f.inputs,r.slice(4)),a=f.name,s=f.format()}catch(f){}}return A.throwError("call revert exception"+i,v.Logger.errors.CALL_EXCEPTION,{method:e.format(),data:(0,d.hexlify)(t),errorArgs:o,errorName:a,errorSignature:s,reason:n})}},{key:"encodeFunctionResult",value:function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),(0,d.hexlify)(this._abiCoder.encode(e.outputs,t||[]))}},{key:"encodeFilterTopics",value:function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&A.throwError("too many arguments for "+e.format(),v.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});var n=[];e.anonymous||n.push(this.getEventTopic(e));var i=function(e,t){return"string"===e.type?(0,l.id)(t):"bytes"===e.type?(0,h.keccak256)((0,d.hexlify)(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=f.BigNumber.from(t).toHexString()),"address"===e.type&&r._abiCoder.encode(["address"],[t]),(0,d.hexZeroPad)((0,d.hexlify)(t),32))};for(t.forEach((function(t,r){var o=e.inputs[r];o.indexed?null==t?n.push(null):"array"===o.baseType||"tuple"===o.baseType?A.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):Array.isArray(t)?n.push(t.map((function(e){return i(o,e)}))):n.push(i(o,t)):null!=t&&A.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n}},{key:"encodeEventLog",value:function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e));var n=[],i=[],o=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&A.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((function(e,a){var s=t[a];if(e.indexed)if("string"===e.type)n.push((0,l.id)(s));else if("bytes"===e.type)n.push((0,h.keccak256)(s));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([e.type],[s]))}else i.push(e),o.push(s)})),{data:this._abiCoder.encode(i,o),topics:n}}},{key:"decodeEventLog",value:function(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){var n=this.getEventTopic(e);(0,d.isHexString)(r[0],32)&&r[0].toLowerCase()===n||A.throwError("fragment/topic mismatch",v.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],o=[],a=[];e.inputs.forEach((function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(i.push(m.ParamType.fromObject({type:"bytes32",name:e.name})),a.push(!0)):(i.push(e),a.push(!1)):(o.push(e),a.push(!1))}));var s=null!=r?this._abiCoder.decode(i,(0,d.concat)(r)):null,u=this._abiCoder.decode(o,t,!0),c=[],f=0,l=0;e.inputs.forEach((function(e,t){if(e.indexed)if(null==s)c[t]=new E({_isIndexed:!0,hash:null});else if(a[t])c[t]=new E({_isIndexed:!0,hash:s[l++]});else try{c[t]=s[l++]}catch(e){c[t]=e}else try{c[t]=u[f++]}catch(e){c[t]=e}if(e.name&&null==c[e.name]){var r=c[t];r instanceof Error?Object.defineProperty(c,e.name,{enumerable:!0,get:function(){throw P("property ".concat(JSON.stringify(e.name)),r)}}):c[e.name]=r}}));for(var h=function(e){var t=c[e];t instanceof Error&&Object.defineProperty(c,e,{enumerable:!0,get:function(){throw P("index ".concat(e),t)}})},p=0;p{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="address/5.7.0"},7921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAddress=m,t.getContractAddress=function(e){var t=null;try{t=m(e.from)}catch(t){c.throwArgumentError("missing from address","transaction",e)}var r=(0,n.stripZeros)((0,n.arrayify)(i.BigNumber.from(e.nonce).toHexString()));return m((0,n.hexDataSlice)((0,o.keccak256)((0,a.encode)([t,r])),12))},t.getCreate2Address=function(e,t,r){return 32!==(0,n.hexDataLength)(t)&&c.throwArgumentError("salt must be 32 bytes","salt",t),32!==(0,n.hexDataLength)(r)&&c.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),m((0,n.hexDataSlice)((0,o.keccak256)((0,n.concat)(["0xff",m(e),t,r])),12))},t.getIcapAddress=function(e){for(var t=(0,i._base16To36)(m(e).substring(2)).toUpperCase();t.length<30;)t="0"+t;return"XE"+y("XE00"+t)+t},t.isAddress=function(e){try{return m(e),!0}catch(e){}return!1};var n=r(908),i=r(4952),o=r(4642),a=r(5265),s=r(4327),u=r(8222),c=new s.Logger(u.version);function f(e){(0,n.isHexString)(e,20)||c.throwArgumentError("invalid address","address",e);for(var t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),i=0;i<40;i++)r[i]=t[i].charCodeAt(0);for(var a=(0,n.arrayify)((0,o.keccak256)(r)),s=0;s<40;s+=2)a[s>>1]>>4>=8&&(t[s]=t[s].toUpperCase()),(15&a[s>>1])>=8&&(t[s+1]=t[s+1].toUpperCase());return"0x"+t.join("")}for(var d={},l=0;l<10;l++)d[String(l)]=String(l);for(var h=0;h<26;h++)d[String.fromCharCode(65+h)]=String(10+h);var p,b=Math.floor((p=9007199254740991,Math.log10?Math.log10(p):Math.log(p)/Math.LN10));function y(e){for(var t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((function(e){return d[e]})).join("");t.length>=b;){var r=t.substring(0,b);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function m(e){var t=null;if("string"!=typeof e&&c.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=f(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&c.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==y(e)&&c.throwArgumentError("bad icap checksum","address",e),t=(0,i._base36To16)(e.substring(4));t.length<40;)t="0"+t;t=f("0x"+t)}else c.throwArgumentError("invalid address","address",e);return t}},5798:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){e=atob(e);for(var t=[],r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"decode",{enumerable:!0,get:function(){return n.decode}}),Object.defineProperty(t,"encode",{enumerable:!0,get:function(){return n.encode}});var n=r(5798)},3042:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="bignumber/5.7.0"},1872:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.BigNumber=void 0,t._base16To36=function(e){return new f(e,16).toString(36)},t._base36To16=function(e){return new f(e,36).toString(16)},t.isBigNumberish=function(e){return null!=e&&(b.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||(0,s.isHexString)(e)||"bigint"==typeof e||(0,s.isBytes)(e))};var i=n(r(9721)),o=n(r(8985)),a=n(r(1734)),s=r(908),u=r(4327),c=r(3042),f=a.default.BN,d=new u.Logger(c.version),l={},h=9007199254740991,p=!1,b=function(){function e(t,r){(0,i.default)(this,e),t!==l&&d.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)(e,[{key:"fromTwos",value:function(e){return m(v(this).fromTwos(e))}},{key:"toTwos",value:function(e){return m(v(this).toTwos(e))}},{key:"abs",value:function(){return"-"===this._hex[0]?e.from(this._hex.substring(1)):this}},{key:"add",value:function(e){return m(v(this).add(v(e)))}},{key:"sub",value:function(e){return m(v(this).sub(v(e)))}},{key:"div",value:function(t){return e.from(t).isZero()&&g("division-by-zero","div"),m(v(this).div(v(t)))}},{key:"mul",value:function(e){return m(v(this).mul(v(e)))}},{key:"mod",value:function(e){var t=v(e);return t.isNeg()&&g("division-by-zero","mod"),m(v(this).umod(t))}},{key:"pow",value:function(e){var t=v(e);return t.isNeg()&&g("negative-power","pow"),m(v(this).pow(t))}},{key:"and",value:function(e){var t=v(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","and"),m(v(this).and(t))}},{key:"or",value:function(e){var t=v(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","or"),m(v(this).or(t))}},{key:"xor",value:function(e){var t=v(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","xor"),m(v(this).xor(t))}},{key:"mask",value:function(e){return(this.isNegative()||e<0)&&g("negative-width","mask"),m(v(this).maskn(e))}},{key:"shl",value:function(e){return(this.isNegative()||e<0)&&g("negative-width","shl"),m(v(this).shln(e))}},{key:"shr",value:function(e){return(this.isNegative()||e<0)&&g("negative-width","shr"),m(v(this).shrn(e))}},{key:"eq",value:function(e){return v(this).eq(v(e))}},{key:"lt",value:function(e){return v(this).lt(v(e))}},{key:"lte",value:function(e){return v(this).lte(v(e))}},{key:"gt",value:function(e){return v(this).gt(v(e))}},{key:"gte",value:function(e){return v(this).gte(v(e))}},{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(e){g("overflow","toNumber",this.toString())}return null}},{key:"toBigInt",value:function(){try{return BigInt(this.toString())}catch(e){}return d.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]?p||(p=!0,d.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?d.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",u.Logger.errors.UNEXPECTED_ARGUMENT,{}):d.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(e){return{type:"BigNumber",hex:this.toHexString()}}}],[{key:"from",value:function(t){if(t instanceof e)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new e(l,y(t)):t.match(/^-?[0-9]+$/)?new e(l,y(new f(t))):d.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&g("underflow","BigNumber.from",t),(t>=h||t<=-h)&&g("overflow","BigNumber.from",t),e.from(String(t));var r=t;if("bigint"==typeof r)return e.from(r.toString());if((0,s.isBytes)(r))return e.from((0,s.hexlify)(r));if(r)if(r.toHexString){var n=r.toHexString();if("string"==typeof n)return e.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 e.from(i)}return d.throwArgumentError("invalid BigNumber value","value",t)}},{key:"isBigNumber",value:function(e){return!(!e||!e._isBigNumber)}}]),e}();function y(e){if("string"!=typeof e)return y(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&d.throwArgumentError("invalid hex","value",e),"0x00"===(e=y(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function m(e){return b.from(y(e))}function v(e){var t=b.from(e).toHexString();return"-"===t[0]?new f("-"+t.substring(3),16):new f(t.substring(2),16)}function g(e,t,r){var n={fault:e,operation:t};return null!=r&&(n.value=r),d.throwError(e,u.Logger.errors.NUMERIC_FAULT,n)}t.BigNumber=b},8390:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.FixedNumber=t.FixedFormat=void 0,t.formatFixed=v,t.parseFixed=g;var i=n(r(3355)),o=n(r(9721)),a=n(r(8985)),s=r(908),u=r(4327),c=r(3042),f=r(1872),d=new u.Logger(c.version),l={},h=f.BigNumber.from(0),p=f.BigNumber.from(-1);function b(e,t,r,n){var i={fault:t,operation:r};return void 0!==n&&(i.value=n),d.throwError(e,u.Logger.errors.NUMERIC_FAULT,i)}for(var y="0";y.length<256;)y+=y;function m(e){if("number"!=typeof e)try{e=f.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+y.substring(0,e):d.throwArgumentError("invalid decimal size","decimals",e)}function v(e,t){null==t&&(t=0);var r=m(t),n=(e=f.BigNumber.from(e)).lt(h);n&&(e=e.mul(p));for(var i=e.mod(r).toString();i.length2&&d.throwArgumentError("too many decimal points","value",e);var o=i[0],a=i[1];for(o||(o="0"),a||(a="0");"0"===a[a.length-1];)a=a.substring(0,a.length-1);for(a.length>r.length-1&&b("fractional component exceeds decimals","underflow","parseFixed"),""===a&&(a="0");a.length80&&d.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new e(l,r,n,o)}}]),e}();t.FixedFormat=w;var A=function(){function e(t,r,n,i){(0,o.default)(this,e),t!==l&&d.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)(e,[{key:"_checkFormat",value:function(e){this.format.name!==e.format.name&&d.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}},{key:"addUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.add(n),this.format.decimals,this.format)}},{key:"subUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.sub(n),this.format.decimals,this.format)}},{key:"mulUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}},{key:"divUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}},{key:"floor",value:function(){var t=this.toString().split(".");1===t.length&&t.push("0");var r=e.from(t[0],this.format),n=!t[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(k.toFormat(r.format))),r}},{key:"ceiling",value:function(){var t=this.toString().split(".");1===t.length&&t.push("0");var r=e.from(t[0],this.format),n=!t[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(k.toFormat(r.format))),r}},{key:"round",value:function(t){null==t&&(t=0);var r=this.toString().split(".");if(1===r.length&&r.push("0"),(t<0||t>80||t%1)&&d.throwArgumentError("invalid decimal count","decimals",t),r[1].length<=t)return this;var n=e.from("1"+y.substring(0,t),this.format),i=_.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(i).floor().divUnsafe(n)}},{key:"isZero",value:function(){return"0.0"===this._value||"0"===this._value}},{key:"isNegative",value:function(){return"-"===this._value[0]}},{key:"toString",value:function(){return this._value}},{key:"toHexString",value:function(e){if(null==e)return this._hex;e%8&&d.throwArgumentError("invalid byte width","width",e);var t=f.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return(0,s.hexZeroPad)(t,e/8)}},{key:"toUnsafeFloat",value:function(){return parseFloat(this.toString())}},{key:"toFormat",value:function(t){return e.fromString(this._value,t)}}],[{key:"fromValue",value:function(t,r,n){return null!=n||null==r||(0,f.isBigNumberish)(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),e.fromString(v(t,r),w.from(n))}},{key:"fromString",value:function(t,r){null==r&&(r="fixed");var n=w.from(r),i=g(t,n.decimals);!n.signed&&i.lt(h)&&b("unsigned value cannot be negative","overflow","value",t);var o=null;n.signed?o=i.toTwos(n.width).toHexString():(o=i.toHexString(),o=(0,s.hexZeroPad)(o,n.width/8));var a=v(i,n.decimals);return new e(l,o,a,n)}},{key:"fromBytes",value:function(t,r){null==r&&(r="fixed");var n=w.from(r);if((0,s.arrayify)(t).length>n.width/8)throw new Error("overflow");var i=f.BigNumber.from(t);n.signed&&(i=i.fromTwos(n.width));var o=i.toTwos((n.signed?0:1)+n.width).toHexString(),a=v(i,n.decimals);return new e(l,o,a,n)}},{key:"from",value:function(t,r){if("string"==typeof t)return e.fromString(t,r);if((0,s.isBytes)(t))return e.fromBytes(t,r);try{return e.fromValue(t,0,r)}catch(e){if(e.code!==u.Logger.errors.INVALID_ARGUMENT)throw e}return d.throwArgumentError("invalid FixedNumber value","value",t)}},{key:"isFixedNumber",value:function(e){return!(!e||!e._isFixedNumber)}}]),e}();t.FixedNumber=A;var k=A.from(1),_=A.from("0.5")},4952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BigNumber",{enumerable:!0,get:function(){return n.BigNumber}}),Object.defineProperty(t,"FixedFormat",{enumerable:!0,get:function(){return i.FixedFormat}}),Object.defineProperty(t,"FixedNumber",{enumerable:!0,get:function(){return i.FixedNumber}}),Object.defineProperty(t,"_base16To36",{enumerable:!0,get:function(){return n._base16To36}}),Object.defineProperty(t,"_base36To16",{enumerable:!0,get:function(){return n._base36To16}}),Object.defineProperty(t,"formatFixed",{enumerable:!0,get:function(){return i.formatFixed}}),Object.defineProperty(t,"parseFixed",{enumerable:!0,get:function(){return i.parseFixed}});var n=r(1872),i=r(8390)},8729:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="bytes/5.7.0"},908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayify=d,t.concat=l,t.hexConcat=function(e){var t="0x";return e.forEach((function(e){t+=y(e).substring(2)})),t},t.hexDataLength=function(e){if("string"!=typeof e)e=y(e);else if(!p(e)||e.length%2)return null;return(e.length-2)/2},t.hexDataSlice=function(e,t,r){return"string"!=typeof e?e=y(e):(!p(e)||e.length%2)&&o.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)},t.hexStripZeros=m,t.hexValue=function(e){var t=m(y(e,{hexPad:"left"}));return"0x"===t?"0x0":t},t.hexZeroPad=v,t.hexlify=y,t.isBytes=f,t.isBytesLike=u,t.isHexString=p,t.joinSignature=function(e){return y(l([(e=g(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))},t.splitSignature=g,t.stripZeros=function(e){var t=d(e);if(0===t.length)return t;for(var r=0;r=256)return!1}return!0}function d(e,t){if(t||(t={}),"number"==typeof e){o.checkSafeUint53(e,"invalid arrayify value");for(var r=[];e;)r.unshift(255&e),e=parseInt(String(e/256));return 0===r.length&&r.push(0),s(new Uint8Array(r))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),a(e)&&(e=e.toHexString()),p(e)){var n=e.substring(2);n.length%2&&("left"===t.hexPad?n="0"+n:"right"===t.hexPad?n+="0":o.throwArgumentError("hex data is odd-length","value",e));for(var i=[],u=0;ut&&o.throwArgumentError("value out of range","value",arguments[0]);var r=new Uint8Array(t);return r.set(e,t-e.length),s(r)}function p(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}var b="0123456789abcdef";function y(e,t){if(t||(t={}),"number"==typeof e){o.checkSafeUint53(e,"invalid hexlify value");for(var r="";e;)r=b[15&e]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),a(e))return e.toHexString();if(p(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":o.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(f(e)){for(var n="0x",i=0;i>4]+b[15&s]}return n}return o.throwArgumentError("invalid hexlify value","value",e)}function m(e){"string"!=typeof e&&(e=y(e)),p(e)||o.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var t=0;t2*t+2&&o.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function g(e){var t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(u(e)){var r=d(e);64===r.length?(t.v=27+(r[32]>>7),r[32]&=127,t.r=y(r.slice(0,32)),t.s=y(r.slice(32,64))):65===r.length?(t.r=y(r.slice(0,32)),t.s=y(r.slice(32,64)),t.v=r[64]):o.throwArgumentError("invalid signature string","signature",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:o.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=y(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){var n=h(d(t._vs),32);t._vs=y(n);var i=n[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=i:t.recoveryParam!==i&&o.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),n[0]&=127;var a=y(n);null==t.s?t.s=a:t.s!==a&&o.throwArgumentError("signature v mismatch _vs","signature",e)}if(null==t.recoveryParam)null==t.v?o.throwArgumentError("signature missing v and recoveryParam","signature",e):0===t.v||1===t.v?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(null==t.v)t.v=27+t.recoveryParam;else{var s=0===t.v||1===t.v?t.v:1-t.v%2;t.recoveryParam!==s&&o.throwArgumentError("signature recoveryParam mismatch v","signature",e)}null!=t.r&&p(t.r)?t.r=v(t.r,32):o.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&p(t.s)?t.s=v(t.s,32):o.throwArgumentError("signature missing or invalid s","signature",e);var c=d(t.s);c[0]>=128&&o.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(c[0]|=128);var f=y(c);t._vs&&(p(t._vs)||o.throwArgumentError("signature invalid _vs","signature",e),t._vs=v(t._vs,32)),null==t._vs?t._vs=f:t._vs!==f&&o.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}},8721:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddressZero=void 0,t.AddressZero="0x0000000000000000000000000000000000000000"},2997:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Zero=t.WeiPerEther=t.Two=t.One=t.NegativeOne=t.MinInt256=t.MaxUint256=t.MaxInt256=void 0;var n=r(4952),i=n.BigNumber.from(-1);t.NegativeOne=i;var o=n.BigNumber.from(0);t.Zero=o;var a=n.BigNumber.from(1);t.One=a;var s=n.BigNumber.from(2);t.Two=s;var u=n.BigNumber.from("1000000000000000000");t.WeiPerEther=u;var c=n.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t.MaxUint256=c;var f=n.BigNumber.from("-0x8000000000000000000000000000000000000000000000000000000000000000");t.MinInt256=f;var d=n.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t.MaxInt256=d},396:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HashZero=void 0,t.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000"},5465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AddressZero",{enumerable:!0,get:function(){return n.AddressZero}}),Object.defineProperty(t,"EtherSymbol",{enumerable:!0,get:function(){return a.EtherSymbol}}),Object.defineProperty(t,"HashZero",{enumerable:!0,get:function(){return o.HashZero}}),Object.defineProperty(t,"MaxInt256",{enumerable:!0,get:function(){return i.MaxInt256}}),Object.defineProperty(t,"MaxUint256",{enumerable:!0,get:function(){return i.MaxUint256}}),Object.defineProperty(t,"MinInt256",{enumerable:!0,get:function(){return i.MinInt256}}),Object.defineProperty(t,"NegativeOne",{enumerable:!0,get:function(){return i.NegativeOne}}),Object.defineProperty(t,"One",{enumerable:!0,get:function(){return i.One}}),Object.defineProperty(t,"Two",{enumerable:!0,get:function(){return i.Two}}),Object.defineProperty(t,"WeiPerEther",{enumerable:!0,get:function(){return i.WeiPerEther}}),Object.defineProperty(t,"Zero",{enumerable:!0,get:function(){return i.Zero}});var n=r(8721),i=r(2997),o=r(396),a=r(8347)},8347:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EtherSymbol=void 0,t.EtherSymbol="Ξ"},3989:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="hash/5.7.0"},3731:(e,t)=>{"use strict";function r(e,t){null==t&&(t=1);var r=[],n=r.forEach;return function e(t,i){n.call(t,(function(t){i>0&&Array.isArray(t)?e(t,i-1):r.push(t)}))}(e,t),r}function n(e){var t=0;function r(){return e[t++]<<8|e[t++]}for(var n=r(),i=1,o=[0,1],a=1;a>--c&1}for(var l=Math.pow(2,31),h=l>>>1,p=h>>1,b=l-1,y=0,m=0;m<31;m++)y=y<<1|d();for(var v=[],g=0,w=l;;){for(var A=Math.floor(((y-g+1)*i-1)/w),k=0,_=n;_-k>1;){var S=k+_>>>1;A>>1|d(),E=E<<1^h,x=(x^h)<<1|h|1;g=E,w=1+x-E}var P=n-4;return v.map((function(t){switch(t-P){case 3:return P+65792+(e[u++]<<16|e[u++]<<8|e[u++]);case 2:return P+256+(e[u++]<<8|e[u++]);case 1:return P+e[u++];default:return t-1}}))}function i(e){var t=0;return function(){return e[t++]}}function o(e){return 1&e?~e>>1:e>>1}function a(e,t){for(var r=Array(e),n=0,i=-1;n>=1),check:2==o}}()},t.read_mapped_map=function(e){for(var t=[];;){var n=e();if(0==n)break;t.push(d(n,e))}for(;;){var i=e()-1;if(i<0)break;t.push(l(i,e))}return function(e){for(var t={},r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=function(){return(0,i.read_compressed_payload)((0,n.decode)("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"))};var n=r(997),i=r(3731)},7032:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.ens_normalize=function(e){return y(function(e,t){for(var r=p(e).reverse(),n=[];r.length;){var o=m(r);if(o)n.push.apply(n,(0,i.default)(t(o)));else{var a=r.pop();if(f.has(a))n.push(a);else if(!d.has(a)){var s=l[a];if(!s)throw new Error("Disallowed codepoint: 0x".concat(a.toString(16).toUpperCase()));n.push.apply(n,(0,i.default)(s))}}}return y(String.fromCodePoint.apply(String,n).normalize("NFC"))}(e,b))},t.ens_normalize_post_check=y;var i=n(r(3106)),o=r(8627),a=r(3961),s=r(3731);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(e.split("."));try{for(r.s();!(t=r.n()).done;){var n=t.value,i=p(n);try{for(var o=i.lastIndexOf(95)-1;o>=0;o--)if(95!==i[o])throw new Error("underscore only allowed at start");if(i.length>=4&&i.every((function(e){return e<128}))&&45===i[2]&&45===i[3])throw new Error("invalid label extension")}catch(e){throw new Error('Invalid label "'.concat(n,'": ').concat(e.message))}}}catch(e){r.e(e)}finally{r.f()}return e}function m(e,t){var r,n,o,a=h,s=[],u=e.length;t&&(t.length=0);for(var c=function(){var c=e[--u];if(!(a=null===(r=a.branches.find((function(e){return e.set.has(c)})))||void 0===r?void 0:r.node))return"break";if(a.save)o=c;else if(a.check&&c===o)return"break";s.push(c),a.fe0f&&(s.push(65039),u>0&&65039==e[u-1]&&u--),a.valid&&(n=s.slice(),2==a.valid&&n.splice(1,1),t&&t.push.apply(t,(0,i.default)(e.slice(u).reverse())),e.length=u)};u&&"break"!==c(););return n}},7901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.id=function(e){return(0,n.keccak256)((0,i.toUtf8Bytes)(e))};var n=r(4642),i=r(8627)},7515:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"_TypedDataEncoder",{enumerable:!0,get:function(){return a.TypedDataEncoder}}),Object.defineProperty(t,"dnsEncode",{enumerable:!0,get:function(){return i.dnsEncode}}),Object.defineProperty(t,"ensNormalize",{enumerable:!0,get:function(){return i.ensNormalize}}),Object.defineProperty(t,"hashMessage",{enumerable:!0,get:function(){return o.hashMessage}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return n.id}}),Object.defineProperty(t,"isValidName",{enumerable:!0,get:function(){return i.isValidName}}),Object.defineProperty(t,"messagePrefix",{enumerable:!0,get:function(){return o.messagePrefix}}),Object.defineProperty(t,"namehash",{enumerable:!0,get:function(){return i.namehash}});var n=r(7901),i=r(4898),o=r(4443),a=r(2171)},4443:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hashMessage=function(e){return"string"==typeof e&&(e=(0,o.toUtf8Bytes)(e)),(0,i.keccak256)((0,n.concat)([(0,o.toUtf8Bytes)(a),(0,o.toUtf8Bytes)(String(e.length)),e]))},t.messagePrefix=void 0;var n=r(908),i=r(4642),o=r(8627),a="Ethereum Signed Message:\n";t.messagePrefix=a},4898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dnsEncode=function(e){return(0,n.hexlify)((0,n.concat)(l(e).map((function(e){if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");var t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t}))))+"00"},t.ensNormalize=function(e){return l(e).map((function(e){return(0,i.toUtf8String)(e)})).join(".")},t.isValidName=function(e){try{return 0!==l(e).length}catch(e){}return!1},t.namehash=function(e){"string"!=typeof e&&c.throwArgumentError("invalid ENS name; not a string","name",e);for(var t=f,r=l(e);r.length;)t=(0,o.keccak256)((0,n.concat)([t,(0,o.keccak256)(r.pop())]));return(0,n.hexlify)(t)};var n=r(908),i=r(8627),o=r(4642),a=r(4327),s=r(3989),u=r(7032),c=new a.Logger(s.version),f=new Uint8Array(32);function d(e){if(0===e.length)throw new Error("invalid ENS name; empty component");return e}function l(e){var t=(0,i.toUtf8Bytes)((0,u.ens_normalize)(e)),r=[];if(0===e.length)return r;for(var n=0,o=0;o=t.length)throw new Error("invalid ENS name; empty component");return r.push(d(t.slice(n))),r}f.fill(0)},2171:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.TypedDataEncoder=void 0;var i=n(r(2247)),o=n(r(9721)),a=n(r(8985)),s=r(7921),u=r(4952),c=r(908),f=r(4642),d=r(3694),l=r(4327),h=r(3989),p=r(7901),b=new l.Logger(h.version),y=new Uint8Array(32);y.fill(0);var m=u.BigNumber.from(-1),v=u.BigNumber.from(0),g=u.BigNumber.from(1),w=u.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),A=(0,c.hexZeroPad)(g.toHexString(),32),k=(0,c.hexZeroPad)(v.toHexString(),32),_={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},S=["name","version","chainId","verifyingContract","salt"];function E(e){return function(t){return"string"!=typeof t&&b.throwArgumentError("invalid domain value for ".concat(JSON.stringify(e)),"domain.".concat(e),t),t}}var x={name:E("name"),version:E("version"),chainId:function(e){try{return u.BigNumber.from(e).toString()}catch(e){}return b.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return(0,s.getAddress)(e).toLowerCase()}catch(e){}return b.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{var t=(0,c.arrayify)(e);if(32!==t.length)throw new Error("bad length");return(0,c.hexlify)(t)}catch(e){}return b.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function P(e){var t=e.match(/^(u?)int(\d*)$/);if(t){var r=""===t[1],n=parseInt(t[2]||"256");(n%8!=0||n>256||t[2]&&t[2]!==String(n))&&b.throwArgumentError("invalid numeric width","type",e);var i=w.mask(r?n-1:n),o=r?i.add(g).mul(m):v;return function(t){var r=u.BigNumber.from(t);return(r.lt(o)||r.gt(i))&&b.throwArgumentError("value out-of-bounds for ".concat(e),"value",t),(0,c.hexZeroPad)(r.toTwos(256).toHexString(),32)}}var a=e.match(/^bytes(\d+)$/);if(a){var d=parseInt(a[1]);return(0===d||d>32||a[1]!==String(d))&&b.throwArgumentError("invalid bytes width","type",e),function(t){return(0,c.arrayify)(t).length!==d&&b.throwArgumentError("invalid length for ".concat(e),"value",t),function(e){var t=(0,c.arrayify)(e),r=t.length%32;return r?(0,c.hexConcat)([t,y.slice(r)]):(0,c.hexlify)(t)}(t)}}switch(e){case"address":return function(e){return(0,c.hexZeroPad)((0,s.getAddress)(e),32)};case"bool":return function(e){return e?A:k};case"bytes":return function(e){return(0,f.keccak256)(e)};case"string":return function(e){return(0,p.id)(e)}}return null}function O(e,t){return"".concat(e,"(").concat(t.map((function(e){var t=e.name;return e.type+" "+t})).join(","),")")}var B=function(){function e(t){(0,o.default)(this,e),(0,d.defineReadOnly)(this,"types",Object.freeze((0,d.deepCopy)(t))),(0,d.defineReadOnly)(this,"_encoderCache",{}),(0,d.defineReadOnly)(this,"_types",{});var r={},n={},i={};Object.keys(t).forEach((function(e){r[e]={},n[e]=[],i[e]={}}));var a=function(e){var i={};t[e].forEach((function(o){i[o.name]&&b.throwArgumentError("duplicate variable name ".concat(JSON.stringify(o.name)," in ").concat(JSON.stringify(e)),"types",t),i[o.name]=!0;var a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===e&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(a)),"types",t),P(a)||(n[a]||b.throwArgumentError("unknown type ".concat(JSON.stringify(a)),"types",t),n[a].push(e),r[e][a]=!0)}))};for(var s in t)a(s);var u=Object.keys(n).filter((function(e){return 0===n[e].length}));for(var c in 0===u.length?b.throwArgumentError("missing primary type","types",t):u.length>1&&b.throwArgumentError("ambiguous primary types or unused types: ".concat(u.map((function(e){return JSON.stringify(e)})).join(", ")),"types",t),(0,d.defineReadOnly)(this,"primaryType",u[0]),function e(o,a){a[o]&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(o)),"types",t),a[o]=!0,Object.keys(r[o]).forEach((function(t){n[t]&&(e(t,a),Object.keys(a).forEach((function(e){i[e][t]=!0})))})),delete a[o]}(this.primaryType,{}),i){var f=Object.keys(i[c]);f.sort(),this._types[c]=O(c,t[c])+f.map((function(e){return O(e,t[e])})).join("")}}return(0,a.default)(e,[{key:"getEncoder",value:function(e){var t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}},{key:"_getEncoder",value:function(e){var t=this,r=P(e);if(r)return r;var n=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){var i=n[1],o=this.getEncoder(i),a=parseInt(n[3]);return function(e){a>=0&&e.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);var r=e.map(o);return t._types[i]&&(r=r.map(f.keccak256)),(0,f.keccak256)((0,c.hexConcat)(r))}}var s=this.types[e];if(s){var u=(0,p.id)(this._types[e]);return function(e){var r=s.map((function(r){var n=r.name,i=r.type,o=t.getEncoder(i)(e[n]);return t._types[i]?(0,f.keccak256)(o):o}));return r.unshift(u),(0,c.hexConcat)(r)}}return b.throwArgumentError("unknown type: ".concat(e),"type",e)}},{key:"encodeType",value:function(e){var t=this._types[e];return t||b.throwArgumentError("unknown type: ".concat(JSON.stringify(e)),"name",e),t}},{key:"encodeData",value:function(e,t){return this.getEncoder(e)(t)}},{key:"hashStruct",value:function(e,t){return(0,f.keccak256)(this.encodeData(e,t))}},{key:"encode",value:function(e){return this.encodeData(this.primaryType,e)}},{key:"hash",value:function(e){return this.hashStruct(this.primaryType,e)}},{key:"_visit",value:function(e,t,r){var n=this;if(P(e))return r(e,t);var i=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){var o=i[1],a=parseInt(i[3]);return a>=0&&t.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map((function(e){return n._visit(o,e,r)}))}var s=this.types[e];return s?s.reduce((function(e,i){var o=i.name,a=i.type;return e[o]=n._visit(a,t[o],r),e}),{}):b.throwArgumentError("unknown type: ".concat(e),"type",e)}},{key:"visit",value:function(e,t){return this._visit(this.primaryType,e,t)}}],[{key:"from",value:function(t){return new e(t)}},{key:"getPrimaryType",value:function(t){return e.from(t).primaryType}},{key:"hashStruct",value:function(t,r,n){return e.from(r).hashStruct(t,n)}},{key:"hashDomain",value:function(t){var r=[];for(var n in t){var i=_[n];i||b.throwArgumentError("invalid typed-data domain key: ".concat(JSON.stringify(n)),"domain",t),r.push({name:n,type:i})}return r.sort((function(e,t){return S.indexOf(e.name)-S.indexOf(t.name)})),e.hashStruct("EIP712Domain",{EIP712Domain:r},t)}},{key:"encode",value:function(t,r,n){return(0,c.hexConcat)(["0x1901",e.hashDomain(t),e.from(r).hash(n)])}},{key:"hash",value:function(t,r,n){return(0,f.keccak256)(e.encode(t,r,n))}},{key:"resolveNames",value:function(t,r,n,o){return a=this,s=void 0,u=void 0,f=i.default.mark((function a(){var s,u,f;return i.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:t=(0,d.shallowCopy)(t),s={},t.verifyingContract&&!(0,c.isHexString)(t.verifyingContract,20)&&(s[t.verifyingContract]="0x"),(u=e.from(r)).visit(n,(function(e,t){return"address"!==e||(0,c.isHexString)(t,20)||(s[t]="0x"),t})),a.t0=i.default.keys(s);case 6:if((a.t1=a.t0()).done){a.next=13;break}return f=a.t1.value,a.next=10,o(f);case 10:s[f]=a.sent,a.next=6;break;case 13:return t.verifyingContract&&s[t.verifyingContract]&&(t.verifyingContract=s[t.verifyingContract]),n=u.visit(n,(function(e,t){return"address"===e&&s[t]?s[t]:t})),a.abrupt("return",{domain:t,value:n});case 16:case"end":return a.stop()}}),a)})),new(u||(u=Promise))((function(e,t){function r(e){try{i(f.next(e))}catch(e){t(e)}}function n(e){try{i(f.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):(i=t.value,i instanceof u?i:new u((function(e){e(i)}))).then(r,n)}i((f=f.apply(a,s||[])).next())}));var a,s,u,f}},{key:"getPayload",value:function(t,r,n){e.hashDomain(t);var i={},o=[];S.forEach((function(e){var r=t[e];null!=r&&(i[e]=x[e](r),o.push({name:e,type:_[e]}))}));var a=e.from(r),s=(0,d.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(e,t){if(e.match(/^bytes(\d*)/))return(0,c.hexlify)((0,c.arrayify)(t));if(e.match(/^u?int/))return u.BigNumber.from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&b.throwArgumentError("invalid string","value",t),t}return b.throwArgumentError("unsupported type","type",e)}))}}}]),e}();t.TypedDataEncoder=B},4642:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.keccak256=function(e){return"0x"+i.default.keccak_256((0,o.arrayify)(e))};var i=n(r(5975)),o=r(908)},5975:(e,t,r)=>{"use strict";e=r.nmd(e);var n,i=r(9142),o=r(8847)(r(3355));!function(){var a="input is invalid type",s="object"===("undefined"==typeof window?"undefined":(0,o.default)(window)),u=s?window:{};u.JS_SHA3_NO_WINDOW&&(s=!1);var c=!s&&"object"===("undefined"==typeof self?"undefined":(0,o.default)(self));!u.JS_SHA3_NO_NODE_JS&&"object"===(void 0===i?"undefined":(0,o.default)(i))&&i.versions&&i.versions.node?u=r.g:c&&(u=self);var f=!u.JS_SHA3_NO_COMMON_JS&&"object"===(0,o.default)(e)&&e.exports,d=r.amdO,l=!u.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[4,1024,262144,67108864],b=[0,8,16,24],y=[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],m=[224,256,384,512],v=[128,256],g=["hex","buffer","arrayBuffer","array","digest"],w={128:168,256:136};!u.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!l||!u.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===(0,o.default)(e)&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var A=function(e,t,r){return function(n){return new j(e,t,e).update(n)[r]()}},k=function(e,t,r){return function(n,i){return new j(e,t,i).update(n)[r]()}},_=function(e,t,r){return function(t,n,i,o){return O["cshake"+e].update(t,n,i,o)[r]()}},S=function(e,t,r){return function(t,n,i,o){return O["kmac"+e].update(t,n,i,o)[r]()}},E=function(e,t,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 N(e,t,r){j.call(this,e,t,r)}j.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}for(var n,i,s=this.blocks,u=this.byteCount,c=e.length,f=this.blockCount,d=0,h=this.s;d>2]|=e[d]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(s[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=s[f],n=0;n>=8);r>0;)i.unshift(r),r=255&(e>>=8),++n;return t?i.push(n):i.unshift(n),this.update(i),i.length},j.prototype.encodeString=function(e){var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}var n=0,i=e.length;if(t)n=i;else for(var s=0;s=57344?n+=3:(u=65536+((1023&u)<<10|1023&e.charCodeAt(++s)),n+=4)}return n+=this.encode(8*n),this.update(e),n},j.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+h[15&e]+h[e>>12&15]+h[e>>8&15]+h[e>>20&15]+h[e>>16&15]+h[e>>28&15]+h[e>>24&15];a%t==0&&(F(r),o=0)}return i&&(e=r[o],s+=h[e>>4&15]+h[15&e],i>1&&(s+=h[e>>12&15]+h[e>>8&15]),i>2&&(s+=h[e>>20&15]+h[e>>16&15])),s},j.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&F(n)}return o&&(e=s<<2,t=n[a],u[e]=255&t,o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u},N.prototype=new j,N.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var F=function(e){var t,r,n,i,o,a,s,u,c,f,d,l,h,p,b,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(l=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),r=(h=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(u<<1|c>>>31),r=o^(c<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(f<<1|d>>>31),r=s^(d<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(l<<1|h>>>31),r=c^(h<<1|l>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=d^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],b=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=p^~m&g,e[1]=b^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&p,e[7]=k^~S&b,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~p&m,e[9]=S^~b&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=y[n],e[1]^=y[n+1]};if(f)e.exports=O;else{for(T=0;T{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="logger/5.7.0"},4327:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LogLevel=t.ErrorCode=void 0;var i,o,a=n(r(9721)),s=n(r(8985)),u=r(7252),c=!1,f=!1,d={debug:1,default:2,info:2,warning:3,error:4,off:5},l=d.default,h=null,p=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(t){try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();t.LogLevel=i,function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(i||(t.LogLevel=i={})),t.ErrorCode=o,function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(o||(t.ErrorCode=o={}));var b="0123456789abcdef",y=function(){function e(t){(0,a.default)(this,e),Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}return(0,s.default)(e,[{key:"_log",value:function(e,t){var r=e.toLowerCase();null==d[r]&&this.throwArgumentError("invalid log level name","logLevel",e),l>d[r]||console.log.apply(console,t)}},{key:"debug",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n>4],r+=b[15&t[o]];i.push(e+"=Uint8Array(0x"+r+")")}else i.push(e+"="+JSON.stringify(t))}catch(t){i.push(e+"="+JSON.stringify(n[e].toString()))}})),i.push("code=".concat(r)),i.push("version=".concat(this.version));var a=t,s="";switch(r){case o.NUMERIC_FAULT:s="NUMERIC_FAULT";var u=t;switch(u){case"overflow":case"underflow":case"division-by-zero":s+="-"+u;break;case"negative-power":case"negative-width":s+="-unsupported";break;case"unbound-bitwise-result":s+="-unbound-result"}break;case o.CALL_EXCEPTION:case o.INSUFFICIENT_FUNDS:case o.MISSING_NEW:case o.NONCE_EXPIRED:case o.REPLACEMENT_UNDERPRICED:case o.TRANSACTION_REPLACED:case o.UNPREDICTABLE_GAS_LIMIT:s=r}s&&(t+=" [ See: https://links.ethers.org/v5-errors-"+s+" ]"),i.length&&(t+=" ("+i.join(", ")+")");var c=new Error(t);return c.reason=a,c.code=r,Object.keys(n).forEach((function(e){c[e]=n[e]})),c}},{key:"throwError",value:function(e,t,r){throw this.makeError(e,t,r)}},{key:"throwArgumentError",value:function(t,r,n){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:r,value:n})}},{key:"assert",value:function(e,t,r,n){e||this.throwError(t,r,n)}},{key:"assertArgument",value:function(e,t,r,n){e||this.throwArgumentError(t,r,n)}},{key:"checkNormalize",value:function(t){null==t&&(t="platform missing String.prototype.normalize"),p&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:p})}},{key:"checkSafeUint53",value:function(t,r){"number"==typeof t&&(null==r&&(r="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}},{key:"checkArgumentCount",value:function(t,r,n){n=n?": "+n:"",tr&&this.throwError("too many arguments"+n,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})}},{key:"checkNew",value:function(t,r){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})}},{key:"checkAbstract",value:function(t,r){t===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})}}],[{key:"globalLogger",value:function(){return h||(h=new e(u.version)),h}},{key:"setCensorship",value:function(t,r){if(!t&&r&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),c){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}f=!!t,c=!!r}},{key:"setLogLevel",value:function(t){var r=d[t.toLowerCase()];null!=r?l=r:e.globalLogger().warn("invalid log level - "+t)}},{key:"from",value:function(t){return new e(t)}}]),e}();t.Logger=y,y.errors=o,y.levels=i},4071:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="properties/5.7.0"},3694:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.Description=void 0,t.checkProperties=function(e,t){e&&"object"===(0,s.default)(e)||d.throwArgumentError("invalid object","object",e),Object.keys(e).forEach((function(r){t[r]||d.throwArgumentError("invalid object key - "+r,"transaction:"+r,e)}))},t.deepCopy=y,t.defineReadOnly=l,t.getStatic=function(e,t){for(var r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||"object"!==(0,s.default)(e.prototype))break;e=Object.getPrototypeOf(e.prototype).constructor}return null},t.resolveProperties=function(e){return f(this,void 0,void 0,i.default.mark((function t(){var r,n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Object.keys(e).map((function(t){var r=e[t];return Promise.resolve(r).then((function(e){return{key:t,value:e}}))})),t.next=3,Promise.all(r);case 3:return n=t.sent,t.abrupt("return",n.reduce((function(e,t){return e[t.key]=t.value,e}),{}));case 5:case"end":return t.stop()}}),t)})))},t.shallowCopy=function(e){var t={};for(var r in e)t[r]=e[r];return t};var i=n(r(2247)),o=n(r(8985)),a=n(r(9721)),s=n(r(3355)),u=r(4327),c=r(4071),f=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},d=new u.Logger(c.version);function l(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}var h={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function p(e){if(null==e||h[(0,s.default)(e)])return!0;if(Array.isArray(e)||"object"===(0,s.default)(e)){if(!Object.isFrozen(e))return!1;for(var t=Object.keys(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="rlp/5.7.0"},5265:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){var t=(0,n.arrayify)(e),r=d(t,0);return r.consumed!==t.length&&a.throwArgumentError("invalid rlp data","data",e),r.result},t.encode=function(e){return(0,n.hexlify)(c(e))};var n=r(908),i=r(4327),o=r(1466),a=new i.Logger(o.version);function s(e){for(var t=[];e;)t.unshift(255&e),e>>=8;return t}function u(e,t,r){for(var n=0,i=0;it+1+n&&a.throwError("child data too short",i.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:o}}function d(e,t){if(0===e.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),e[t]>=248){var r=e[t]-247;t+1+r>e.length&&a.throwError("data short segment too short",i.Logger.errors.BUFFER_OVERRUN,{});var o=u(e,t+1,r);return t+1+r+o>e.length&&a.throwError("data long segment too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(e,t,t+1+r,r+o)}if(e[t]>=192){var s=e[t]-192;return t+1+s>e.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(e,t,t+1,s)}if(e[t]>=184){var c=e[t]-183;t+1+c>e.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{});var d=u(e,t+1,c);return t+1+c+d>e.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+c+d,result:(0,n.hexlify)(e.slice(t+1+c,t+1+c+d))}}if(e[t]>=128){var l=e[t]-128;return t+1+l>e.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+l,result:(0,n.hexlify)(e.slice(t+1,t+1+l))}}return{consumed:1,result:(0,n.hexlify)(e[t])}}},8100:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="signing-key/5.7.0"},6918:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.EC=void 0;var i=n(r(3355)),o=n(r(1734)),a=n(r(7198));function s(e,t,r){return r={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&r.path)}},e(r,r.exports),r.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self&&self;var u=c;function c(e,t){if(!e)throw new Error(t||"Assertion failed")}c.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)};var f=s((function(e,t){var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}})),d=s((function(e,t){var r=t;r.assert=u,r.toArray=f.toArray,r.zero2=f.zero2,r.toHex=f.toHex,r.encode=f.encode,r.getNAF=function(e,t,r){var n=new Array(Math.max(e.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(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,u=e.andln(3)+i&3,c=t.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!=(n=e.andln(7)+i&7)&&5!==n||2!==c?u:-u,r[0].push(a),s=0==(1&c)?0:3!=(n=t.andln(7)+o&7)&&5!==n||2!==u?c:-c,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new o.default(e,"hex","le")}})),l=d.getNAF,h=d.getJSF,p=d.assert;function b(e,t){this.type=e,this.p=new o.default(t.p,16),this.red=t.prime?o.default.red(t.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=t.n&&new o.default(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.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 y=b;function m(e,t){this.curve=e,this.type=t,this.precomputed=null}b.prototype.point=function(){throw new Error("Not implemented")},b.prototype.validate=function(){throw new Error("Not implemented")},b.prototype._fixedNafMul=function(e,t){p(e.precomputed);var r=e._getDoubles(),n=l(t,1,this._bitLength),i=(1<=o;u--)a=(a<<1)+n[u];s.push(a)}for(var c=this.jpoint(null,null,null),f=this.jpoint(null,null,null),d=i;d>0;d--){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 c=o[s];p(0!==c),a="affine"===e.type?c>0?a.mixedAdd(i[c-1>>1]):a.mixedAdd(i[-c-1>>1].neg()):c>0?a.add(i[c-1>>1]):a.add(i[-c-1>>1].neg())}return"affine"===e.type?a.toP():a},b.prototype._wnafMulAdd=function(e,t,r,n,i){var o,a,s,u=this._wnafT1,c=this._wnafT2,f=this._wnafT3,d=0;for(o=0;o=1;o-=2){var b=o-1,y=o;if(1===u[b]&&1===u[y]){var m=[t[b],null,null,t[y]];0===t[b].y.cmp(t[y].y)?(m[1]=t[b].add(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg())):0===t[b].y.cmp(t[y].y.redNeg())?(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].add(t[y].neg())):(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=h(r[b],r[y]);for(d=Math.max(g[0].length,d),f[b]=new Array(d),f[y]=new Array(d),a=0;a=0;o--){for(var S=0;o>=0;){var E=!0;for(a=0;a=0&&S++,k=k.dblp(S),o<0)break;for(a=0;a0?s=c[a][x-1>>1]:x<0&&(s=c[a][-x-1>>1].neg()),k="affine"===s.type?k.mixedAdd(s):k.add(s))}}for(o=0;o=Math.ceil((e.bitLength()+1)/t.step)},m.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(a=t,s=r),n.negative&&(n=n.neg(),i=i.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:i},{a,b:s}]},w.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},w.prototype.pointFromX=function(e,t){(e=new o.default(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.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(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},w.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},w.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},k.prototype.isInfinity=function(){return this.inf},k.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},k.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).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(e){return e=new o.default(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},k.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},k.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},k.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},k.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.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 t},k.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},v(_,y.BasePoint),w.prototype.jpoint=function(e,t,r){return new _(this,e,t,r)},_.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},_.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},_.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.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 c=s.redSqr(),f=c.redMul(s),d=n.redMul(c),l=u.redSqr().redIAdd(f).redISub(d).redISub(d),h=u.redMul(d.redISub(l)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(l,h,p)},_.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).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(),c=u.redMul(a),f=r.redMul(u),d=s.redSqr().redIAdd(c).redISub(f).redISub(f),l=s.redMul(f.redISub(d)).redISub(i.redMul(c)),h=this.z.redMul(a);return this.curve.jpoint(d,l,h)},_.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},_.prototype.inspect=function(){return this.isInfinity()?"":""},_.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var S=s((function(e,t){var r=t;r.base=y,r.short=A,r.mont=null,r.edwards=null})),E=s((function(e,t){var r,n=t,i=d.assert;function o(e){"short"===e.type?this.curve=new S.short(e):"edwards"===e.type?this.curve=new S.edwards(e):this.curve=new S.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new o(t);return Object.defineProperty(n,e,{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(e){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(e){if(!(this instanceof x))return new x(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=f.toArray(e.entropy,e.entropyEnc||"hex"),r=f.toArray(e.nonce,e.nonceEnc||"hex"),n=f.toArray(e.pers,e.persEnc||"hex");u(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var P=x;x.prototype._init=function(e,t,r){var n=e.concat(t).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(e.concat(r||[])),this._reseed=1},x.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=f.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var C=d.assert;function I(e,t){if(e instanceof I)return e;this._importDER(e,t)||(C(e.r&&e.s,"Signature without r or s"),this.r=new o.default(e.r,16),this.s=new o.default(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var M=I;function U(){this.place=0}function R(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=t.place;o>>=0;return!(i<=127)&&(t.place=a,i)}function j(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}I.prototype._importDER=function(e,t){e=d.toArray(e,t);var r=new U;if(48!==e[r.place++])return!1;var n=R(e,r);if(!1===n)return!1;if(n+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var i=R(e,r);if(!1===i)return!1;var a=e.slice(r.place,i+r.place);if(r.place+=i,2!==e[r.place++])return!1;var s=R(e,r);if(!1===s)return!1;if(e.length!==s+r.place)return!1;var u=e.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},I.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=j(t),r=j(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];N(n,t.length),(n=n.concat(t)).push(2),N(n,r.length);var i=n.concat(r),o=[48];return N(o,i.length),o=o.concat(i),d.encode(o,e)};var F=function(){throw new Error("unsupported")},L=d.assert;function D(e){if(!(this instanceof D))return new D(e);"string"==typeof e&&(L(Object.prototype.hasOwnProperty.call(E,e),"Unknown curve "+e),e=E[e]),e instanceof E.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var H=D;D.prototype.keyPair=function(e){return new T(this,e)},D.prototype.keyFromPrivate=function(e,t){return T.fromPrivate(this,e,t)},D.prototype.keyFromPublic=function(e,t){return T.fromPublic(this,e,t)},D.prototype.genKeyPair=function(e){e||(e={});for(var t=new P({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||F(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new o.default(2));;){var i=new o.default(t.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},D.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},D.prototype.sign=function(e,t,r,n){"object"===(0,i.default)(r)&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new o.default(e,16));for(var a=this.n.byteLength(),s=t.getPrivate().toArray("be",a),u=e.toArray("be",a),c=new P({hash:this.hash,entropy:s,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),f=this.n.sub(new o.default(1)),d=0;;d++){var l=n.k?n.k(d):new o.default(c.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(f)>=0)){var h=this.g.mul(l);if(!h.isInfinity()){var p=h.getX(),b=p.umod(this.n);if(0!==b.cmpn(0)){var y=l.invm(this.n).mul(b.mul(t.getPrivate()).iadd(e));if(0!==(y=y.umod(this.n)).cmpn(0)){var m=(h.getY().isOdd()?1:0)|(0!==p.cmp(b)?2:0);return n.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),m^=1),new M({r:b,s:y,recoveryParam:m})}}}}}},D.prototype.verify=function(e,t,r,n){e=this._truncateToN(new o.default(e,16)),r=this.keyFromPublic(r,n);var i=(t=new M(t,"hex")).r,a=t.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),c=u.mul(e).umod(this.n),f=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),f)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(c,r.getPublic(),f)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},D.prototype.recoverPubKey=function(e,t,r,n){L((3&r)===r,"The recovery param is more than two bits"),t=new M(t,n);var i=this.n,a=new o.default(e),s=t.r,u=t.s,c=1&r,f=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw new Error("Unable to find sencond key candinate");s=f?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var d=t.r.invm(i),l=i.sub(a).mul(d).umod(i),h=u.mul(d).umod(i);return this.g.mulAdd(l,s,h)},D.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new M(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var q=s((function(e,t){var r=t;r.version="6.5.4",r.utils=d,r.rand=function(){throw new Error("unsupported")},r.curve=S,r.curves=E,r.ec=H,r.eddsa=null})),z=q.ec;t.EC=z},7612:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.SigningKey=void 0,t.computePublicKey=b,t.recoverPublicKey=function(e,t){var r=(0,s.splitSignature)(t),n={r:(0,s.arrayify)(r.r),s:(0,s.arrayify)(r.s)};return"0x"+h().recoverPubKey((0,s.arrayify)(e),n,r.recoveryParam).encode("hex",!1)};var i=n(r(9721)),o=n(r(8985)),a=r(6918),s=r(908),u=r(3694),c=r(4327),f=r(8100),d=new c.Logger(f.version),l=null;function h(){return l||(l=new a.EC("secp256k1")),l}var p=function(){function e(t){(0,i.default)(this,e),(0,u.defineReadOnly)(this,"curve","secp256k1"),(0,u.defineReadOnly)(this,"privateKey",(0,s.hexlify)(t)),32!==(0,s.hexDataLength)(this.privateKey)&&d.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");var r=h().keyFromPrivate((0,s.arrayify)(this.privateKey));(0,u.defineReadOnly)(this,"publicKey","0x"+r.getPublic(!1,"hex")),(0,u.defineReadOnly)(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),(0,u.defineReadOnly)(this,"_isSigningKey",!0)}return(0,o.default)(e,[{key:"_addPoint",value:function(e){var t=h().keyFromPublic((0,s.arrayify)(this.publicKey)),r=h().keyFromPublic((0,s.arrayify)(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")}},{key:"signDigest",value:function(e){var t=h().keyFromPrivate((0,s.arrayify)(this.privateKey)),r=(0,s.arrayify)(e);32!==r.length&&d.throwArgumentError("bad digest length","digest",e);var n=t.sign(r,{canonical:!0});return(0,s.splitSignature)({recoveryParam:n.recoveryParam,r:(0,s.hexZeroPad)("0x"+n.r.toString(16),32),s:(0,s.hexZeroPad)("0x"+n.s.toString(16),32)})}},{key:"computeSharedSecret",value:function(e){var t=h().keyFromPrivate((0,s.arrayify)(this.privateKey)),r=h().keyFromPublic((0,s.arrayify)(b(e)));return(0,s.hexZeroPad)("0x"+t.derive(r.getPublic()).toString(16),32)}}],[{key:"isSigningKey",value:function(e){return!(!e||!e._isSigningKey)}}]),e}();function b(e,t){var r=(0,s.arrayify)(e);if(32===r.length){var n=new p(r);return t?"0x"+h().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}return 33===r.length?t?(0,s.hexlify)(r):"0x"+h().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+h().keyFromPublic(r).getPublic(!0,"hex"):(0,s.hexlify)(r):d.throwArgumentError("invalid public or private key","key","[REDACTED]")}t.SigningKey=p},6518:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="strings/5.7.0"},5856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes32String=function(e){var t=(0,o.toUtf8Bytes)(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return(0,i.hexlify)((0,i.concat)([t,n.HashZero]).slice(0,32))},t.parseBytes32String=function(e){var t=(0,i.arrayify)(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return(0,o.toUtf8String)(t.slice(0,r))};var n=r(5465),i=r(908),o=r(4997)},8645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._nameprepTableA1=p,t._nameprepTableB2=b,t._nameprepTableC=y,t.nameprep=function(e){if(e.match(/^[a-z0-9-]*$/i)&&e.length<=59)return e.toLowerCase();var t,r=(0,n.toUtf8CodePoints)(e);t=r.map((function(e){return u.indexOf(e)>=0||e>=65024&&e<=65039?[]:b(e)||[e]})),r=t.reduce((function(e,t){return t.forEach((function(t){e.push(t)})),e}),[]),(r=(0,n.toUtf8CodePoints)((0,n._toUtf8String)(r),n.UnicodeNormalizationForm.NFKC)).forEach((function(e){if(y(e))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),r.forEach((function(e){if(p(e))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var i=(0,n._toUtf8String)(r);if("-"===i.substring(0,1)||"--"===i.substring(2,4)||"-"===i.substring(i.length-1))throw new Error("invalid hyphen");return i};var n=r(4997);function i(e,t){t||(t=function(e){return[parseInt(e,16)]});var r=0,n={};return e.split(",").forEach((function(e){var i=e.split(":");r+=parseInt(i[0],16),n[r]=t(i[1])})),n}function o(e){var t=0;return e.split(",").map((function(e){var r=e.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:t+parseInt(r[0],16),h:t=parseInt(r[1],16)}}))}function a(e,t){for(var r=0,n=0;n=(r+=i.l)&&e<=r+i.h&&(e-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-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(e){return parseInt(e,16)})),c=[{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}],f=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"),d=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(e){if(e.length%4!=0)throw new Error("bad data");for(var t=[],r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"UnicodeNormalizationForm",{enumerable:!0,get:function(){return o.UnicodeNormalizationForm}}),Object.defineProperty(t,"Utf8ErrorFuncs",{enumerable:!0,get:function(){return o.Utf8ErrorFuncs}}),Object.defineProperty(t,"Utf8ErrorReason",{enumerable:!0,get:function(){return o.Utf8ErrorReason}}),Object.defineProperty(t,"_toEscapedUtf8String",{enumerable:!0,get:function(){return o._toEscapedUtf8String}}),Object.defineProperty(t,"formatBytes32String",{enumerable:!0,get:function(){return n.formatBytes32String}}),Object.defineProperty(t,"nameprep",{enumerable:!0,get:function(){return i.nameprep}}),Object.defineProperty(t,"parseBytes32String",{enumerable:!0,get:function(){return n.parseBytes32String}}),Object.defineProperty(t,"toUtf8Bytes",{enumerable:!0,get:function(){return o.toUtf8Bytes}}),Object.defineProperty(t,"toUtf8CodePoints",{enumerable:!0,get:function(){return o.toUtf8CodePoints}}),Object.defineProperty(t,"toUtf8String",{enumerable:!0,get:function(){return o.toUtf8String}});var n=r(5856),i=r(8645),o=r(4997)},4997:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ErrorReason=t.Utf8ErrorFuncs=t.UnicodeNormalizationForm=void 0,t._toEscapedUtf8String=function(e,t){return'"'+d(e,t).map((function(e){if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?h(e):h(55296+((e-=65536)>>10&1023))+h(56320+(1023&e))})).join("")+'"'},t._toUtf8String=p,t.toUtf8Bytes=l,t.toUtf8CodePoints=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;return d(l(e,t))},t.toUtf8String=function(e,t){return p(d(e,t))};var n,i,o=r(908),a=r(4327),s=r(6518),u=new a.Logger(s.version);function c(e,t,r,n,o){if(e===i.BAD_PREFIX||e===i.UNEXPECTED_CONTINUE){for(var a=0,s=t+1;s>6==2;s++)a++;return a}return e===i.OVERRUN?r.length-t-1:0}t.UnicodeNormalizationForm=n,function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(n||(t.UnicodeNormalizationForm=n={})),t.Utf8ErrorReason=i,function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(i||(t.Utf8ErrorReason=i={}));var f=Object.freeze({error:function(e,t,r,n,i){return u.throwArgumentError("invalid codepoint at offset ".concat(t,"; ").concat(e),"bytes",r)},ignore:c,replace:function(e,t,r,n,o){return e===i.OVERLONG?(n.push(o),0):(n.push(65533),c(e,t,r))}});function d(e,t){null==t&&(t=f.error),e=(0,o.arrayify)(e);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+=t(128==(192&a)?i.UNEXPECTED_CONTINUE:i.BAD_PREFIX,n-1,e,r);continue}s=3,u=65535}if(n-1+s>=e.length)n+=t(i.OVERRUN,n-1,e,r);else{for(var c=a&(1<<8-s-1)-1,d=0;d1114111?n+=t(i.OUT_OF_RANGE,n-1-s,e,r,c):c>=55296&&c<=57343?n+=t(i.UTF16_SURROGATE,n-1-s,e,r,c):c<=u?n+=t(i.OVERLONG,n-1-s,e,r,c):r.push(c))}}else r.push(a)}return r}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;t!=n.current&&(u.checkNormalize(),e=e.normalize(t));for(var r=[],i=0;i>6|192),r.push(63&a|128);else if(55296==(64512&a)){i++;var s=e.charCodeAt(i);if(i>=e.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var c=65536+((1023&a)<<10)+(1023&s);r.push(c>>18|240),r.push(c>>12&63|128),r.push(c>>6&63|128),r.push(63&c|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)}return(0,o.arrayify)(r)}function h(e){var t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function p(e){return e.map((function(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))})).join("")}t.Utf8ErrorFuncs=f},6783:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="transactions/5.7.0"},1936:(e,t,r)=>{"use strict";var n=r(3355);Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionTypes=void 0,t.accessListify=E,t.computeAddress=A,t.parse=function(e){var t=(0,a.arrayify)(e);if(t[0]>127)return function(e){var t=f.decode(e);9!==t.length&&6!==t.length&&y.throwArgumentError("invalid raw transaction","rawTransaction",e);var r={nonce:v(t[0]).toNumber(),gasPrice:v(t[1]),gasLimit:v(t[2]),to:m(t[3]),value:v(t[4]),data:t[5],chainId:0};if(6===t.length)return r;try{r.v=o.BigNumber.from(t[6]).toNumber()}catch(e){return r}if(r.r=(0,a.hexZeroPad)(t[7],32),r.s=(0,a.hexZeroPad)(t[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=t.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)(f.encode(i));try{r.from=k(s,{r:(0,a.hexlify)(r.r),s:(0,a.hexlify)(r.s),recoveryParam:n})}catch(e){}r.hash=(0,u.keccak256)(e)}return r.type=null,r}(t);switch(t[0]){case 1:return function(e){var t=f.decode(e.slice(1));8!==t.length&&11!==t.length&&y.throwArgumentError("invalid component count for transaction type: 1","payload",(0,a.hexlify)(e));var r={type:1,chainId:v(t[0]).toNumber(),nonce:v(t[1]).toNumber(),gasPrice:v(t[2]),gasLimit:v(t[3]),to:m(t[4]),value:v(t[5]),data:t[6],accessList:E(t[7])};return 8===t.length||(r.hash=(0,u.keccak256)(e),B(r,t.slice(8),O)),r}(t);case 2:return function(e){var t=f.decode(e.slice(1));9!==t.length&&12!==t.length&&y.throwArgumentError("invalid component count for transaction type: 2","payload",(0,a.hexlify)(e));var r=v(t[2]),n=v(t[3]),i={type:2,chainId:v(t[0]).toNumber(),nonce:v(t[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:v(t[4]),to:m(t[5]),value:v(t[6]),data:t[7],accessList:E(t[8])};return 9===t.length||(i.hash=(0,u.keccak256)(e),B(i,t.slice(9),P)),i}(t)}return y.throwError("unsupported transaction type: ".concat(t[0]),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})},t.recoverAddress=k,t.serialize=function(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&y.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),function(e,t){(0,c.checkProperties)(e,w);var r=[];g.forEach((function(t){var n=e[t.name]||[],i={};t.numeric&&(i.hexPad="left"),n=(0,a.arrayify)((0,a.hexlify)(n,i)),t.length&&n.length!==t.length&&n.length>0&&y.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),t.maxLength&&(n=(0,a.stripZeros)(n)).length>t.maxLength&&y.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),r.push((0,a.hexlify)(n))}));var n=0;if(null!=e.chainId?"number"!=typeof(n=e.chainId)&&y.throwArgumentError("invalid transaction.chainId","transaction",e):t&&!(0,a.isBytesLike)(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push((0,a.hexlify)(n)),r.push("0x"),r.push("0x")),!t)return f.encode(r);var i=(0,a.splitSignature)(t),o=27+i.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&y.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==o&&y.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),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))),f.encode(r)}(e,t);switch(e.type){case 1:return O(e,t);case 2:return P(e,t)}return y.throwError("unsupported transaction type: ".concat(e.type),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})};var i=r(7921),o=r(4952),a=r(908),s=r(5465),u=r(4642),c=r(3694),f=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var s=o?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=e[a]}return i.default=e,r&&r.set(e,i),i}(r(5265)),d=r(7612),l=r(4327),h=r(6783);function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}var b,y=new l.Logger(h.version);function m(e){return"0x"===e?null:(0,i.getAddress)(e)}function v(e){return"0x"===e?s.Zero:o.BigNumber.from(e)}t.TransactionTypes=b,function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"}(b||(t.TransactionTypes=b={}));var g=[{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"}],w={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function A(e){var t=(0,d.computePublicKey)(e);return(0,i.getAddress)((0,a.hexDataSlice)((0,u.keccak256)((0,a.hexDataSlice)(t,1)),12))}function k(e,t){return A((0,d.recoverPublicKey)((0,a.arrayify)(e),t))}function _(e,t){var r=(0,a.stripZeros)(o.BigNumber.from(e).toHexString());return r.length>32&&y.throwArgumentError("invalid length for "+t,"transaction:"+t,e),r}function S(e,t){return{address:(0,i.getAddress)(e),storageKeys:(t||[]).map((function(t,r){return 32!==(0,a.hexDataLength)(t)&&y.throwArgumentError("invalid access list storageKey","accessList[".concat(e,":").concat(r,"]"),t),t.toLowerCase()}))}}function E(e){if(Array.isArray(e))return e.map((function(e,t){return Array.isArray(e)?(e.length>2&&y.throwArgumentError("access list expected to be [ address, storageKeys[] ]","value[".concat(t,"]"),e),S(e[0],e[1])):S(e.address,e.storageKeys)}));var t=Object.keys(e).map((function(t){var r=e[t].reduce((function(e,t){return e[t]=!0,e}),{});return S(t,Object.keys(r).sort())}));return t.sort((function(e,t){return e.address.localeCompare(t.address)})),t}function x(e){return E(e).map((function(e){return[e.address,e.storageKeys]}))}function P(e,t){if(null!=e.gasPrice){var r=o.BigNumber.from(e.gasPrice),n=o.BigNumber.from(e.maxFeePerGas||0);r.eq(n)||y.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:r,maxFeePerGas:n})}var s=[_(e.chainId||0,"chainId"),_(e.nonce||0,"nonce"),_(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),_(e.maxFeePerGas||0,"maxFeePerGas"),_(e.gasLimit||0,"gasLimit"),null!=e.to?(0,i.getAddress)(e.to):"0x",_(e.value||0,"value"),e.data||"0x",x(e.accessList||[])];if(t){var u=(0,a.splitSignature)(t);s.push(_(u.recoveryParam,"recoveryParam")),s.push((0,a.stripZeros)(u.r)),s.push((0,a.stripZeros)(u.s))}return(0,a.hexConcat)(["0x02",f.encode(s)])}function O(e,t){var r=[_(e.chainId||0,"chainId"),_(e.nonce||0,"nonce"),_(e.gasPrice||0,"gasPrice"),_(e.gasLimit||0,"gasLimit"),null!=e.to?(0,i.getAddress)(e.to):"0x",_(e.value||0,"value"),e.data||"0x",x(e.accessList||[])];if(t){var n=(0,a.splitSignature)(t);r.push(_(n.recoveryParam,"recoveryParam")),r.push((0,a.stripZeros)(n.r)),r.push((0,a.stripZeros)(n.s))}return(0,a.hexConcat)(["0x01",f.encode(r)])}function B(e,t,r){try{var n=v(t[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");e.v=n}catch(e){y.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=(0,a.hexZeroPad)(t[1],32),e.s=(0,a.hexZeroPad)(t[2],32);try{var i=(0,u.keccak256)(r(e));e.from=k(i,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}},3368:(e,t,r)=>{"use strict";var n,i,o=r(8847)(r(3355));void 0===(i="function"==typeof(n=function(){function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;r{"use strict";var n=t;n.bignum=r(1734),n.define=r(1568).define,n.base=r(2412),n.constants=r(9387),n.decoders=r(1500),n.encoders=r(7506)},1568:(e,t,r)=>{"use strict";var n=r(7506),i=r(1500),o=r(1736);function a(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new a(e,t)},a.prototype._createNamed=function(e){var t=this.name;function r(e){this._initNamed(e,t)}return o(r,e),r.prototype._initNamed=function(t,r){e.call(this,t,r)},new r(this)},a.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(i[e])),this.decoders[e]},a.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},a.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n[e])),this.encoders[e]},a.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},585:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1736),o=r(2719).b,a=r(1755).Buffer;function s(e,t){o.call(this,t),a.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function u(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return u.isEncoderBuffer(e)||(e=new u(e,t)),this.length+=e.length,e}),this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=a.byteLength(e);else{if(!a.isBuffer(e))return t.error("Unsupported type: "+(0,n.default)(e));this.value=e,this.length=e.length}}i(s,o),t.C=s,s.isDecoderBuffer=function(e){return e instanceof s||"object"===(0,n.default)(e)&&a.isBuffer(e.base)&&"DecoderBuffer"===e.constructor.name&&"number"==typeof e.offset&&"number"==typeof e.length&&"function"==typeof e.save&&"function"==typeof e.restore&&"function"==typeof e.isEmpty&&"function"==typeof e.readUInt8&&"function"==typeof e.skip&&"function"==typeof e.raw},s.prototype.save=function(){return{offset:this.offset,reporter:o.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,o.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.R=u,u.isEncoderBuffer=function(e){return e instanceof u||"object"===(0,n.default)(e)&&"EncoderBuffer"===e.constructor.name&&"number"==typeof e.length&&"function"==typeof e.join},u.prototype.join=function(e,t){return e||(e=a.alloc(this.length)),t||(t=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(e,t),t+=r.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):a.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},2412:(e,t,r)=>{"use strict";var n=t;n.Reporter=r(2719).b,n.DecoderBuffer=r(585).C,n.EncoderBuffer=r(585).R,n.Node=r(1371)},1371:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(2719).b,o=r(585).R,a=r(585).C,s=r(4504),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"],c=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(u);function f(e,t,r){var n={};this._baseState=n,n.name=r,n.enc=e,n.parent=t||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())}e.exports=f;var d=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];f.prototype.clone=function(){var e=this._baseState,t={};d.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);return r._baseState=t,r},f.prototype._wrap=function(){var e=this._baseState;c.forEach((function(t){this[t]=function(){var r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},f.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},f.prototype._useArgs=function(e){var t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(s(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!==(0,n.default)(e)||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);var n=e[r];t[n]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){f.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),u.forEach((function(e){f.prototype[e]=function(){var t=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(r),this}})),f.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},f.prototype.optional=function(){return this._baseState.optional=!0,this},f.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},f.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},f.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},f.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},f.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},f.prototype.any=function(){return this._baseState.any=!0,this},f.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},f.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},f.prototype._decode=function(e,t){var r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));var n,i=r.default,o=!0,s=null;if(null!==r.key&&(s=e.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(e,u,r.any),e.isError(o))return o}else{var c=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),o=!0}catch(e){o=!1}e.restore(c)}}if(r.obj&&o&&(n=e.enterObject()),o){if(null!==r.explicit){var f=this._decodeTag(e,r.explicit);if(e.isError(f))return f;e=f}var d=e.offset;if(null===r.use&&null===r.choice){var l;r.any&&(l=e.save());var h=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(h))return h;r.any?i=e.raw(l):e=h}if(t&&t.track&&null!==r.tag&&t.track(e.path(),d,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t)),e.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var p=new a(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(p,t)}}return r.obj&&o&&(i=e.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==s&&e.exitKey(s):e.leaveKey(s,r.key,i),i},f.prototype._decodeGeneric=function(e,t,r){var n=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},f.prototype._getUse=function(e,t){var r=this._baseState;return r.useDecoder=this._use(e,t),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},f.prototype._decodeChoice=function(e,t){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var a=e.save(),s=r.choice[o];try{var u=s._decode(e,t);if(e.isError(u))return!1;n={type:o,value:u},i=!0}catch(t){return e.restore(a),!1}return!0}),this),i?n:e.error("Choice not matched")},f.prototype._createEncoderBuffer=function(e){return new o(e,this.reporter)},f.prototype._encode=function(e,t,r){var n=this._baseState;if(null===n.default||n.default!==e){var i=this._encodeValue(e,t,r);if(void 0!==i&&!this._skipDefault(i,t,r))return i}},f.prototype._encodeValue=function(e,t,r){var o=this._baseState;if(null===o.parent)return o.children[0]._encode(e,t||new i);var a=null;if(this.reporter=t,o.optional&&void 0===e){if(null===o.default)return;e=o.default}var s=null,u=!1;if(o.any)a=this._createEncoderBuffer(e);else if(o.choice)a=this._encodeChoice(e,t);else if(o.contains)s=this._getUse(o.contains,r)._encode(e,t),u=!0;else if(o.children)s=o.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");var i=t.enterKey(r._baseState.key);if("object"!==(0,n.default)(e))return t.error("Child expected, but input is not object");var o=r._encode(e[r._baseState.key],t,e);return t.leaveKey(i),o}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===o.tag||"setof"===o.tag){if(!o.args||1!==o.args.length)return t.error("Too many args for : "+o.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var c=this.clone();c._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(r){var n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),c))}else null!==o.use?a=this._getUse(o.use,r)._encode(e,t):(s=this._encodePrimitive(o.tag,e),u=!0);if(!o.any&&null===o.choice){var f=null!==o.implicit?o.implicit:o.tag,d=null===o.implicit?"universal":"context";null===f?null===o.use&&t.error("Tag could be omitted only for .use()"):null===o.use&&(a=this._encodeComposite(f,u,d,s))}return null!==o.explicit&&(a=this._encodeComposite(o.explicit,!1,"context",a)),a},f.prototype._encodeChoice=function(e,t){var r=this._baseState,n=r.choice[e.type];return n||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},f.prototype._encodePrimitive=function(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},f.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},f.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},2719:(e,t,r)=>{"use strict";var n=r(1736);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.b=i,i.prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,r){var n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){var t=this._reporterState,r=t.obj;return t.obj=e,r},i.prototype.error=function(e){var t,r=this._reporterState,n=e instanceof o;if(t=n?e:new o(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},i.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},6520:(e,t)=>{"use strict";function r(e){var t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);var n=e[r];t[n]=r})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=r(t.tagClass),t.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"},t.tagByName=r(t.tag)},9387:(e,t,r)=>{"use strict";var n=t;n._reverse=function(e){var t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);var n=e[r];t[n]=r})),t},n.der=r(6520)},2387:(e,t,r)=>{"use strict";var n=r(1736),i=r(1734),o=r(585).C,a=r(1371),s=r(6520);function u(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){a.call(this,"der",e)}function f(e,t){var r=e.readUInt8(t);if(e.isError(r))return r;var n=s.tagClass[r>>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:s.tag[r]}}function d(e,t,r){var n=e.readUInt8(r);if(e.isError(n))return n;if(!t&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return e.error("length octect is too long");n=0;for(var o=0;o{"use strict";var n=t;n.der=r(2387),n.pem=r(529)},529:(e,t,r)=>{"use strict";var n=r(1736),i=r(1755).Buffer,o=r(2387);function a(e){o.call(this,e),this.enc="pem"}n(a,o),e.exports=a,a.prototype.decode=function(e,t){for(var r=e.toString().split(/[\r\n]+/g),n=t.label.toUpperCase(),a=/^-----(BEGIN|END) ([^-]+)-----$/,s=-1,u=-1,c=0;c{"use strict";var n=r(1736),i=r(1755).Buffer,o=r(1371),a=r(6520);function s(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){o.call(this,"der",e)}function c(e){return e<10?"0"+e:e}e.exports=s,s.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},n(u,o),u.prototype._encodeComposite=function(e,t,r,n){var o=function(e,t,r,n){var i;if("seqof"===e?e="seq":"setof"===e&&(e="set"),a.tagByName.hasOwnProperty(e))i=a.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return n.error("Unknown tag: "+e);i=e}return i>=31?n.error("Multi-octet tag encoding unsupported"):(t||(i|=32),i|=a.tagClassByName[r||"universal"]<<6)}(e,t,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,c=n.length;c>=256;c>>=8)u++;var f=i.alloc(2+u);f[0]=o,f[1]=128|u;for(var d=1+u,l=n.length;l>0;d--,l>>=8)f[d]=255&l;return this._createEncoderBuffer([f,n])},u.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var r=i.alloc(2*e.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}for(var a=0,s=0;s=128;u>>=7)a++}for(var c=i.alloc(a),f=c.length-1,d=e.length-1;d>=0;d--){var l=e[d];for(c[f--]=127&l;(l>>=7)>0;)c[f--]=128|127&l}return this._createEncoderBuffer(c)},u.prototype._encodeTime=function(e,t){var r,n=new Date(e);return"gentime"===t?r=[c(n.getUTCFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[c(n.getUTCFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var r=e.toArray();!e.sign&&128&r[0]&&r.unshift(0),e=i.from(r)}if(i.isBuffer(e)){var n=e.length;0===e.length&&n++;var o=i.alloc(n);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);for(var a=1,s=e;s>=256;s>>=8)a++;for(var u=new Array(a),c=u.length-1;c>=0;c--)u[c]=255&e,e>>=8;return 128&u[0]&&u.unshift(0),this._createEncoderBuffer(i.from(u))},u.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},u.prototype._skipDefault=function(e,t,r){var n,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n{"use strict";var n=t;n.der=r(1068),n.pem=r(8520)},8520:(e,t,r)=>{"use strict";var n=r(1736),i=r(1068);function o(e){i.call(this,e),this.enc="pem"}n(o,i),e.exports=o,o.prototype.encode=function(e,t){for(var r=i.prototype.encode.call(this,e).toString("base64"),n=["-----BEGIN "+t.label+"-----"],o=0;o{"use strict";var n=r(8847)(r(3355)),i=r(3103);function o(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i=0;u--)if(f[u]!==d[u])return!1;for(u=f.length-1;u>=0;u--)if(!w(e[a=f[u]],t[a],r,n))return!1;return!0}(e,t,r,i))}return r?e===t:e==t}function A(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function k(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function _(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&v(i,r,"Missing expected exception"+n);var o="string"==typeof n,a=!e&&i&&!r;if((!e&&s.isError(i)&&o&&k(i,r)||a)&&v(i,r,"Got unwanted exception"+n),e&&i&&r&&!k(i,r)||!e&&i)throw i}h.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return y(m(e.actual),128)+" "+e.operator+" "+y(m(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=b(t),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(h.AssertionError,Error),h.fail=v,h.ok=g,h.equal=function(e,t,r){e!=t&&v(e,t,r,"==",h.equal)},h.notEqual=function(e,t,r){e==t&&v(e,t,r,"!=",h.notEqual)},h.deepEqual=function(e,t,r){w(e,t,!1)||v(e,t,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(e,t,r){w(e,t,!0)||v(e,t,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(e,t,r){w(e,t,!1)&&v(e,t,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function e(t,r,n){w(t,r,!0)&&v(t,r,n,"notDeepStrictEqual",e)},h.strictEqual=function(e,t,r){e!==t&&v(e,t,r,"===",h.strictEqual)},h.notStrictEqual=function(e,t,r){e===t&&v(e,t,r,"!==",h.notStrictEqual)},h.throws=function(e,t,r){_(!0,e,t,r)},h.doesNotThrow=function(e,t,r){_(!1,e,t,r)},h.ifError=function(e){if(e)throw e},h.strict=i((function e(t,r){t||v(t,!0,r,"==",e)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var S=Object.keys||function(e){var t=[];for(var r in e)u.call(e,r)&&t.push(r);return t}},4074:e=>{"use strict";"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},6732:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(e){return e&&"object"===(0,n.default)(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9954:(e,t,r)=>{"use strict";var n=r(9142),i=r(8847)(r(3355)),o=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),b(r)?n.showHidden=r:r&&t._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=c),d(n,e,n.depth)}function c(e,t){var r=u.styles[t];return r?"["+u.colors[r][0]+"m"+e+"["+u.colors[r][1]+"m":e}function f(e,t){return e}function d(e,r,n){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return v(i)||(i=d(e,i,n)),i}var o=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):b(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,r);if(o)return o;var a=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),_(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 e.stylize("[Function"+u+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(k(r))return e.stylize(Date.prototype.toString.call(r),"date");if(_(r))return l(r)}var c,f="",A=!1,E=["{","}"];return p(r)&&(A=!0,E=["[","]"]),S(r)&&(f=" [Function"+(r.name?": "+r.name:"")+"]"),w(r)&&(f=" "+RegExp.prototype.toString.call(r)),k(r)&&(f=" "+Date.prototype.toUTCString.call(r)),_(r)&&(f=" "+l(r)),0!==a.length||A&&0!=r.length?n<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=A?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,f,E)):E[0]+f+E[1]}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),B(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(u.value)<0?(s=y(r)?d(e,u.value,null):d(e,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.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=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function p(e){return Array.isArray(e)}function b(e){return"boolean"==typeof e}function y(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return A(e)&&"[object RegExp]"===E(e)}function A(e){return"object"===(0,i.default)(e)&&null!==e}function k(e){return A(e)&&"[object Date]"===E(e)}function _(e){return A(e)&&("[object Error]"===E(e)||e instanceof Error)}function S(e){return"function"==typeof e}function E(e){return Object.prototype.toString.call(e)}function x(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(a)&&(a=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(a)){var r=n.pid;s[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else s[e]=function(){};return s[e]},t.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"},t.isArray=p,t.isBoolean=b,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"===(0,i.default)(e)},t.isUndefined=g,t.isRegExp=w,t.isObject=A,t.isDate=k,t.isError=_,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===(0,i.default)(e)||void 0===e},t.isBuffer=r(6732);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(){var e=new Date,t=[x(e.getHours()),x(e.getMinutes()),x(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function B(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",O(),t.format.apply(t,arguments))},t.inherits=r(4074),t._extend=function(e,t){if(!t||!A(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}},7548:(e,t,r)=>{"use strict";var n=r(8850).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,f=new Uint8Array(a);e[r];){var d=t[e.charCodeAt(r)];if(255===d)return;for(var l=0,h=a-1;(0!==d||l>>0,f[h]=d%256>>>0,d=d/256>>>0;if(0!==d)throw new Error("Non-zero carry");o=l,r++}for(var p=a-o;p!==a&&0===f[p];)p++;var b=n.allocUnsafe(i+(a-p));b.fill(0,0,i);for(var y=i;p!==a;)b[y++]=f[p++];return b}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,i=0,o=0,a=t.length;o!==a&&0===t[o];)o++,r++;for(var c=(a-o)*f+1>>>0,d=new Uint8Array(c);o!==a;){for(var l=t[o],h=0,p=c-1;(0!==l||h>>0,d[p]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");i=h,o++}for(var b=c-i;b!==c&&0===d[b];)b++;for(var y=u.repeat(r);b{"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=u(e),a=o[0],s=o[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),f=0,d=s>0?a-4:a;for(r=0;r>16&255,c[f++]=t>>8&255,c[f++]=255&t;return 2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[f++]=255&t),1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[f++]=t>>8&255,c[f++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,s=0,u=n-i;su?u:s+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],s=t;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},1734:(e,t,r)=>{"use strict";e=r.nmd(e);var n=r(8847)(r(3355));!function(e,t){function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function o(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"===(0,n.default)(e)?e.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(9033).Buffer}catch(e){}function u(e,t){var r=e.charCodeAt(t);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 "+e)}function c(e,t,r){var n=u(e,r);return r-1>=t&&(n|=u(e,r-1)<<4),n}function f(e,t,r,n){for(var o=0,a=0,s=Math.min(e.length,r),u=t;u=49?c-49+10:c>=17?c-17+10:c,i(c>=0&&a0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"===(0,n.default)(e))return this._initArray(e,t,r);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var o=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=e[n]|e[n-1]<<8|e[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(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=c(e,t,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(e.length-t)%2==0?t+1:t;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.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},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(e){a.prototype.inspect=l}else a.prototype.inspect=l;function l(){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"],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],b=[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 y(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var c=1;c>>26,d=67108863&u,l=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=l;h++){var p=c-h|0;f+=(a=(i=0|e.words[p])*(o=0|t.words[h])+d)/67108864|0,d=67108863&a}r.words[c]=0|d,u=0|f}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,(n+=2)>=26&&(n-=26,a--),r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=p[e],f=b[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var l=d.modrn(f).toString(e);r=(d=d.idivn(f)).isZero()?l+r:h[c-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%t!=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 e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,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(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(e,t){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&&(e[r--]=a>>8&255),r>=0&&(e[r--]=a>>16&255),6===o?(r>=0&&(e[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,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(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,h=0|a[1],p=8191&h,b=h>>>13,y=0|a[2],m=8191&y,v=y>>>13,g=0|a[3],w=8191&g,A=g>>>13,k=0|a[4],_=8191&k,S=k>>>13,E=0|a[5],x=8191&E,P=E>>>13,O=0|a[6],B=8191&O,T=O>>>13,C=0|a[7],I=8191&C,M=C>>>13,U=0|a[8],R=8191&U,j=U>>>13,N=0|a[9],F=8191&N,L=N>>>13,D=0|s[0],H=8191&D,q=D>>>13,z=0|s[1],G=8191&z,K=z>>>13,V=0|s[2],J=8191&V,W=V>>>13,Y=0|s[3],X=8191&Y,Q=Y>>>13,Z=0|s[4],$=8191&Z,ee=Z>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,fe=0|s[8],de=8191&fe,le=fe>>>13,he=0|s[9],pe=8191&he,be=he>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(c+(n=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,q))+Math.imul(l,H)|0))<<13)|0;c=((o=Math.imul(l,q))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(p,H),i=(i=Math.imul(p,q))+Math.imul(b,H)|0,o=Math.imul(b,q);var me=(c+(n=n+Math.imul(d,G)|0)|0)+((8191&(i=(i=i+Math.imul(d,K)|0)+Math.imul(l,G)|0))<<13)|0;c=((o=o+Math.imul(l,K)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,H),i=(i=Math.imul(m,q))+Math.imul(v,H)|0,o=Math.imul(v,q),n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,K)|0;var ve=(c+(n=n+Math.imul(d,J)|0)|0)+((8191&(i=(i=i+Math.imul(d,W)|0)+Math.imul(l,J)|0))<<13)|0;c=((o=o+Math.imul(l,W)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(w,H),i=(i=Math.imul(w,q))+Math.imul(A,H)|0,o=Math.imul(A,q),n=n+Math.imul(m,G)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,n=n+Math.imul(p,J)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,W)|0;var ge=(c+(n=n+Math.imul(d,X)|0)|0)+((8191&(i=(i=i+Math.imul(d,Q)|0)+Math.imul(l,X)|0))<<13)|0;c=((o=o+Math.imul(l,Q)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(_,H),i=(i=Math.imul(_,q))+Math.imul(S,H)|0,o=Math.imul(S,q),n=n+Math.imul(w,G)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,W)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,W)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Q)|0)+Math.imul(b,X)|0,o=o+Math.imul(b,Q)|0;var we=(c+(n=n+Math.imul(d,$)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(l,$)|0))<<13)|0;c=((o=o+Math.imul(l,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(x,H),i=(i=Math.imul(x,q))+Math.imul(P,H)|0,o=Math.imul(P,q),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,K)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,K)|0,n=n+Math.imul(w,J)|0,i=(i=i+Math.imul(w,W)|0)+Math.imul(A,J)|0,o=o+Math.imul(A,W)|0,n=n+Math.imul(m,X)|0,i=(i=i+Math.imul(m,Q)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Q)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,ee)|0;var Ae=(c+(n=n+Math.imul(d,re)|0)|0)+((8191&(i=(i=i+Math.imul(d,ne)|0)+Math.imul(l,re)|0))<<13)|0;c=((o=o+Math.imul(l,ne)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,q))+Math.imul(T,H)|0,o=Math.imul(T,q),n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,n=n+Math.imul(_,J)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(S,J)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Q)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,Q)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(b,re)|0,o=o+Math.imul(b,ne)|0;var ke=(c+(n=n+Math.imul(d,oe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(l,oe)|0))<<13)|0;c=((o=o+Math.imul(l,ae)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(I,H),i=(i=Math.imul(I,q))+Math.imul(M,H)|0,o=Math.imul(M,q),n=n+Math.imul(B,G)|0,i=(i=i+Math.imul(B,K)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,K)|0,n=n+Math.imul(x,J)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(P,J)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(_,X)|0,i=(i=i+Math.imul(_,Q)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Q)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,ee)|0,n=n+Math.imul(m,re)|0,i=(i=i+Math.imul(m,ne)|0)+Math.imul(v,re)|0,o=o+Math.imul(v,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,ae)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,ae)|0;var _e=(c+(n=n+Math.imul(d,ue)|0)|0)+((8191&(i=(i=i+Math.imul(d,ce)|0)+Math.imul(l,ue)|0))<<13)|0;c=((o=o+Math.imul(l,ce)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(R,H),i=(i=Math.imul(R,q))+Math.imul(j,H)|0,o=Math.imul(j,q),n=n+Math.imul(I,G)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,n=n+Math.imul(B,J)|0,i=(i=i+Math.imul(B,W)|0)+Math.imul(T,J)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Q)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Q)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(A,re)|0,o=o+Math.imul(A,ne)|0,n=n+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,ae)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,ae)|0,n=n+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0;var Se=(c+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(l,de)|0))<<13)|0;c=((o=o+Math.imul(l,le)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,q))+Math.imul(L,H)|0,o=Math.imul(L,q),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,K)|0)+Math.imul(j,G)|0,o=o+Math.imul(j,K)|0,n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Q)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,Q)|0,n=n+Math.imul(x,$)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(S,re)|0,o=o+Math.imul(S,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,ae)|0)+Math.imul(A,oe)|0,o=o+Math.imul(A,ae)|0,n=n+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0,n=n+Math.imul(p,de)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(b,de)|0,o=o+Math.imul(b,le)|0;var Ee=(c+(n=n+Math.imul(d,pe)|0)|0)+((8191&(i=(i=i+Math.imul(d,be)|0)+Math.imul(l,pe)|0))<<13)|0;c=((o=o+Math.imul(l,be)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(F,G),i=(i=Math.imul(F,K))+Math.imul(L,G)|0,o=Math.imul(L,K),n=n+Math.imul(R,J)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,W)|0,n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,Q)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Q)|0,n=n+Math.imul(B,$)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(P,re)|0,o=o+Math.imul(P,ne)|0,n=n+Math.imul(_,oe)|0,i=(i=i+Math.imul(_,ae)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,ae)|0,n=n+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(A,ue)|0,o=o+Math.imul(A,ce)|0,n=n+Math.imul(m,de)|0,i=(i=i+Math.imul(m,le)|0)+Math.imul(v,de)|0,o=o+Math.imul(v,le)|0;var xe=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,be)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,W))+Math.imul(L,J)|0,o=Math.imul(L,W),n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Q)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Q)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,ee)|0,n=n+Math.imul(B,re)|0,i=(i=i+Math.imul(B,ne)|0)+Math.imul(T,re)|0,o=o+Math.imul(T,ne)|0,n=n+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,ae)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,ae)|0,n=n+Math.imul(_,ue)|0,i=(i=i+Math.imul(_,ce)|0)+Math.imul(S,ue)|0,o=o+Math.imul(S,ce)|0,n=n+Math.imul(w,de)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(A,de)|0,o=o+Math.imul(A,le)|0;var Pe=(c+(n=n+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,be)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,be)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,Q))+Math.imul(L,X)|0,o=Math.imul(L,Q),n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(j,$)|0,o=o+Math.imul(j,ee)|0,n=n+Math.imul(I,re)|0,i=(i=i+Math.imul(I,ne)|0)+Math.imul(M,re)|0,o=o+Math.imul(M,ne)|0,n=n+Math.imul(B,oe)|0,i=(i=i+Math.imul(B,ae)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,ae)|0,n=n+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(P,ue)|0,o=o+Math.imul(P,ce)|0,n=n+Math.imul(_,de)|0,i=(i=i+Math.imul(_,le)|0)+Math.imul(S,de)|0,o=o+Math.imul(S,le)|0;var Oe=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,be)|0)+Math.imul(A,pe)|0))<<13)|0;c=((o=o+Math.imul(A,be)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,ee))+Math.imul(L,$)|0,o=Math.imul(L,ee),n=n+Math.imul(R,re)|0,i=(i=i+Math.imul(R,ne)|0)+Math.imul(j,re)|0,o=o+Math.imul(j,ne)|0,n=n+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,ae)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,ae)|0,n=n+Math.imul(B,ue)|0,i=(i=i+Math.imul(B,ce)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,ce)|0,n=n+Math.imul(x,de)|0,i=(i=i+Math.imul(x,le)|0)+Math.imul(P,de)|0,o=o+Math.imul(P,le)|0;var Be=(c+(n=n+Math.imul(_,pe)|0)|0)+((8191&(i=(i=i+Math.imul(_,be)|0)+Math.imul(S,pe)|0))<<13)|0;c=((o=o+Math.imul(S,be)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(F,re),i=(i=Math.imul(F,ne))+Math.imul(L,re)|0,o=Math.imul(L,ne),n=n+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,ae)|0,n=n+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,n=n+Math.imul(B,de)|0,i=(i=i+Math.imul(B,le)|0)+Math.imul(T,de)|0,o=o+Math.imul(T,le)|0;var Te=(c+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,be)|0)+Math.imul(P,pe)|0))<<13)|0;c=((o=o+Math.imul(P,be)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(F,oe),i=(i=Math.imul(F,ae))+Math.imul(L,oe)|0,o=Math.imul(L,ae),n=n+Math.imul(R,ue)|0,i=(i=i+Math.imul(R,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,n=n+Math.imul(I,de)|0,i=(i=i+Math.imul(I,le)|0)+Math.imul(M,de)|0,o=o+Math.imul(M,le)|0;var Ce=(c+(n=n+Math.imul(B,pe)|0)|0)+((8191&(i=(i=i+Math.imul(B,be)|0)+Math.imul(T,pe)|0))<<13)|0;c=((o=o+Math.imul(T,be)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(F,ue),i=(i=Math.imul(F,ce))+Math.imul(L,ue)|0,o=Math.imul(L,ce),n=n+Math.imul(R,de)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(j,de)|0,o=o+Math.imul(j,le)|0;var Ie=(c+(n=n+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,be)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,be)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(F,de),i=(i=Math.imul(F,le))+Math.imul(L,de)|0,o=Math.imul(L,le);var Me=(c+(n=n+Math.imul(R,pe)|0)|0)+((8191&(i=(i=i+Math.imul(R,be)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,be)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Ue=(c+(n=Math.imul(F,pe))|0)+((8191&(i=(i=Math.imul(F,be))+Math.imul(L,pe)|0))<<13)|0;return c=((o=Math.imul(L,be))+(i>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,u[0]=ye,u[1]=me,u[2]=ve,u[3]=ge,u[4]=we,u[5]=Ae,u[6]=ke,u[7]=_e,u[8]=Se,u[9]=Ee,u[10]=xe,u[11]=Pe,u[12]=Oe,u[13]=Be,u[14]=Te,u[15]=Ce,u[16]=Ie,u[17]=Me,u[18]=Ue,0!==c&&(u[19]=c,r.length++),r};function v(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.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(e,t,r){return v(e,t,r)}function w(e,t){this.x=e,this.y=t}Math.imul||(m=y),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):r<63?y(this,e,t):r<1024?v(this,e,t):g(this,e,t)},w.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},w.prototype.permute=function(e,t,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*t;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),t?this.ineg():this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i&1}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,n=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t=0),n=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,c=0;c=0&&(0!==f||c>=n);c--){var d=0|this.words[c];this.words[c]=f<<26-o|d>>>o,f=d&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<=0);var t=e%26,r=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var n=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>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(e,t){var r=(this.length,e.length),n=this.clone(),i=e,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"!==t){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var l=67108864*(0|n.words[i.length+d])+(0|n.words[i.length+d-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,d);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,d),n.isZero()||(n.negative^=1);s&&(s.words[d]=l)}return s&&s._strip(),n._strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(e,t,r){return i(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:n,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modrn(e.words[0]))}:this._wordDiv(e,t);var n,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modrn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=(1<<26)%e,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%e;return t?-n:n},a.prototype.modn=function(e){return this.modrn(e)},a.prototype.idivn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/e|0,r=o%e}return this._strip(),t?this.ineg():this},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var f=r.clone(),d=t.clone();!t.isZero();){for(var l=0,h=1;0==(t.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(d)),n.iushrn(1),o.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(s),o.isub(u)):(r.isub(t),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(c)}},a.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var d=0,l=1;0==(r.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(r.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(n=0===t.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(e),n},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/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(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:ne.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new P(e)},a.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},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(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var A={k256:null,p224:null,p192:null,p25519:null};function k(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){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 E(){k.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){k.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function P(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function O(e){P.call(this,e),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 e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},k.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},k.prototype.split=function(e,t){e.iushrn(this.n,0,t)},k.prototype.imulK=function(e){return e.imul(this.k)},o(_,k),_.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,o=a}o>>>=22,e.words[i-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(A[e])return A[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new E;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new x}return A[e]=t,t},P.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},P.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},P.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(d(e,e.umod(this.m)._forceRed(this)),e)},P.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},P.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},P.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},P.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},P.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},P.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},P.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},P.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},P.prototype.isqr=function(e){return this.imul(e,e.clone())},P.prototype.sqr=function(e){return this.mul(e,e)},P.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,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(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new a(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var d=this.pow(f,n),l=this.pow(e,n.addn(1).iushrn(1)),h=this.pow(e,n),p=o;0!==h.cmp(s);){for(var b=h,y=0;0!==b.cmp(s);y++)b=b.redSqr();i(y=0;n--){for(var c=t.words[n],f=u-1;f>=0;f--){var d=c>>f&1;i!==r[0]&&(i=this.sqr(i)),0!==d||0!==o?(o<<=1,o|=d,(4==++s||0===n&&0===f)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},P.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},P.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new O(e)},o(O,P),O.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},O.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},O.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),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(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),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(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e)},2202:(e,t,r)=>{"use strict";var n,i=r(8847)(r(3355));function o(e){this.rand=e}if(e.exports=function(e){return n||(n=new o(null)),n.generate(e)},e.exports.Rand=o,o.prototype.generate=function(e){return this._rand(e)},o.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r{"use strict";var n=r(8850).Buffer;function i(e){n.isBuffer(e)||(e=n.from(e));for(var t=e.length/4|0,r=new Array(t),i=0;i>>24]^f[p>>>16&255]^d[b>>>8&255]^l[255&y]^t[m++],a=c[p>>>24]^f[b>>>16&255]^d[y>>>8&255]^l[255&h]^t[m++],s=c[b>>>24]^f[y>>>16&255]^d[h>>>8&255]^l[255&p]^t[m++],u=c[y>>>24]^f[h>>>16&255]^d[p>>>8&255]^l[255&b]^t[m++],h=o,p=a,b=s,y=u;return o=(n[h>>>24]<<24|n[p>>>16&255]<<16|n[b>>>8&255]<<8|n[255&y])^t[m++],a=(n[p>>>24]<<24|n[b>>>16&255]<<16|n[y>>>8&255]<<8|n[255&h])^t[m++],s=(n[b>>>24]<<24|n[y>>>16&255]<<16|n[h>>>8&255]<<8|n[255&p])^t[m++],u=(n[y>>>24]<<24|n[h>>>16&255]<<16|n[p>>>8&255]<<8|n[255&b])^t[m++],[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 e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var c=s^s<<1^s<<2^s<<3^s<<4;c=c>>>8^255&c^99,r[a]=c,n[c]=a;var f=e[a],d=e[f],l=e[d],h=257*e[c]^16843008*c;i[0][a]=h<<24|h>>>8,i[1][a]=h<<16|h>>>16,i[2][a]=h<<8|h>>>24,i[3][a]=h,h=16843009*l^65537*d^257*f^16843008*a,o[0][c]=h<<24|h>>>8,o[1][c]=h<<16|h>>>16,o[2][c]=h<<8|h>>>24,o[3][c]=h,0===a?a=s=1:(a=f^e[e[e[l^f]]],s^=e[e[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function c(e){this._key=i(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+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/t|0]<<24):t>6&&o%t==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-t]^a}for(var c=[],f=0;f>>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=c},c.prototype.encryptBlockRaw=function(e){return a(e=i(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=n.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},c.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var r=a(e,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},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},426:(e,t,r)=>{"use strict";var n=r(7494),i=r(8850).Buffer,o=r(3013),a=r(1736),s=r(6626),u=r(6316),c=r(7557);function f(e,t,r,a){o.call(this);var u=i.alloc(4,0);this._cipher=new n.AES(t);var f=this._cipher.encryptBlock(u);this._ghash=new s(f),r=function(e,t,r){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var n=new s(r),o=t.length,a=o%16;n.update(t),a&&(a=16-a,n.update(i.alloc(a,0))),n.update(i.alloc(8,0));var u=8*o,f=i.alloc(8);f.writeUIntBE(u,0,8),n.update(f),e._finID=n.state;var d=i.from(e._finID);return c(d),d}(this,r,f),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}a(f,o),f.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},f.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var n=Math.min(e.length,t.length),i=0;i{"use strict";var n=r(5478),i=r(2184),o=r(4946);t.createCipher=t.Cipher=n.createCipher,t.createCipheriv=t.Cipheriv=n.createCipheriv,t.createDecipher=t.Decipher=i.createDecipher,t.createDecipheriv=t.Decipheriv=i.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(o)}},2184:(e,t,r)=>{"use strict";var n=r(426),i=r(8850).Buffer,o=r(8408),a=r(1408),s=r(3013),u=r(7494),c=r(7085);function f(e,t,r){s.call(this),this._cache=new d,this._last=void 0,this._cipher=new u.AES(t),this._prev=i.from(r),this._mode=e,this._autopadding=!0}function d(){this.cache=i.allocUnsafe(0)}function l(e,t,r){var s=o[e.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 t&&(t=i.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===s.type?new a(s.module,t,r,!0):"auth"===s.type?new n(s.module,t,r,!0):new f(s.module,t,r)}r(1736)(f,s),f.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return i.concat(n)},f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");for(var r=-1;++r16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},d.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var r=o[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=c(t,!1,r.key,r.iv);return l(e,n.key,n.iv)},t.createDecipheriv=l},5478:(e,t,r)=>{"use strict";var n=r(8408),i=r(426),o=r(8850).Buffer,a=r(1408),s=r(3013),u=r(7494),c=r(7085);function f(e,t,r){s.call(this),this._cache=new l,this._cipher=new u.AES(t),this._prev=o.from(r),this._mode=e,this._autopadding=!0}r(1736)(f,s),f.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return o.concat(n)};var d=o.alloc(16,16);function l(){this.cache=o.allocUnsafe(0)}function h(e,t,r){var s=n[e.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=o.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===s.type?new a(s.module,t,r):"auth"===s.type?new i(s.module,t,r):new f(s.module,t,r)}f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(d))throw this._cipher.scrub(),new Error("data not multiple of block length")},f.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},l.prototype.add=function(e){this.cache=o.concat([this.cache,e])},l.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},l.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),r=-1;++r{"use strict";var n=r(8850).Buffer,i=n.alloc(16,0);function o(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function a(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(e){for(var t=-1;++t0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},a.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},a.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=a},7557:e=>{"use strict";e.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},7427:(e,t,r)=>{"use strict";var n=r(6316);t.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},t.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return n(i,r)}},4030:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(6316);function o(e,t,r){var o=t.length,a=i(t,e._cache);return e._cache=e._cache.slice(o),e._prev=n.concat([e._prev,r?t:a]),a}t.encrypt=function(e,t,r){for(var i,a=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){a=n.concat([a,o(e,t,r)]);break}i=e._cache.length,a=n.concat([a,o(e,t.slice(0,i),r)]),t=t.slice(i)}return a}},3206:(e,t,r)=>{"use strict";var n=r(8850).Buffer;function i(e,t,r){for(var n,i,a=-1,s=0;++a<8;)n=t&1<<7-a?128:0,s+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^n))>>a%8,e._prev=o(e._prev,r?n:i);return s}function o(e,t){var r=e.length,i=-1,o=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++i>7;return o}t.encrypt=function(e,t,r){for(var o=t.length,a=n.allocUnsafe(o),s=-1;++s{"use strict";var n=r(8850).Buffer;function i(e,t,r){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:i])]),i}t.encrypt=function(e,t,r){for(var o=t.length,a=n.allocUnsafe(o),s=-1;++s{"use strict";var n=r(6316),i=r(8850).Buffer,o=r(7557);function a(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var r=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*r)]);for(var s=0;s{"use strict";t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},8408:(e,t,r)=>{"use strict";var n={ECB:r(9297),CBC:r(7427),CFB:r(4030),CFB8:r(4726),CFB1:r(3206),OFB:r(1962),CTR:r(2802),GCM:r(2802)},i=r(4946);for(var o in i)i[o].module=n[i[o].mode];e.exports=i},1962:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(6316);function o(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(e,t){for(;e._cache.length{"use strict";var n=r(7494),i=r(8850).Buffer,o=r(3013);function a(e,t,r,a){o.call(this),this._cipher=new n.AES(t),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._mode=e}r(1736)(a,o),a.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},a.prototype._final=function(){this._cipher.scrub()},e.exports=a},6805:(e,t,r)=>{"use strict";var n=r(9120),i=r(8073),o=r(8408),a=r(867),s=r(7085);function u(e,t,r){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,r);if(a[e])return new n({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function c(e,t,r){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,r);if(a[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!a[e])throw new TypeError("invalid suite type");r=8*a[e].key,n=a[e].iv}var i=s(t,!1,r,n);return u(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!a[e])throw new TypeError("invalid suite type");r=8*a[e].key,n=a[e].iv}var i=s(t,!1,r,n);return c(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(a).concat(i.getCiphers())}},9120:(e,t,r)=>{"use strict";var n=r(3013),i=r(5626),o=r(1736),a=r(8850).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(e){n.call(this);var t,r=e.mode.toLowerCase(),i=s[r];t=e.decrypt?"decrypt":"encrypt";var o=e.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=e.iv;a.isBuffer(u)||(u=a.from(u)),this._des=i.create({key:o,iv:u,type:t})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],e.exports=u,o(u,n),u.prototype._update=function(e){return a.from(this._des.update(e))},u.prototype._final=function(){return a.from(this._des.final())}},867:(e,t)=>{"use strict";t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},9782:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(1734),o=r(5010);function a(e){var t,r=e.modulus.byteLength();do{t=new i(o(r))}while(t.cmp(e.modulus)>=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function s(e,t){var r=function(e){var t=a(e);return{blinder:t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(t),o=t.modulus.byteLength(),s=new i(e).mul(r.blinder).umod(t.modulus),u=s.toRed(i.mont(t.prime1)),c=s.toRed(i.mont(t.prime2)),f=t.coefficient,d=t.prime1,l=t.prime2,h=u.redPow(t.exponent1).fromRed(),p=c.redPow(t.exponent2).fromRed(),b=h.isub(p).imul(f).umod(d).imul(l);return p.iadd(b).imul(r.unblinder).umod(t.modulus).toArrayLike(n,"be",o)}s.getr=a,e.exports=s},6561:(e,t,r)=>{"use strict";e.exports=r(5207)},9527:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(5866),o=r(6505),a=r(1736),s=r(1628),u=r(5410),c=r(5207);function f(e){o.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function d(e){o.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function l(e){return new f(e)}function h(e){return new d(e)}Object.keys(c).forEach((function(e){c[e].id=n.from(c[e].id,"hex"),c[e.toLowerCase()]=c[e]})),a(f,o.Writable),f.prototype._write=function(e,t,r){this._hash.update(e),r()},f.prototype.update=function(e,t){return"string"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},f.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=s(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},a(d,o.Writable),d.prototype._write=function(e,t,r){this._hash.update(e),r()},d.prototype.update=function(e,t){return"string"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},d.prototype.verify=function(e,t,r){"string"==typeof t&&(t=n.from(t,r)),this.end();var i=this._hash.digest();return u(t,i,e,this._signType,this._tag)},e.exports={Sign:l,Verify:h,createSign:l,createVerify:h}},1628:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(4424),o=r(9782),a=r(6597).ec,s=r(1734),u=r(7552),c=r(1308);function f(e,t,r,o){if((e=n.from(e.toArray())).length0&&r.ishrn(n),r}function l(e,t,r){var o,a;do{for(o=n.alloc(0);8*o.length{"use strict";var n=r(8850).Buffer,i=r(1734),o=r(6597).ec,a=r(7552),s=r(1308);function u(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,t,r,c,f){var d=a(r);if("ec"===d.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,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(t,e,a)}(e,t,d)}if("dsa"===d.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,r){var n=r.data.p,o=r.data.q,s=r.data.g,c=r.data.pub_key,f=a.signature.decode(e,"der"),d=f.s,l=f.r;u(d,o),u(l,o);var h=i.mont(n),p=d.invm(o);return 0===s.toRed(h).redPow(new i(t).mul(p).mod(o)).fromRed().mul(c.toRed(h).redPow(l.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(l)}(e,t,d)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");t=n.concat([f,t]);for(var l=d.modulus.byteLength(),h=[1],p=0;t.length+h.length+2{"use strict";var n=r(9033).Buffer;e.exports=function(e,t){for(var r=Math.min(e.length,t.length),i=new n(r),o=0;o{"use strict";var n=r(4919),i=r(3226),o=r(9484);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return D(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(e).length;default:if(n)return D(e).length;t=(""+t).toLowerCase(),n=!0}}function b(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return B(this,t,r);case"base64":return E(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.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:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=u.from(t,n)),u.isBuffer(t))return 0===t.length?-1:v(e,t,r,n,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):v(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function v(e,t,r,n,i){var o,a=1,s=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var f=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var d=!0,l=0;li&&(n=i):n=i;var o=t.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}(t,e.length-r),e,r,n)}function E(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=r)switch(d){case 1:c<128&&(f=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(f=u)}null===f?(f=65533,d=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=d}return function(e){var t=e.length;if(t<=P)return String.fromCharCode.apply(String,e);for(var r="",n=0;n0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},u.prototype.compare=function(e,t,r,n,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),c=this.slice(n,i),f=e.slice(t,r),d=0;di)&&(r=i),e.length>0&&(r<0||t<0)||t>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,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return A(this,e,t,r);case"latin1":case"binary":return k(this,e,t,r);case"base64":return _(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,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)}};var P=4096;function O(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;ii)&&(r=i);for(var o="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,r,n,i,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function U(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function R(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function j(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(e,t,r,n,o){return o||j(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,o){return o||j(e,0,r,8),i.write(e,t,r,n,52,8),r+8}u.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},u.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},u.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||M(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},u.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):U(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):U(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);M(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},u.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);M(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},u.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):U(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):U(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,r){return N(this,e,t,!0,r)},u.prototype.writeFloatBE=function(e,t,r){return N(this,e,t,!1,r)},u.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},u.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},u.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=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),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=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((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function H(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}},3675:e=>{"use strict";e.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},593:(e,t,r)=>{"use strict";var n=r(7701),i=r(4373),o=i(n("String.prototype.indexOf"));e.exports=function(e,t){var r=n(e,!!t);return"function"==typeof r&&o(e,".prototype.")>-1?i(r):r}},4373:(e,t,r)=>{"use strict";var n=r(3767),i=r(7701),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(a,o),u=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(e){c=null}e.exports=function(e){var t=s(n,a,arguments);if(u&&c){var r=u(t,"length");r.configurable&&c(t,"length",{value:1+f(0,e.length-(arguments.length-1))})}return t};var d=function(){return s(n,o,arguments)};c?c(e.exports,"apply",{value:d}):e.exports.apply=d},7759:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(3630),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(9033).Buffer,i=r(6657),o=r(5262),a=r(1842),s=r(779);(t=e.exports).addPrefix=function(e,t){var r;if(n.isBuffer(e))r=s.varintBufferEncode(e);else{if(!a[e])throw new Error("multicodec not recognized");r=a[e]}return n.concat([r,t])},t.rmPrefix=function(e){return i.decode(e),e.slice(i.decode.bytes)},t.getCodec=function(e){var t=i.decode(e),r=o.get(t);if(void 0===r)throw new Error("Code ".concat(t," not found"));return r},t.getName=function(e){return o.get(e)},t.getNumber=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return s.varintBufferDecode(t)[0]},t.getCode=function(e){return i.decode(e)},t.getCodeVarint=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return t},t.getVarint=function(e){return i.encode(e)};var u=r(7759);Object.assign(t,u),t.print=r(9268)},5262:(e,t,r)=>{"use strict";var n=r(3630),i=new Map;for(var o in n){var a=n[o];i.set(a,o)}e.exports=Object.freeze(i)},9268:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(3630),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(6657),i=r(9033).Buffer;function o(e){return parseInt(e.toString("hex"),16)}function a(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),i.from(t,"hex")}e.exports={numberToBuffer:a,bufferToNumber:o,varintBufferEncode:function(e){return i.from(n.encode(o(e)))},varintBufferDecode:function(e){return a(n.decode(e))},varintEncode:function(e){return i.from(n.encode(e))}}},1842:(e,t,r)=>{"use strict";var n=r(3630),i=r(779).varintEncode,o={};for(var a in n){var s=n[a];o[a]=i(s)}e.exports=Object.freeze(o)},9976:(e,t,r)=>{"use strict";var n=r(7748),i=r(9033).Buffer,o={checkCIDComponents:function(e){if(null==e)return"null values are not valid CIDs";if(0!==e.version&&1!==e.version)return"Invalid version, must be a number equal to 1 or 0";if("string"!=typeof e.codec)return"codec must be string";if(0===e.version){if("dag-pb"!==e.codec)return"codec must be 'dag-pb' for CIDv0";if("base58btc"!==e.multibaseName)return"multibaseName must be 'base58btc' for CIDv0"}if(!i.isBuffer(e.multihash))return"multihash must be a Buffer";try{n.validate(e.multihash)}catch(e){var t=e.message;return t||(t="Multihash validation failed"),t}}};e.exports=o},2753:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=r(9033).Buffer,s=r(7748),u=r(6086),c=r(7223),f=r(3630),d=r(9976),l=r(3162)(function(e){function t(e,r,n,o){if((0,i.default)(this,t),l.isCID(e)){var f=e;return this.version=f.version,this.codec=f.codec,this.multihash=a.from(f.multihash),void(this.multibaseName=f.multibaseName||(0===f.version?"base58btc":"base32"))}if("string"==typeof e){var d=u.isEncoded(e);if(d){var h=u.decode(e);this.version=parseInt(h.slice(0,1).toString("hex"),16),this.codec=c.getCodec(h.slice(1)),this.multihash=c.rmPrefix(h.slice(1)),this.multibaseName=d}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),b=parseInt(p.toString("hex"),16);if(1===b){var y=e;this.version=b,this.codec=c.getCodec(y.slice(1)),this.multihash=c.rmPrefix(y.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 e=this._buffer;if(!e){if(0===this.version)e=this.multihash;else{if(1!==this.version)throw new Error("unsupported version");e=a.concat([a.from("01","hex"),c.getCodeVarint(this.codec),this.multihash])}Object.defineProperty(this,"_buffer",{value:e})}return e}},{key:"prefix",get:function(){return a.concat([a.from("0".concat(this.version),"hex"),c.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 e=s.decode(this.multihash),t=e.name,r=e.length;if("sha2-256"!==t)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 e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.multibaseName;if(this.string&&e===this.multibaseName)return this.string;var t=null;if(0===this.version){if("base58btc"!==e)throw new Error("not supported with CIDv0, to support different bases, please migrate the instance do CIDv1, you can do that through cid.toV1()");t=s.toB58String(this.multihash)}else{if(1!==this.version)throw new Error("unsupported version");t=u.encode(e,this.buffer).toString()}return e===this.multibaseName&&Object.defineProperty(this,"string",{value:t}),t}},{key:e,value:function(){return"CID("+this.toString()+")"}},{key:"toString",value:function(e){return this.toBaseEncodedString(e)}},{key:"toJSON",value:function(){return{codec:this.codec,version:this.version,hash:this.multihash}}},{key:"equals",value:function(e){return this.codec===e.codec&&this.version===e.version&&this.multihash.equals(e.multihash)}}],[{key:"validateCID",value:function(e){var t=d.checkCIDComponents(e);if(t)throw new Error(t)}}]),t}(Symbol.for("nodejs.util.inspect.custom")),{className:"CID",symbolName:"@ipld/js-cid/CID"});l.codecs=f,e.exports=l},3013:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(7245).Transform,o=r(3462).s;function a(e){i.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(1736)(a,i),a.prototype.update=function(e,t,r){"string"==typeof e&&(e=n.from(e,t));var i=this._update(e);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(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{r(n)}},a.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},a.prototype._finalOrDigest=function(e){var t=this.__final()||n.alloc(0);return e&&(t=this._toString(t,e,!0)),t},a.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},e.exports=a},3162:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(4727)),o=n(r(775)),a=n(r(9721)),s=n(r(8985)),u=n(r(8975)),c=n(r(5163)),f=n(r(4650)),d=n(r(1949));e.exports=function(e,t){var r=t.className,n=t.symbolName,i=Symbol.for(n),l=(0,o.default)({},r,function(e,t){(0,c.default)(h,e);var n,o,l=(n=h,o=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(e){return!1}}(),function(){var e,t=(0,d.default)(n);if(o){var r=(0,d.default)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,f.default)(this,e)});function h(){var e;(0,a.default)(this,h);for(var t=arguments.length,r=new Array(t),n=0;n{"use strict";var n=r(2753);t.cidV0ToV1Base32=function(e){var t=new n(e);return 0===t.version&&(t=t.toV1()),t.toString("base32")}},4308:(e,t,r)=>{"use strict";var n=r(9206),i=r(9512),o=i.hexStringToBuffer,a=i.profiles,s=r(6834).cidV0ToV1Base32;e.exports={helpers:{cidV0ToV1Base32:s},decode:function(e){var t=o(e),r=n.getCodec(t),i=n.rmPrefix(t),s=a[r];return s||(s=a.default),s.decode(i)},fromIpfs:function(e){return this.encode("ipfs-ns",e)},fromSwarm:function(e){return this.encode("swarm-ns",e)},encode:function(e,t){var r=a[e];r||(r=a.default);var i=r.encode(t);return n.addPrefix(e,i).toString("hex")},getCodec:function(e){var t=o(e);return n.getCodec(t)}}},9512:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(2753),o=r(7748),a=function(e){var t,r=e.slice(0,2),n=e.slice(2);return t="0x"===r?n:e,o.fromHexString(t)},s={swarm:function(e){var t=o.encode(a(e),"keccak-256");return new i(1,"swarm-manifest",t).buffer},ipfs:function(e){var t=o.fromB58String(e);return new i(1,"dag-pb",t).buffer},utf8:function(e){return n.from(e,"utf8")}},u={hexMultiHash:function(e){var t=new i(e);return o.decode(t.multihash).digest.toString("hex")},b58MultiHash:function(e){var t=new i(e);return o.toB58String(t.multihash)},utf8:function(e){return e.toString("utf8")}},c={"swarm-ns":{encode:s.swarm,decode:u.hexMultiHash},"ipfs-ns":{encode:s.ipfs,decode:u.b58MultiHash},"ipns-ns":{encode:s.ipfs,decode:u.b58MultiHash},default:{encode:s.utf8,decode:u.utf8}};t.hexStringToBuffer=a,t.profiles=c},4628:(e,t,r)=>{"use strict";var n,i,o=r(8847)(r(3355));i=function(e){e.version="1.2.2";var t=function(){for(var e=0,t=new Array(256),r=0;256!=r;++r)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=r)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[r]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}(),r=function(e){var t=0,r=0,n=0,i="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(n=0;256!=n;++n)i[n]=e[n];for(n=0;256!=n;++n)for(r=e[n],t=256+n;t<4096;t+=256)r=i[t]=r>>>8^e[255&r];var o=[];for(n=1;16!=n;++n)o[n-1]="undefined"!=typeof Int32Array?i.subarray(256*n,256*n+256):i.slice(256*n,256*n+256);return o}(t),n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],c=r[6],f=r[7],d=r[8],l=r[9],h=r[10],p=r[11],b=r[12],y=r[13],m=r[14];e.table=t,e.bstr=function(e,r){for(var n=-1^r,i=0,o=e.length;i>>8^t[255&(n^e.charCodeAt(i++))];return~n},e.buf=function(e,r){for(var v=-1^r,g=e.length-15,w=0;w>8&255]^b[e[w++]^v>>16&255]^p[e[w++]^v>>>24]^h[e[w++]]^l[e[w++]]^d[e[w++]]^f[e[w++]]^c[e[w++]]^u[e[w++]]^s[e[w++]]^a[e[w++]]^o[e[w++]]^i[e[w++]]^n[e[w++]]^t[e[w++]];for(g+=15;w>>8^t[255&(v^e[w++])];return~v},e.str=function(e,r){for(var n=-1^r,i=0,o=e.length,a=0,s=0;i>>8^t[255&(n^a)]:a<2048?n=(n=n>>>8^t[255&(n^(192|a>>6&31))])>>>8^t[255&(n^(128|63&a))]:a>=55296&&a<57344?(a=64+(1023&a),s=1023&e.charCodeAt(i++),n=(n=(n=(n=n>>>8^t[255&(n^(240|a>>8&7))])>>>8^t[255&(n^(128|a>>2&63))])>>>8^t[255&(n^(128|s>>6&15|(3&a)<<4))])>>>8^t[255&(n^(128|63&s))]):n=(n=(n=n>>>8^t[255&(n^(224|a>>12&15))])>>>8^t[255&(n^(128|a>>6&63))])>>>8^t[255&(n^(128|63&a))];return~n}},"undefined"==typeof DO_NOT_EXPORT_CRC?"object"===(0,o.default)(t)?i(t):(n=function(){var e={};return i(e),e}.call(t,r,t,e),void 0===n||(e.exports=n)):i({})},5102:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(6597),o=r(1734);e.exports=function(e){return new s(e)};var a={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function s(e){this.curveType=a[e],this.curveType||(this.curveType={name:e}),this.curve=new i.ec(this.curveType.name),this.keys=void 0}function u(e,t,r){Array.isArray(e)||(e=e.toArray());var i=new n(e);if(r&&i.length{"use strict";var n=r(1736),i=r(807),o=r(6707),a=r(1708),s=r(3013);function u(e){s.call(this,"digest"),this._hash=e}n(u,s),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new u(a(e))}},5349:(e,t,r)=>{"use strict";var n=r(807);e.exports=function(e){return(new n).update(e).digest()}},4424:(e,t,r)=>{"use strict";var n=r(1736),i=r(9956),o=r(3013),a=r(8850).Buffer,s=r(5349),u=r(6707),c=r(1708),f=a.alloc(128);function d(e,t){o.call(this,"digest"),"string"==typeof t&&(t=a.from(t));var r="sha512"===e||"sha384"===e?128:64;this._alg=e,this._key=t,t.length>r?t=("rmd160"===e?new u:c(e)).update(t).digest():t.length{"use strict";var n=r(1736),i=r(8850).Buffer,o=r(3013),a=i.alloc(128),s=64;function u(e,t){o.call(this,"digest"),"string"==typeof t&&(t=i.from(t)),this._alg=e,this._key=t,t.length>s?t=e(t):t.length{"use strict";!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function c(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function f(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function l(e){this.map={},e instanceof l?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function b(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||u(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(b)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=p(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function w(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function A(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new l(t.headers),this.url=t.url||"",this._initBody(e)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},m.call(g.prototype),m.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:""});return e.type="error",e};var k=[301,302,303,307,308];A.redirect=function(e,t){if(-1===k.indexOf(t))throw new RangeError("Invalid status code");return new A(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,r){return new Promise((function(n,o){var a=new g(e,r);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function u(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new l,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;n(new A(i,r))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&i&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",u),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",u)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}_.polyfill=!0,e.fetch||(e.fetch=_,e.Headers=l,e.Request=g,e.Response=A),t.Headers=l,t.Request=g,t.Response=A,t.fetch=_,Object.defineProperty(t,"__esModule",{value:!0})}({})}("undefined"!=typeof self?self:void 0)},4293:(e,t,r)=>{"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=r(5010),t.createHash=t.Hash=r(5866),t.createHmac=t.Hmac=r(4424);var n=r(6561),i=Object.keys(n),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);t.getHashes=function(){return o};var a=r(4192);t.pbkdf2=a.pbkdf2,t.pbkdf2Sync=a.pbkdf2Sync;var s=r(6805);t.Cipher=s.Cipher,t.createCipher=s.createCipher,t.Cipheriv=s.Cipheriv,t.createCipheriv=s.createCipheriv,t.Decipher=s.Decipher,t.createDecipher=s.createDecipher,t.Decipheriv=s.Decipheriv,t.createDecipheriv=s.createDecipheriv,t.getCiphers=s.getCiphers,t.listCiphers=s.listCiphers;var u=r(8333);t.DiffieHellmanGroup=u.DiffieHellmanGroup,t.createDiffieHellmanGroup=u.createDiffieHellmanGroup,t.getDiffieHellman=u.getDiffieHellman,t.createDiffieHellman=u.createDiffieHellman,t.DiffieHellman=u.DiffieHellman;var c=r(9527);t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=r(5102);var f=r(6991);t.publicEncrypt=f.publicEncrypt,t.privateEncrypt=f.privateEncrypt,t.publicDecrypt=f.publicDecrypt,t.privateDecrypt=f.privateDecrypt;var d=r(6509);t.randomFill=d.randomFill,t.randomFillSync=d.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.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}},34:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i="%[a-f0-9]{2}",o=new RegExp("("+i+")|([^%]+?)","gi"),a=new RegExp("("+i+")+","gi");function s(e,t){try{return[decodeURIComponent(e.join(""))]}catch(e){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),n=e.slice(t);return Array.prototype.concat.call([],s(r),s(n))}function u(e){try{return decodeURIComponent(e)}catch(n){for(var t=e.match(o)||[],r=1;r{"use strict";t.utils=r(319),t.Cipher=r(9591),t.DES=r(3049),t.CBC=r(4375),t.EDE=r(9413)},4375:(e,t,r)=>{"use strict";var n=r(4504),i=r(1736),o={};function a(e){n.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t{"use strict";var n=r(4504);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),n=0;n0;n--)t+=this._buffer(e,t),r+=this._flushBuffer(i,r);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t{"use strict";var n=r(4504),i=r(1736),o=r(319),a=r(9591);function s(){this.tmp=new Array(2),this.keys=null}function u(e){a.call(this,e);var t=new s;this._desState=t,this.deriveKeys(t,e.key)}i(u,a),e.exports=u,u.create=function(e){return new u(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];u.prototype.deriveKeys=function(e,t){e.keys=new Array(32),n.equal(t.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(t,0),i=o.readUInt32BE(t,4);o.pc1(r,i,e.tmp,0),r=e.tmp[0],i=e.tmp[1];for(var a=0;a>>1];r=o.r28shl(r,s),i=o.r28shl(i,s),o.pc2(r,i,e.keys,a)}},u.prototype._update=function(e,t,r,n){var i=this._desState,a=o.readUInt32BE(e,t),s=o.readUInt32BE(e,t+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(e,t){for(var r=e.length-t,n=t;n>>0,a=l}o.rip(s,a,n,i)},u.prototype._decrypt=function(e,t,r,n,i){for(var a=r,s=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],f=e.keys[u+1];o.expand(a,e.tmp,0),c^=e.tmp[0],f^=e.tmp[1];var d=o.substitute(c,f),l=a;a=(s^o.permute(d))>>>0,s=l}o.rip(a,s,n,i)}},9413:(e,t,r)=>{"use strict";var n=r(4504),i=r(1736),o=r(9591),a=r(3049);function s(e,t){n.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),i=t.slice(8,16),o=t.slice(16,24);this.ciphers="encrypt"===e?[a.create({type:"encrypt",key:r}),a.create({type:"decrypt",key:i}),a.create({type:"encrypt",key:o})]:[a.create({type:"decrypt",key:o}),a.create({type:"encrypt",key:i}),a.create({type:"decrypt",key:r})]}function u(e){o.call(this,e);var t=new s(this.type,this.options.key);this._edeState=t}i(u,o),e.exports=u,u.create=function(e){return new u(e)},u.prototype._update=function(e,t,r,n){var i=this._edeState;i.ciphers[0]._update(e,t,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},u.prototype._pad=a.prototype._pad,u.prototype._unpad=a.prototype._unpad},319:(e,t)=>{"use strict";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},t.ip=function(e,t,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|=t>>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=e>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},t.rip=function(e,t,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)i<<=1,i|=t>>>s+a&1,i<<=1,i|=e>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=t>>>s+a&1,o<<=1,o|=e>>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},t.pc1=function(e,t,r,n){for(var i=0,o=0,a=7;a>=5;a--){for(var 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(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[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];t.pc2=function(e,t,n,i){for(var o=0,a=0,s=r.length>>>1,u=0;u>>r[u]&1;for(u=s;u>>r[u]&1;n[i+0]=o>>>0,n[i+1]=a>>>0},t.expand=function(e,t,r){var n=0,i=0;n=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[r+0]=n>>>0,t[r+1]=i>>>0};var n=[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];t.substitute=function(e,t){for(var r=0,i=0;i<4;i++)r<<=4,r|=n[64*i+(e>>>18-6*i&63)];for(i=0;i<4;i++)r<<=4,r|=n[256+64*i+(t>>>18-6*i&63)];return r>>>0};var i=[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];t.permute=function(e){for(var t=0,r=0;r>>i[r]&1;return t>>>0},t.padSplit=function(e,t,r){for(var n=e.toString(2);n.length{"use strict";var n=r(9033).Buffer,i=r(8557),o=r(9799),a=r(1592),s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(e){var t=new n(o[e].prime,"hex"),r=new n(o[e].gen,"hex");return new a(t,r)},t.createDiffieHellman=t.DiffieHellman=function e(t,r,o,u){return n.isBuffer(r)||void 0===s[r]?e(t,"binary",r,o):(r=r||"binary",u=u||"binary",o=o||new n([2]),n.isBuffer(o)||(o=new n(o,u)),"number"==typeof t?new a(i(t,o),o,!0):(n.isBuffer(t)||(t=new n(t,r)),new a(t,o,!0)))}},1592:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(1734),o=new(r(137)),a=new i(24),s=new i(11),u=new i(10),c=new i(3),f=new i(7),d=r(8557),l=r(5010);function h(e,t){return t=t||"utf8",n.isBuffer(e)||(e=new n(e,t)),this._pub=new i(e),this}function p(e,t){return t=t||"utf8",n.isBuffer(e)||(e=new n(e,t)),this._priv=new i(e),this}e.exports=y;var b={};function y(e,t,r){this.setGenerator(t),this.__prime=new i(e),this._prime=i.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=h,this.setPrivateKey=p):this._primeCode=8}function m(e,t){var r=new n(e.toArray());return t?r.toString(t):r}Object.defineProperty(y.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in b)return b[n];var i,l=0;if(e.isEven()||!d.simpleSieve||!d.fermatTest(e)||!o.test(e))return l+=1,l+="02"===r||"05"===r?8:4,b[n]=l,l;switch(o.test(e.shrn(1))||(l+=2),r){case"02":e.mod(a).cmp(s)&&(l+=8);break;case"05":(i=e.mod(u)).cmp(c)&&i.cmp(f)&&(l+=8);break;default:l+=4}return b[n]=l,l}(this.__prime,this.__gen)),this._primeCode}}),y.prototype.generateKeys=function(){return this._priv||(this._priv=new i(l(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},y.prototype.computeSecret=function(e){var t=(e=(e=new i(e)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new n(t.toArray()),o=this.getPrime();if(r.length{"use strict";var n=r(5010);e.exports=v,v.simpleSieve=y,v.fermatTest=m;var i=r(1734),o=new i(24),a=new(r(137)),s=new i(1),u=new i(2),c=new i(5),f=(new i(16),new i(8),new i(10)),d=new i(3),l=(new i(7),new i(11)),h=new i(4),p=(new i(12),null);function b(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;ie;)r.ishrn(1);if(r.isEven()&&r.iadd(s),r.testn(1)||r.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;r.mod(f).cmp(d);)r.iadd(h)}else for(;r.mod(o).cmp(l);)r.iadd(h);if(y(p=r.shrn(1))&&y(r)&&m(p)&&m(r)&&a.test(p)&&a.test(r))return r}}},6597:(e,t,r)=>{"use strict";var n=t;n.version=r(8597).i8,n.utils=r(7528),n.rand=r(2202),n.curve=r(6063),n.curves=r(506),n.ec=r(8320),n.eddsa=r(8027)},1249:(e,t,r)=>{"use strict";var n=r(1734),i=r(7528),o=i.getNAF,a=i.getJSF,s=i.assert;function u(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.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=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.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 c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){s(e.precomputed);var r=e._getDoubles(),n=o(t,1,this._bitLength),i=(1<=a;f--)u=(u<<1)+n[f];c.push(u)}for(var d=this.jpoint(null,null,null),l=this.jpoint(null,null,null),h=i;h>0;h--){for(a=0;a=0;c--){for(var f=0;c>=0&&0===a[c];c--)f++;if(c>=0&&f++,u=u.dblp(f),c<0)break;var d=a[c];s(0!==d),u="affine"===e.type?d>0?u.mixedAdd(i[d-1>>1]):u.mixedAdd(i[-d-1>>1].neg()):d>0?u.add(i[d-1>>1]):u.add(i[-d-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,i){var s,u,c,f=this._wnafT1,d=this._wnafT2,l=this._wnafT3,h=0;for(s=0;s=1;s-=2){var b=s-1,y=s;if(1===f[b]&&1===f[y]){var m=[t[b],null,null,t[y]];0===t[b].y.cmp(t[y].y)?(m[1]=t[b].add(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg())):0===t[b].y.cmp(t[y].y.redNeg())?(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].add(t[y].neg())):(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[b],r[y]);for(h=Math.max(g[0].length,h),l[b]=new Array(h),l[y]=new Array(h),u=0;u=0;s--){for(var S=0;s>=0;){var E=!0;for(u=0;u=0&&S++,k=k.dblp(S),s<0)break;for(u=0;u0?c=d[u][x-1>>1]:x<0&&(c=d[u][-x-1>>1].neg()),k="affine"===c.type?k.mixedAdd(c):k.add(c))}}for(s=0;s=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i{"use strict";var n=r(7528),i=r(1734),o=r(1736),a=r(1249),s=n.assert;function u(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,a.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.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|e.c)}function c(e,t,r,n,o){a.BasePoint.call(this,e,"projective"),null===t&&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(t,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),e.exports=u,u.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},u.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},u.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.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(t&&!u||!t&&u)&&(s=s.redNeg()),this.point(e,s)},u.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.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(t)throw new Error("invalid point");return this.point(this.zero,e)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},u.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},o(c,a.BasePoint),u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},u.prototype.point=function(e,t,r,n){return new c(this,e,t,r,n)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),a=o.redSub(r),s=n.redSub(t),u=i.redMul(a),c=o.redMul(s),f=i.redMul(s),d=a.redMul(o);return this.curve.point(u,c,d,f)},c.prototype._projDbl=function(){var e,t,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(s)).redAdd(u);this.zOne?(e=a.redSub(s).redSub(u).redMul(c.redSub(this.curve.two)),t=c.redMul(n.redSub(u)),r=c.redSqr().redSub(c).redSub(c)):(i=this.z.redSqr(),o=c.redSub(i).redISub(i),e=a.redSub(s).redISub(u).redMul(o),t=c.redMul(n.redSub(u)),r=c.redMul(o))}else n=s.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),e=this.curve._mulC(a.redISub(n)).redMul(o),t=this.curve._mulC(n).redMul(s.redISub(u)),r=n.redMul(o);return this.curve.point(e,t,r)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),a=i.redSub(n),s=i.redAdd(n),u=r.redAdd(t),c=o.redMul(a),f=s.redMul(u),d=o.redMul(u),l=a.redMul(s);return this.curve.point(c,f,l,d)},c.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),o=this.x.redMul(e.x),a=this.y.redMul(e.y),s=this.curve.d.redMul(o).redMul(a),u=i.redSub(s),c=i.redAdd(s),f=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(a),d=n.redMul(u).redMul(f);return this.curve.twisted?(t=n.redMul(c).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(c)):(t=n.redMul(c).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(c)),this.curve.point(d,t,r)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},c.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},6063:(e,t,r)=>{"use strict";var n=t;n.base=r(1249),n.short=r(3148),n.mont=r(1105),n.edwards=r(1123)},1105:(e,t,r)=>{"use strict";var n=r(1734),i=r(1736),o=r(1249),a=r(7528);function s(e){o.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.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(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,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),e.exports=s,s.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},i(u,o.BasePoint),s.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},s.prototype.point=function(e,t){return new u(this,e,t)},s.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(e,t){return new u(e,t[0],t[1]||e.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.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(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),a=i.redMul(n),s=t.z.redMul(o.redAdd(a).redSqr()),u=t.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,u)},u.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.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(e){return 0===this.getX().cmp(e.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()}},3148:(e,t,r)=>{"use strict";var n=r(7528),i=r(1734),o=r(1736),a=r(1249),s=n.assert;function u(e){a.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.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(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,r,n){a.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,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 f(e,t,r,n){a.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,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),e.exports=u,u.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?r=o[0]:(r=o[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(r)}}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,r,n,o,a,s,u,c,f,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=e,h=this.n.clone(),p=new i(1),b=new i(0),y=new i(0),m=new i(1),v=0;0!==l.cmpn(0);){var g=h.div(l);c=h.sub(g.mul(l)),f=y.sub(g.mul(p));var w=m.sub(g.mul(b));if(!n&&c.cmp(d)<0)t=u.neg(),r=p,n=c.neg(),o=f;else if(n&&2==++v)break;u=c,h=l,l=c,y=p,p=f,m=b,b=w}a=c.neg(),s=f;var A=n.sqr().add(o.sqr());return a.sqr().add(s.sqr()).cmp(A)>=0&&(a=t,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a,b:s}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.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(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).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)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},c.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.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 t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(f,a.BasePoint),u.prototype.jpoint=function(e,t,r){return new f(this,e,t,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.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 c=s.redSqr(),f=c.redMul(s),d=n.redMul(c),l=u.redSqr().redIAdd(f).redISub(d).redISub(d),h=u.redMul(d.redISub(l)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(l,h,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).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(),c=u.redMul(a),f=r.redMul(u),d=s.redSqr().redIAdd(c).redISub(f).redISub(f),l=s.redMul(f.redISub(d)).redISub(i.redMul(c)),h=this.z.redMul(a);return this.curve.jpoint(d,l,h)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},506:(e,t,r)=>{"use strict";var n,i=t,o=r(7198),a=r(6063),s=r(7528).assert;function u(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,c("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"]}),c("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"]}),c("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"]}),c("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"]}),c("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"]}),c("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"]}),c("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(6401)}catch(e){n=void 0}c("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]})},8320:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(9410),a=r(7528),s=r(506),u=r(2202),c=a.assert,f=r(7791),d=r(488);function l(e){if(!(this instanceof l))return new l(e);"string"==typeof e&&(c(Object.prototype.hasOwnProperty.call(s,e),"Unknown curve "+e),e=s[e]),e instanceof s.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=l,l.prototype.keyPair=function(e){return new f(this,e)},l.prototype.keyFromPrivate=function(e,t){return f.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return f.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){e||(e={});for(var t=new o({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||u(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new i(2));;){var a=new i(t.generate(r));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}},l.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},l.prototype.sign=function(e,t,r,a){"object"===(0,n.default)(r)&&(a=r,r=null),a||(a={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new i(e,16));for(var s=this.n.byteLength(),u=t.getPrivate().toArray("be",s),c=e.toArray("be",s),f=new o({hash:this.hash,entropy:u,nonce:c,pers:a.pers,persEnc:a.persEnc||"utf8"}),l=this.n.sub(new i(1)),h=0;;h++){var p=a.k?a.k(h):new i(f.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(l)>=0)){var b=this.g.mul(p);if(!b.isInfinity()){var y=b.getX(),m=y.umod(this.n);if(0!==m.cmpn(0)){var v=p.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var g=(b.getY().isOdd()?1:0)|(0!==y.cmp(m)?2:0);return a.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),g^=1),new d({r:m,s:v,recoveryParam:g})}}}}}},l.prototype.verify=function(e,t,r,n){e=this._truncateToN(new i(e,16)),r=this.keyFromPublic(r,n);var o=(t=new d(t,"hex")).r,a=t.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),c=u.mul(e).umod(this.n),f=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),f)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(c,r.getPublic(),f)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(e,t,r,n){c((3&r)===r,"The recovery param is more than two bits"),t=new d(t,n);var o=this.n,a=new i(e),s=t.r,u=t.s,f=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),f):this.curve.pointFromX(s,f);var h=t.r.invm(o),p=o.sub(a).mul(h).umod(o),b=u.mul(h).umod(o);return this.g.mulAdd(p,s,b)},l.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new d(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},7791:(e,t,r)=>{"use strict";var n=r(1734),i=r(7528).assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.validate()||i(e.validate(),"public point not validated"),e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},488:(e,t,r)=>{"use strict";var n=r(1734),i=r(7528),o=i.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function u(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=t.place;o>>=0;return!(i<=127)&&(t.place=a,i)}function c(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=a,a.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new s;if(48!==e[r.place++])return!1;var o=u(e,r);if(!1===o)return!1;if(o+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var a=u(e,r);if(!1===a)return!1;var c=e.slice(r.place,a+r.place);if(r.place+=a,2!==e[r.place++])return!1;var f=u(e,r);if(!1===f)return!1;if(e.length!==f+r.place)return!1;var d=e.slice(r.place,f+r.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===d[0]){if(!(128&d[1]))return!1;d=d.slice(1)}return this.r=new n(c),this.s=new n(d),this.recoveryParam=null,!0},a.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=c(t),r=c(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];f(n,t.length),(n=n.concat(t)).push(2),f(n,r.length);var o=n.concat(r),a=[48];return f(a,o.length),a=a.concat(o),i.encode(a,e)}},8027:(e,t,r)=>{"use strict";var n=r(7198),i=r(506),o=r(7528),a=o.assert,s=o.parseBytes,u=r(7303),c=r(6646);function f(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof f))return new f(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=f,f.prototype.sign=function(e,t){e=s(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),u=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},f.prototype.verify=function(e,t,r){e=s(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(o)},f.prototype.hashInt=function(){for(var e=this.hash(),t=0;t{"use strict";var n=r(7528),i=n.assert,o=n.parseBytes,a=n.cachedProperty;function s(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}s.fromPublic=function(e,t){return t instanceof s?t:new s(e,{pub:t})},s.fromSecret=function(e,t){return t instanceof s?t:new s(e,{secret:t})},s.prototype.secret=function(){return this._secret},a(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),a(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),a(s,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),a(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),a(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),a(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(e){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},s.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},s.prototype.getSecret=function(e){return i(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},s.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=s},6646:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(7528),a=o.assert,s=o.cachedProperty,u=o.parseBytes;function c(e,t){this.eddsa=e,"object"!==(0,n.default)(t)&&(t=u(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),a(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof i&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(c,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),s(c,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),s(c,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),s(c,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),c.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},c.prototype.toHex=function(){return o.encode(this.toBytes(),"hex").toUpperCase()},e.exports=c},6401:e=>{"use strict";e.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"]]}}},7528:(e,t,r)=>{"use strict";var n=t,i=r(1734),o=r(4504),a=r(6580);n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.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(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,u=e.andln(3)+i&3,c=t.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!=(n=e.andln(7)+i&7)&&5!==n||2!==c?u:-u,r[0].push(a),s=0==(1&c)?0:3!=(n=t.andln(7)+o&7)&&5!==n||2!==u?c:-c,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},6464:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=function(){if("object"===("undefined"==typeof self?"undefined":(0,n.default)(self))&&self)return self;if("object"===("undefined"==typeof window?"undefined":(0,n.default)(window))&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===("undefined"==typeof globalThis?"undefined":(0,n.default)(globalThis))&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return i()}try{return __global__||i()}finally{delete Object.prototype.__global__}}()},4258:(e,t,r)=>{"use strict";var n,i,o,a=r(9142),s=r(8847)(r(3355));o=function(){function e(e){return"function"==typeof e}var t=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},n=0,i=void 0,o=void 0,u=function(e,t){b[n]=e,b[n+1]=t,2===(n+=2)&&(o?o(y):A())},c="undefined"!=typeof window?window:void 0,f=c||{},d=f.MutationObserver||f.WebKitMutationObserver,l="undefined"==typeof self&&void 0!==a&&"[object process]"==={}.toString.call(a),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function p(){var e=setTimeout;return function(){return e(y,1)}}var b=new Array(1e3);function y(){for(var e=0;e{"use strict";var n=r(9033).Buffer,i=r(4858).keccak_256,o=r(3956);function a(e){return e?o.toUnicode(e,{useStd3ASCII:!0,transitional:!1}):e}t.hash=function(e){for(var t="",r=0;r<32;r++)t+="00";if(name=a(e),name){var o=name.split(".");for(r=o.length-1;r>=0;r--){var s=i(o[r]);t=i(new n(t+s,"hex"))}}return"0x"+t},t.normalize=a},3058:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847)(r(4519)),o=r(6851),a=r(9733),s=r(6597),u=(r(6740),new s.ec("secp256k1")),c=r(2922),f=c.keccak256,d=c.keccak256s,l=function(e){for(var t=d(e.slice(2)),r="0x",n=0;n<40;n++)r+=parseInt(t[n+2],16)>7?e[n+2].toUpperCase():e[n+2];return r},h=function(e){var t=new n(e.slice(2),"hex"),r="0x"+u.keyFromPrivate(t).getPublic(!1,"hex").slice(2),i=f(r);return{address:l("0x"+i.slice(-40)),privateKey:e}},p=function(e){var t=(0,i.default)(e,3),r=t[0],n=t[1],a=t[2];return o.flatten([n,a,r])},b=function(e){return[o.slice(64,o.length(e),e),o.slice(0,32,e),o.slice(32,64,e)]},y=function(e){return function(t,r){var i=u.keyFromPrivate(new n(r.slice(2),"hex")).sign(new n(t.slice(2),"hex"),{canonical:!0});return p([a.fromString(o.fromNumber(e+i.recoveryParam)),o.pad(32,o.fromNat("0x"+i.r.toString(16))),o.pad(32,o.fromNat("0x"+i.s.toString(16)))])}},m=y(27);e.exports={create:function(e){var t=f(o.concat(o.random(32),e||o.random(32))),r=o.concat(o.concat(o.random(32),t),o.random(32)),n=f(r);return h(n)},toChecksum:l,fromPrivate:h,sign:m,makeSigner:y,recover:function(e,t){var r=b(t),i={v:o.toNumber(r[0]),r:r[1].slice(2),s:r[2].slice(2)},a="0x"+u.recoverPubKey(new n(e.slice(2),"hex"),i,i.v<2?i.v:1-i.v%2).encode("hex",!1).slice(2),s=f(a);return l("0x"+s.slice(-40))},encodeSignature:p,decodeSignature:b}},1376:e=>{"use strict";var t=function(e,t){for(var r=[],n=0;n{"use strict";r(1376);var n=function(e,t){return parseInt(e.slice(2*t+2,2*t+4),16)},i=function(e){return(e.length-2)/2},o=function(e){for(var t=[],r=2,n=e.length;r>6|192);else{if(i>55295&&i<56320){if(++n==e.length)return null;var o=e.charCodeAt(n);if(o<56320||o>57343)return null;r+=t((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=t(i>>12&63|128)}else r+=t(i>>12|224);r+=t(i>>6&63|128)}r+=t(63&i|128)}}return r},toString:function(e){for(var t="",r=0,o=i(e);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(e,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(e,r))<<6|63&n(e,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(e,r))<<12|(63&n(e,++r))<<6|63&n(e,++r)}++r}if(a<=65535)t+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,t+=String.fromCharCode(a>>10|55296),t+=String.fromCharCode(1023&a|56320)}}return t},fromNumber:function(e){var t=e.toString(16);return t.length%2==0?"0x"+t:"0x0"+t},toNumber:function(e){return parseInt(e.slice(2),16)},fromNat:function(e){return"0x0"===e?"0x":e.length%2==0?e:"0x0"+e.slice(2)},toNat:function(e){return"0"===e[2]?"0x"+e.slice(3):e},fromArray:a,toArray:o,fromUint8Array:function(e){return a([].slice.call(e,0))},toUint8Array:function(e){return new Uint8Array(o(e))}}},2922:e=>{"use strict";var t="0123456789abcdef".split(""),r=[1,256,65536,16777216],n=[0,8,16,24],i=[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],o=function(e){var t,r,n,o,a,s,u,c,f,d,l,h,p,b,y,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)o=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],f=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=o^(c<<1|f>>>31),r=a^(f<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(d<<1|l>>>31),r=u^(l<<1|d>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|p>>>31),r=f^(p<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=d^(o<<1|a>>>31),r=l^(a<<1|o>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,b=e[0],y=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=b^~m&g,e[1]=y^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&b,e[7]=k^~S&y,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~b&m,e[9]=S^~y&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=i[n],e[1]^=i[n+1]},a=function(e){return function(i){var a;if("0x"===i.slice(0,2)){a=[];for(var s=2,u=i.length;s>2]|=i[h]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|63&a)<=57344?(u[y>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<=c){for(e.start=y-c,e.block=u[f],y=0;y>2]|=r[3&y],e.lastByteIndex===c)for(u[0]=u[f],y=1;y>4&15]+t[15&p]+t[p>>12&15]+t[p>>8&15]+t[p>>20&15]+t[p>>16&15]+t[p>>28&15]+t[p>>24&15];m%f==0&&(o(l),y=0)}return"0x"+b}(function(e){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(e<<1)>>5,outputBlocks:e>>5,s:(t=[0,0,0,0,0,0,0,0,0,0],[].concat(t,t,t,t,t))};var t}(e),a)}};e.exports={keccak256:a(256),keccak512:a(512),keccak256s:a(256),keccak512s:a(512)}},9733:(e,t,r)=>{"use strict";var n=r(1734),i=r(6851),o=function(e){return new n(e.slice(2),16)},a=function(e){var t="0x"+("0x"===e.slice(0,2)?new n(e.slice(2),16):new n(e,10)).toString("hex");return"0x0"===t?"0x":t},s=function(e){return"string"==typeof e?/^0x/.test(e)?e:"0x"+e:"0x"+new n(e).toString("hex")},u=function(e){return o(e).toNumber()},c=function(e){return function(t,r){return"0x"+o(t)[e](o(r)).toString("hex")}},f=c("add"),d=c("mul"),l=c("div"),h=c("sub");e.exports={toString:function(e){return o(e).toString(10)},fromString:a,toNumber:u,fromNumber:s,toEther:function(e){return u(l(e,a("10000000000")))/1e8},fromEther:function(e){return d(s(Math.floor(1e8*e)),a("10000000000"))},toUint256:function(e){return i.pad(32,e)},add:f,mul:d,div:l,sub:h}},6740:e=>{"use strict";e.exports={encode:function(e){var t=function(e){return(t=e.toString(16)).length%2==0?t:"0"+t;var t},r=function(e,r){return e<56?t(r+e):t(r+t(e).length/2+55)+t(e)};return"0x"+function e(t){if("string"==typeof t){var n=t.slice(2);return(2!=n.length||n>="80"?r(n.length/2,128):"")+n}var i=t.map(e).join("");return r(i.length/2,192)+i}(e)},decode:function(e){var t=2,r=function(){if(t>=e.length)throw"";var r=e.slice(t,t+2);return r<"80"?(t+=2,"0x"+r):r<"c0"?i():o()},n=function(){var r=parseInt(e.slice(t,t+=2),16)%64;return r<56?r:parseInt(e.slice(t,t+=2*(r-55)),16)},i=function(){var r=n();return"0x"+e.slice(t,t+=2*r)},o=function(){for(var e=2*n()+t,i=[];t{"use strict";var n=r(8847)(r(3355));Object.defineProperty(t,"__esModule",{value:!0});var i=r(8179);function o(e){return!("string"!=typeof e||!/^(0x)?[0-9a-f]{512}$/i.test(e)||!/^(0x)?[0-9a-f]{512}$/.test(e)&&!/^(0x)?[0-9A-F]{512}$/.test(e))}function a(e,t){"object"===(0,n.default)(t)&&t.constructor===Uint8Array&&(t=i.bytesToHex(t));for(var r=i.keccak256(t).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&&e<=57)return e-48;if(e>=65&&e<=70)return e-55;if(e>=97&&e<=102)return e-87;throw new Error("invalid bloom")}function u(e){return!("string"!=typeof e||!/^(0x)?[0-9a-f]{64}$/i.test(e)||!/^(0x)?[0-9a-f]{64}$/.test(e)&&!/^(0x)?[0-9A-F]{64}$/.test(e))}function c(e){return!("string"!=typeof e||!e.match(/^(0x)?[0-9a-fA-F]{40}$/)&&!e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/))}t.isBloom=o,t.isInBloom=a,t.isUserEthereumAddressInBloom=function(e,t){if(!o(e))throw new Error("Invalid bloom given");if(!c(t))throw new Error('Invalid ethereum address given: "'.concat(t,'"'));return a(e,i.padLeft(t,64))},t.isContractAddressInBloom=function(e,t){if(!o(e))throw new Error("Invalid bloom given");if(!c(t))throw new Error('Invalid contract address given: "'.concat(t,'"'));return a(e,t)},t.isTopicInBloom=function(e,t){if(!o(e))throw new Error("Invalid bloom given");if(!u(t))throw new Error("Invalid topic");return a(e,t)},t.isTopic=u,t.isAddress=c},8179:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7286);function i(e){if(null==e)throw new Error("cannot convert null value to array");if("string"==typeof e){var t=e.match(/^(0x)?[0-9a-fA-F]*$/);if(!t)throw new Error("invalid hexidecimal string");if("0x"!==t[1])throw new Error("hex string must have 0x prefix");(e=e.substring(2)).length%2&&(e="0"+e);for(var r=[],n=0;n=256||parseInt(String(r))!=r)return!1}return!0}(e))return o(new Uint8Array(e));throw new Error("invalid arrayify value")}function o(e){var t=arguments;return void 0!==e.slice||(e.slice=function(){var r=Array.prototype.slice.call(t);return o(new Uint8Array(Array.prototype.slice.apply(e,r)))}),e}t.keccak256=function(e){return"0x"+n.keccak_256(i(e))},t.padLeft=function(e,t){var r=/^0x/i.test(e)||"number"==typeof e,n=t-(e=e.toString().replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(r?"0x":"")+new Array(n).join("0")+e},t.bytesToHex=function(e){for(var t=[],r=0;r>>4).toString(16)),t.push((15&e[r]).toString(16));return"0x".concat(t.join("").replace(/^0+/,""))},t.toByteArray=i},7286:(e,t,r)=>{"use strict";e=r.nmd(e);var n,i=r(9142),o=r(8847)(r(3355));!function(){var a="input is invalid type",s="object"===("undefined"==typeof window?"undefined":(0,o.default)(window)),u=s?window:{};u.JS_SHA3_NO_WINDOW&&(s=!1);var c=!s&&"object"===("undefined"==typeof self?"undefined":(0,o.default)(self));!u.JS_SHA3_NO_NODE_JS&&"object"===(void 0===i?"undefined":(0,o.default)(i))&&i.versions&&i.versions.node?u=r.g:c&&(u=self);var f=!u.JS_SHA3_NO_COMMON_JS&&"object"===(0,o.default)(e)&&e.exports,d=r.amdO,l=!u.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[4,1024,262144,67108864],b=[0,8,16,24],y=[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],m=[224,256,384,512],v=[128,256],g=["hex","buffer","arrayBuffer","array","digest"],w={128:168,256:136};!u.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!l||!u.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===(0,o.default)(e)&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var A=function(e,t,r){return function(n){return new j(e,t,e).update(n)[r]()}},k=function(e,t,r){return function(n,i){return new j(e,t,i).update(n)[r]()}},_=function(e,t,r){return function(t,n,i,o){return O["cshake"+e].update(t,n,i,o)[r]()}},S=function(e,t,r){return function(t,n,i,o){return O["kmac"+e].update(t,n,i,o)[r]()}},E=function(e,t,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 N(e,t,r){j.call(this,e,t,r)}j.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}for(var n,i,s=this.blocks,u=this.byteCount,c=e.length,f=this.blockCount,d=0,h=this.s;d>2]|=e[d]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(s[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=s[f],n=0;n>=8);r>0;)i.unshift(r),r=255&(e>>=8),++n;return t?i.push(n):i.unshift(n),this.update(i),i.length},j.prototype.encodeString=function(e){var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}var n=0,i=e.length;if(t)n=i;else for(var s=0;s=57344?n+=3:(u=65536+((1023&u)<<10|1023&e.charCodeAt(++s)),n+=4)}return n+=this.encode(8*n),this.update(e),n},j.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+h[15&e]+h[e>>12&15]+h[e>>8&15]+h[e>>20&15]+h[e>>16&15]+h[e>>28&15]+h[e>>24&15];a%t==0&&(F(r),o=0)}return i&&(e=r[o],s+=h[e>>4&15]+h[15&e],i>1&&(s+=h[e>>12&15]+h[e>>8&15]),i>2&&(s+=h[e>>20&15]+h[e>>16&15])),s},j.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&F(n)}return o&&(e=s<<2,t=n[a],u[e]=255&t,o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u},N.prototype=new j,N.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var F=function(e){var t,r,n,i,o,a,s,u,c,f,d,l,h,p,b,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(l=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),r=(h=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(u<<1|c>>>31),r=o^(c<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(f<<1|d>>>31),r=s^(d<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(l<<1|h>>>31),r=c^(h<<1|l>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=d^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],b=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=p^~m&g,e[1]=b^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&p,e[7]=k^~S&b,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~p&m,e[9]=S^~b&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=y[n],e[1]^=y[n+1]};if(f)e.exports=O;else{for(T=0;T{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.createHashFunction=function(e){return function(t){var r=e();return r.update(t),n.from(r.digest())}}},1243:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(9989),i=r(3135);t.keccak224=n.createHashFunction((function(){return i("keccak224")})),t.keccak256=n.createHashFunction((function(){return i("keccak256")})),t.keccak384=n.createHashFunction((function(){return i("keccak384")})),t.keccak512=n.createHashFunction((function(){return i("keccak512")}))},4893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5010);t.getRandomBytes=function(e){return new Promise((function(t,r){n(e,(function(e,n){e?r(e):t(n)}))}))},t.getRandomBytesSync=function(e){return n(e)}},6992:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7902),i=r(4893);t.createPrivateKey=function(){return e=this,t=void 0,o=function(){var e;return function(e,t){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=(i=a.trys).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]{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.isZeroAddress=t.zeroAddress=t.importPublic=t.privateToAddress=t.privateToPublic=t.publicToAddress=t.pubToAddress=t.isValidPublic=t.isValidPrivate=t.generateAddress2=t.generateAddress=t.isValidChecksumAddress=t.toChecksumAddress=t.isValidAddress=t.Account=void 0;var i,o=(i=r(3894))&&i.__esModule?i:{default:i},a=r(9100),s=r(6992),u=r(3271),c=r(986),f=r(3464),d=r(9808),l=r(5725),h=r(5513),p=function(){function e(e,t,r,n){void 0===e&&(e=new a.BN(0)),void 0===t&&(t=new a.BN(0)),void 0===r&&(r=c.KECCAK256_RLP),void 0===n&&(n=c.KECCAK256_NULL),this.nonce=e,this.balance=t,this.stateRoot=r,this.codeHash=n,this._validate()}return e.fromAccountData=function(t){var r=t.nonce,n=t.balance,i=t.stateRoot,o=t.codeHash;return new e(r?new a.BN((0,f.toBuffer)(r)):void 0,n?new a.BN((0,f.toBuffer)(n)):void 0,i?(0,f.toBuffer)(i):void 0,o?(0,f.toBuffer)(o):void 0)},e.fromRlpSerializedAccount=function(e){var t=a.rlp.decode(e);if(!Array.isArray(t))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(t)},e.fromValuesArray=function(t){var r=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(t,4),n=r[0],i=r[1],o=r[2],s=r[3];return new e(new a.BN(n),new a.BN(i),o,s)},e.prototype._validate=function(){if(this.nonce.lt(new a.BN(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new a.BN(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")},e.prototype.raw=function(){return[(0,h.bnToUnpaddedBuffer)(this.nonce),(0,h.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},e.prototype.serialize=function(){return a.rlp.encode(this.raw())},e.prototype.isContract=function(){return!this.codeHash.equals(c.KECCAK256_NULL)},e.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(c.KECCAK256_NULL)},e}();t.Account=p,t.isValidAddress=function(e){try{(0,l.assertIsString)(e)}catch(e){return!1}return/^0x[0-9a-fA-F]{40}$/.test(e)},t.toChecksumAddress=function(e,t){(0,l.assertIsHexString)(e);var r=(0,u.stripHexPrefix)(e).toLowerCase(),n="";t&&(n=(0,h.toType)(t,h.TypeOutput.BN).toString()+"0x");for(var i=(0,d.keccakFromString)(n+r).toString("hex"),o="0x",a=0;a=8?o+=r[a].toUpperCase():o+=r[a];return o},t.isValidChecksumAddress=function(e,r){return(0,t.isValidAddress)(e)&&(0,t.toChecksumAddress)(e,r)===e},t.generateAddress=function(e,t){(0,l.assertIsBuffer)(e),(0,l.assertIsBuffer)(t);var r=new a.BN(t);return r.isZero()?(0,d.rlphash)([e,null]).slice(-20):(0,d.rlphash)([e,n.from(r.toArray())]).slice(-20)},t.generateAddress2=function(e,t,r){return(0,l.assertIsBuffer)(e),(0,l.assertIsBuffer)(t),(0,l.assertIsBuffer)(r),(0,o.default)(20===e.length),(0,o.default)(32===t.length),(0,d.keccak256)(n.concat([n.from("ff","hex"),e,t,(0,d.keccak256)(r)])).slice(-20)},t.isValidPrivate=function(e){return(0,s.privateKeyVerify)(e)},t.isValidPublic=function(e,t){return void 0===t&&(t=!1),(0,l.assertIsBuffer)(e),64===e.length?(0,s.publicKeyVerify)(n.concat([n.from([4]),e])):!!t&&(0,s.publicKeyVerify)(e)},t.pubToAddress=function(e,t){return void 0===t&&(t=!1),(0,l.assertIsBuffer)(e),t&&64!==e.length&&(e=n.from((0,s.publicKeyConvert)(e,!1).slice(1))),(0,o.default)(64===e.length),(0,d.keccak)(e).slice(-20)},t.publicToAddress=t.pubToAddress,t.privateToPublic=function(e){return(0,l.assertIsBuffer)(e),n.from((0,s.publicKeyCreate)(e,!1)).slice(1)},t.privateToAddress=function(e){return(0,t.publicToAddress)((0,t.privateToPublic)(e))},t.importPublic=function(e){return(0,l.assertIsBuffer)(e),64!==e.length&&(e=n.from((0,s.publicKeyConvert)(e,!1).slice(1))),e},t.zeroAddress=function(){var e=(0,f.zeros)(20);return(0,f.bufferToHex)(e)},t.isZeroAddress=function(e){try{(0,l.assertIsString)(e)}catch(e){return!1}return(0,t.zeroAddress)()===e}},1984:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.Address=void 0;var i,o=(i=r(3894))&&i.__esModule?i:{default:i},a=r(9100),s=r(3464),u=r(1968),c=function(){function e(e){(0,o.default)(20===e.length,"Invalid address length"),this.buf=e}return e.zero=function(){return new e((0,s.zeros)(20))},e.fromString=function(t){return(0,o.default)((0,u.isValidAddress)(t),"Invalid address"),new e((0,s.toBuffer)(t))},e.fromPublicKey=function(t){return(0,o.default)(n.isBuffer(t),"Public key should be Buffer"),new e((0,u.pubToAddress)(t))},e.fromPrivateKey=function(t){return(0,o.default)(n.isBuffer(t),"Private key should be Buffer"),new e((0,u.privateToAddress)(t))},e.generate=function(t,r){return(0,o.default)(a.BN.isBN(r)),new e((0,u.generateAddress)(t.buf,r.toArrayLike(n)))},e.generate2=function(t,r,i){return(0,o.default)(n.isBuffer(r)),(0,o.default)(n.isBuffer(i)),new e((0,u.generateAddress2)(t.buf,r,i))},e.prototype.equals=function(e){return this.buf.equals(e.buf)},e.prototype.isZero=function(){return this.equals(e.zero())},e.prototype.isPrecompileOrSystemAddress=function(){var e=new a.BN(this.buf),t=new a.BN(0),r=new a.BN("ffff","hex");return e.gte(t)&&e.lte(r)},e.prototype.toString=function(){return"0x"+this.buf.toString("hex")},e.prototype.toBuffer=function(){return n.from(this.buf)},e}();t.Address=c},3464:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(t,"__esModule",{value:!0}),t.bufArrToArr=t.arrToBufArr=t.validateNoLeadingZeroes=t.baToJSON=t.toUtf8=t.addHexPrefix=t.toUnsigned=t.fromSigned=t.bufferToHex=t.bufferToInt=t.toBuffer=t.unpadHexString=t.unpadArray=t.unpadBuffer=t.setLengthRight=t.setLengthLeft=t.zeros=t.intToBuffer=t.intToHex=void 0;var o=r(9100),a=r(3271),s=r(5725);t.intToHex=function(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("Received an invalid integer type: ".concat(e));return"0x".concat(e.toString(16))},t.intToBuffer=function(e){var r=(0,t.intToHex)(e);return n.from((0,a.padToEven)(r.slice(2)),"hex")},t.zeros=function(e){return n.allocUnsafe(e).fill(0)};var u=function(e,r,n){var i=(0,t.zeros)(r);return n?e.length0&&"0"===t.toString();)t=(e=e.slice(1))[0];return e};t.unpadBuffer=function(e){return(0,s.assertIsBuffer)(e),c(e)},t.unpadArray=function(e){return(0,s.assertIsArray)(e),c(e)},t.unpadHexString=function(e){return(0,s.assertIsHexString)(e),e=(0,a.stripHexPrefix)(e),c(e)},t.toBuffer=function(e){if(null==e)return n.allocUnsafe(0);if(n.isBuffer(e))return n.from(e);if(Array.isArray(e)||e instanceof Uint8Array)return n.from(e);if("string"==typeof e){if(!(0,a.isHexString)(e))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(e));return n.from((0,a.padToEven)((0,a.stripHexPrefix)(e)),"hex")}if("number"==typeof e)return(0,t.intToBuffer)(e);if(o.BN.isBN(e)){if(e.isNeg())throw new Error("Cannot convert negative BN to buffer. Given: ".concat(e));return e.toArrayLike(n)}if(e.toArray)return n.from(e.toArray());if(e.toBuffer)return n.from(e.toBuffer());throw new Error("invalid type")},t.bufferToInt=function(e){return new o.BN((0,t.toBuffer)(e)).toNumber()},t.bufferToHex=function(e){return"0x"+(e=(0,t.toBuffer)(e)).toString("hex")},t.fromSigned=function(e){return new o.BN(e).fromTwos(256)},t.toUnsigned=function(e){return n.from(e.toTwos(256).toArray())},t.addHexPrefix=function(e){return"string"!=typeof e||(0,a.isHexPrefixed)(e)?e:"0x"+e},t.toUtf8=function(e){if((e=(0,a.stripHexPrefix)(e)).length%2!=0)throw new Error("Invalid non-even hex string input for toUtf8() provided");return n.from(e.replace(/^(00)+|(00)+$/g,""),"hex").toString("utf8")},t.baToJSON=function(e){if(n.isBuffer(e))return"0x".concat(e.toString("hex"));if(e instanceof Array){for(var r=[],i=0;i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(Object.entries(e)),o=n.next();!o.done;o=n.next()){var a=i(o.value,2),s=a[0],u=a[1];if(void 0!==u&&u.length>0&&0===u[0])throw new Error("".concat(s," cannot have leading zeroes, received: ").concat(u.toString("hex")))}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},t.arrToBufArr=function e(t){return Array.isArray(t)?t.map((function(t){return e(t)})):n.from(t)},t.bufArrToArr=function e(t){return Array.isArray(t)?t.map((function(t){return e(t)})):Uint8Array.from(null!=t?t:[])}},986:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KECCAK256_RLP=t.KECCAK256_RLP_S=t.KECCAK256_RLP_ARRAY=t.KECCAK256_RLP_ARRAY_S=t.KECCAK256_NULL=t.KECCAK256_NULL_S=t.TWO_POW256=t.MAX_INTEGER=t.MAX_UINT64=void 0;var n=r(9033),i=r(9100);t.MAX_UINT64=new i.BN("ffffffffffffffff",16),t.MAX_INTEGER=new i.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),t.TWO_POW256=new i.BN("10000000000000000000000000000000000000000000000000000000000000000",16),t.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",t.KECCAK256_NULL=n.Buffer.from(t.KECCAK256_NULL_S,"hex"),t.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",t.KECCAK256_RLP_ARRAY=n.Buffer.from(t.KECCAK256_RLP_ARRAY_S,"hex"),t.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",t.KECCAK256_RLP=n.Buffer.from(t.KECCAK256_RLP_S,"hex")},9100:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};Object.defineProperty(t,"__esModule",{value:!0}),t.rlp=t.BN=void 0;var o,a=(o=r(1734))&&o.__esModule?o:{default:o};t.BN=a.default;var s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t}(r(6905));t.rlp=s},9808:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.rlphash=t.ripemd160FromArray=t.ripemd160FromString=t.ripemd160=t.sha256FromArray=t.sha256FromString=t.sha256=t.keccakFromArray=t.keccakFromHexString=t.keccakFromString=t.keccak256=t.keccak=void 0;var i=r(1243),o=r(5866),a=r(9100),s=r(3464),u=r(5725);t.keccak=function(e,t){switch(void 0===t&&(t=256),(0,u.assertIsBuffer)(e),t){case 224:return(0,i.keccak224)(e);case 256:return(0,i.keccak256)(e);case 384:return(0,i.keccak384)(e);case 512:return(0,i.keccak512)(e);default:throw new Error("Invald algorithm: keccak".concat(t))}},t.keccak256=function(e){return(0,t.keccak)(e)},t.keccakFromString=function(e,r){void 0===r&&(r=256),(0,u.assertIsString)(e);var i=n.from(e,"utf8");return(0,t.keccak)(i,r)},t.keccakFromHexString=function(e,r){return void 0===r&&(r=256),(0,u.assertIsHexString)(e),(0,t.keccak)((0,s.toBuffer)(e),r)},t.keccakFromArray=function(e,r){return void 0===r&&(r=256),(0,u.assertIsArray)(e),(0,t.keccak)((0,s.toBuffer)(e),r)};var c=function(e){return e=(0,s.toBuffer)(e),o("sha256").update(e).digest()};t.sha256=function(e){return(0,u.assertIsBuffer)(e),c(e)},t.sha256FromString=function(e){return(0,u.assertIsString)(e),c(e)},t.sha256FromArray=function(e){return(0,u.assertIsArray)(e),c(e)};var f=function(e,t){e=(0,s.toBuffer)(e);var r=o("rmd160").update(e).digest();return!0===t?(0,s.setLengthLeft)(r,32):r};t.ripemd160=function(e,t){return(0,u.assertIsBuffer)(e),f(e,t)},t.ripemd160FromString=function(e,t){return(0,u.assertIsString)(e),f(e,t)},t.ripemd160FromArray=function(e,t){return(0,u.assertIsArray)(e),f(e,t)},t.rlphash=function(e){return(0,t.keccak)(a.rlp.encode(e))}},5725:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.assertIsString=t.assertIsArray=t.assertIsBuffer=t.assertIsHexString=void 0;var i=r(3271);t.assertIsHexString=function(e){if(!(0,i.isHexString)(e)){var t="This method only supports 0x-prefixed hex strings but input was: ".concat(e);throw new Error(t)}},t.assertIsBuffer=function(e){if(!n.isBuffer(e)){var t="This method only supports Buffer but input was: ".concat(e);throw new Error(t)}},t.assertIsArray=function(e){if(!Array.isArray(e)){var t="This method only supports number arrays but input was: ".concat(e);throw new Error(t)}},t.assertIsString=function(e){if("string"!=typeof e){var t="This method only supports strings but input was: ".concat(e);throw new Error(t)}}},3062:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.isHexString=t.getKeys=t.fromAscii=t.fromUtf8=t.toAscii=t.arrayContainsArray=t.getBinarySize=t.padToEven=t.stripHexPrefix=t.isHexPrefixed=void 0,i(r(986),t),i(r(1968),t),i(r(1984),t),i(r(9808),t),i(r(6081),t),i(r(3464),t),i(r(1677),t),i(r(9100),t),i(r(5513),t);var o=r(3271);Object.defineProperty(t,"isHexPrefixed",{enumerable:!0,get:function(){return o.isHexPrefixed}}),Object.defineProperty(t,"stripHexPrefix",{enumerable:!0,get:function(){return o.stripHexPrefix}}),Object.defineProperty(t,"padToEven",{enumerable:!0,get:function(){return o.padToEven}}),Object.defineProperty(t,"getBinarySize",{enumerable:!0,get:function(){return o.getBinarySize}}),Object.defineProperty(t,"arrayContainsArray",{enumerable:!0,get:function(){return o.arrayContainsArray}}),Object.defineProperty(t,"toAscii",{enumerable:!0,get:function(){return o.toAscii}}),Object.defineProperty(t,"fromUtf8",{enumerable:!0,get:function(){return o.fromUtf8}}),Object.defineProperty(t,"fromAscii",{enumerable:!0,get:function(){return o.fromAscii}}),Object.defineProperty(t,"getKeys",{enumerable:!0,get:function(){return o.getKeys}}),Object.defineProperty(t,"isHexString",{enumerable:!0,get:function(){return o.isHexString}})},3271:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847)(r(3355));function o(e){if("string"!=typeof e)throw new Error("[isHexPrefixed] input must be type 'string', received type ".concat((0,i.default)(e)));return"0"===e[0]&&"x"===e[1]}function a(e){var t=e;if("string"!=typeof t)throw new Error("[padToEven] value must be type 'string', received ".concat((0,i.default)(t)));return t.length%2&&(t="0".concat(t)),t}Object.defineProperty(t,"__esModule",{value:!0}),t.isHexString=t.getKeys=t.fromAscii=t.fromUtf8=t.toAscii=t.arrayContainsArray=t.getBinarySize=t.padToEven=t.stripHexPrefix=t.isHexPrefixed=void 0,t.isHexPrefixed=o,t.stripHexPrefix=function(e){if("string"!=typeof e)throw new Error("[stripHexPrefix] input must be type 'string', received ".concat((0,i.default)(e)));return o(e)?e.slice(2):e},t.padToEven=a,t.getBinarySize=function(e){if("string"!=typeof e)throw new Error("[getBinarySize] method requires input type 'string', recieved ".concat((0,i.default)(e)));return n.byteLength(e,"utf8")},t.arrayContainsArray=function(e,t,r){if(!0!==Array.isArray(e))throw new Error("[arrayContainsArray] method requires input 'superset' to be an array, got type '".concat((0,i.default)(e),"'"));if(!0!==Array.isArray(t))throw new Error("[arrayContainsArray] method requires input 'subset' to be an array, got type '".concat((0,i.default)(t),"'"));return t[r?"some":"every"]((function(t){return e.indexOf(t)>=0}))},t.toAscii=function(e){var t="",r=0,n=e.length;for("0x"===e.substring(0,2)&&(r=2);r{"use strict";var n=r(9033).Buffer,i=r(8847)(r(3355));Object.defineProperty(t,"__esModule",{value:!0}),t.defineProperties=void 0;var o,a=(o=r(3894))&&o.__esModule?o:{default:o},s=r(3271),u=r(9100),c=r(3464);t.defineProperties=function(e,t,r){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".concat(e[t].toString("hex"))})),r}return(0,c.baToJSON)(e.raw)},e.serialize=function(){return u.rlp.encode(e.raw)},t.forEach((function(t,r){function i(){return e.raw[r]}function o(i){"00"!==(i=(0,c.toBuffer)(i)).toString("hex")||t.allowZero||(i=n.allocUnsafe(0)),t.allowLess&&t.length?(i=(0,c.unpadBuffer)(i),(0,a.default)(t.length>=i.length,"The field ".concat(t.name," must not have more ").concat(t.length," bytes"))):t.allowZero&&0===i.length||!t.length||(0,a.default)(t.length===i.length,"The field ".concat(t.name," must have byte length of ").concat(t.length)),e.raw[r]=i}e._fields.push(t.name),Object.defineProperty(e,t.name,{enumerable:!0,configurable:!0,get:i,set:o}),t.default&&(e[t.name]=t.default),t.alias&&Object.defineProperty(e,t.alias,{enumerable:!1,configurable:!0,set:o,get:i})})),r)if("string"==typeof r&&(r=n.from((0,s.stripHexPrefix)(r),"hex")),n.isBuffer(r)&&(r=u.rlp.decode(r)),Array.isArray(r)){if(r.length>e._fields.length)throw new Error("wrong number of fields in data");r.forEach((function(t,r){e[e._fields[r]]=(0,c.toBuffer)(t)}))}else{if("object"!==(0,i.default)(r))throw new Error("invalid data");var o=Object.keys(r);t.forEach((function(t){-1!==o.indexOf(t.name)&&(e[t.name]=r[t.name]),-1!==o.indexOf(t.alias)&&(e[t.alias]=r[t.alias])}))}}},6081:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.hashPersonalMessage=t.isValidSignature=t.fromRpcSig=t.toCompactSig=t.toRpcSig=t.ecrecover=t.ecsign=void 0;var i=r(6992),o=r(9100),a=r(3464),s=r(9808),u=r(5725),c=r(5513);function f(e,t){var r=(0,c.toType)(e,c.TypeOutput.BN);if(r.eqn(0)||r.eqn(1))return(0,c.toType)(e,c.TypeOutput.BN);if(!t)return r.subn(27);var n=(0,c.toType)(t,c.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function d(e){var t=new o.BN(e);return t.eqn(0)||t.eqn(1)}t.ecsign=function(e,t,r){var o=(0,i.ecdsaSign)(e,t),a=o.signature,s=o.recid,u=n.from(a.slice(0,32)),f=n.from(a.slice(32,64));if(!r||"number"==typeof r){if(r&&!Number.isSafeInteger(r))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:u,s:f,v:r?s+(2*r+35):s+27}}return{r:u,s:f,v:(0,c.toType)(r,c.TypeOutput.BN).muln(2).addn(35).addn(s).toArrayLike(n)}},t.ecrecover=function(e,t,r,o,s){var u=n.concat([(0,a.setLengthLeft)(r,32),(0,a.setLengthLeft)(o,32)],64),c=f(t,s);if(!d(c))throw new Error("Invalid signature v value");var l=(0,i.ecdsaRecover)(u,c.toNumber(),e);return n.from((0,i.publicKeyConvert)(l,!1).slice(1))},t.toRpcSig=function(e,t,r,i){if(!d(f(e,i)))throw new Error("Invalid signature v value");return(0,a.bufferToHex)(n.concat([(0,a.setLengthLeft)(t,32),(0,a.setLengthLeft)(r,32),(0,a.toBuffer)(e)]))},t.toCompactSig=function(e,t,r,i){if(!d(f(e,i)))throw new Error("Invalid signature v value");var o=(0,c.toType)(e,c.TypeOutput.Number),s=r;return(o>28&&o%2==1||1===o||28===o)&&((s=n.from(r))[0]|=128),(0,a.bufferToHex)(n.concat([(0,a.setLengthLeft)(t,32),(0,a.setLengthLeft)(s,32)]))},t.fromRpcSig=function(e){var t,r,n,i=(0,a.toBuffer)(e);if(i.length>=65)t=i.slice(0,32),r=i.slice(32,64),n=(0,a.bufferToInt)(i.slice(64));else{if(64!==i.length)throw new Error("Invalid signature length");t=i.slice(0,32),r=i.slice(32,64),n=(0,a.bufferToInt)(i.slice(32,33))>>7,r[0]&=127}return n<27&&(n+=27),{v:n,r:t,s:r}},t.isValidSignature=function(e,t,r,n,i){void 0===n&&(n=!0);var a=new o.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new o.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==t.length||32!==r.length)return!1;if(!d(f(e,i)))return!1;var u=new o.BN(t),c=new o.BN(r);return!(u.isZero()||u.gt(s)||c.isZero()||c.gt(s)||n&&1===c.cmp(a))},t.hashPersonalMessage=function(e){(0,u.assertIsBuffer)(e);var t=n.from("Ethereum Signed Message:\n".concat(e.length),"utf-8");return(0,s.keccak)(n.concat([t,e]))}},5513:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.toType=t.TypeOutput=t.bnToRlp=t.bnToUnpaddedBuffer=t.bnToHex=void 0;var i,o=r(9100),a=r(3271),s=r(3464);function u(e){return(0,s.unpadBuffer)(e.toArrayLike(n))}t.bnToHex=function(e){return"0x".concat(e.toString(16))},t.bnToUnpaddedBuffer=u,t.bnToRlp=function(e){return u(e)},function(e){e[e.Number=0]="Number",e[e.BN=1]="BN",e[e.Buffer=2]="Buffer",e[e.PrefixedHexString=3]="PrefixedHexString"}(i=t.TypeOutput||(t.TypeOutput={})),t.toType=function(e,t){if(null===e)return null;if(void 0!==e){if("string"==typeof e&&!(0,a.isHexString)(e))throw new Error("A string must be provided with a 0x-prefix, given: ".concat(e));if("number"==typeof e&&!Number.isSafeInteger(e))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");var r=(0,s.toBuffer)(e);if(t===i.Buffer)return r;if(t===i.BN)return new o.BN(r);if(t===i.Number){var n=new o.BN(r),u=new o.BN(Number.MAX_SAFE_INTEGER.toString());if(n.gt(u))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return n.toNumber()}return"0x".concat(r.toString("hex"))}}},7130:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(7277),a=new i(0),s=new i(-1),u={noether:"0",wei:"1",kwei:"1000",Kwei:"1000",babbage:"1000",femtoether:"1000",mwei:"1000000",Mwei:"1000000",lovelace:"1000000",picoether:"1000000",gwei:"1000000000",Gwei:"1000000000",shannon:"1000000000",nanoether:"1000000000",nano:"1000000000",szabo:"1000000000000",microether:"1000000000000",micro:"1000000000000",finney:"1000000000000000",milliether:"1000000000000000",milli:"1000000000000000",ether:"1000000000000000000",kether:"1000000000000000000000",grand:"1000000000000000000000",mether:"1000000000000000000000000",gether:"1000000000000000000000000000",tether:"1000000000000000000000000000000"};function c(e){var t=e?e.toLowerCase():"ether",r=u[t];if("string"!=typeof r)throw new Error("[ethjs-unit] the unit provided "+e+" doesn't exists, please use the one of the following units "+JSON.stringify(u,null,2));return new i(r,10)}function f(e){if("string"==typeof e){if(!e.match(/^-?[0-9.]+$/))throw new Error("while converting number to string, invalid number value '"+e+"', should be a number matching (^-?[0-9.]+).");return e}if("number"==typeof e)return String(e);if("object"===(0,n.default)(e)&&e.toString&&(e.toTwos||e.dividedToIntegerBy))return e.toPrecision?String(e.toPrecision()):e.toString(10);throw new Error("while converting number to string, invalid number value '"+e+"' type "+(0,n.default)(e)+".")}e.exports={unitMap:u,numberToString:f,getValueOfUnit:c,fromWei:function(e,t,r){var n=o(e),i=n.lt(a),f=c(t),d=u[t].length-1||1,l=r||{};i&&(n=n.mul(s));for(var h=n.mod(f).toString(10);h.length2)throw new Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal points");var l=d[0],h=d[1];if(l||(l="0"),h||(h="0"),h.length>o)throw new Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal places");for(;h.length{"use strict";var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function o(e,t,n,o,a){if("function"!=typeof n)throw new TypeError("The listener must be a function");var s=new i(n,o||e,a),u=r?r+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],s]:e._events[u].push(s):(e._events[u]=s,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function s(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),s.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},s.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,a=new Array(o);i{"use strict";var n=r(8847)(r(3355)),i=Object.create||function(e){var t=function(){};return t.prototype=e,new t},o=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return r},a=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=i(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;var u,c=10;try{var f={};Object.defineProperty&&Object.defineProperty(f,"x",{value:0}),u=0===f.x}catch(e){u=!1}function d(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function l(e,t,r){if(t)e.call(r);else for(var n=e.length,i=k(e,n),o=0;o0&&u.length>a){u.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+u.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=u.length,"object"===("undefined"==typeof console?"undefined":(0,n.default)(console))&&console.warn&&console.warn("%s: %s",c.name,c.message)}}else u=s[t]=r,++e._eventsCount;return e}function v(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t1&&(t=arguments[1]),t instanceof Error)throw t;var u=new Error('Unhandled "error" event. ('+t+")");throw u.context=t,u}if(!(r=a[e]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:l(r,c,this);break;case 2:h(r,c,this,arguments[1]);break;case 3:p(r,c,this,arguments[1],arguments[2]);break;case 4:b(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o=0;a--)if(r[a]===t||r[a].listener===t){s=r[a].listener,o=a;break}if(o<0)return this;0===o?r.shift():function(e,t){for(var r=t,n=r+1,i=e.length;n=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return w(this,e,!0)},s.prototype.rawListeners=function(e){return w(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):A.call(e,t)},s.prototype.listenerCount=A,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},7085:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(807);e.exports=function(e,t,r,o){if(n.isBuffer(e)||(e=n.from(e,"binary")),t&&(n.isBuffer(t)||(t=n.from(t,"binary")),8!==t.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),c=n.alloc(0);a>0||o>0;){var f=new i;f.update(c),f.update(e),t&&f.update(t),c=f.digest();var d=0;if(a>0){var l=s.length-a;d=Math.min(a,c.length),c.copy(s,l,0,d),a-=d}if(d0){var h=u.length-o,p=Math.min(o,c.length-d);c.copy(u,h,d,d+p),o-=p}}return c.fill(0),{key:s,iv:u}}},8184:(e,t,r)=>{"use strict";var n=r(1493),i=Object.prototype.toString,o=Object.prototype.hasOwnProperty,a=function(e,t,r){for(var n=0,i=e.length;n=3&&(o=r),"[object Array]"===i.call(e)?a(e,t,o):"string"==typeof e?s(e,t,o):u(e,t,o)}},3161:e=>{"use strict";var t="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,i="[object Function]";e.exports=function(e){var o=this;if("function"!=typeof o||n.call(o)!==i)throw new TypeError(t+o);for(var a,s=r.call(arguments,1),u=function(){if(this instanceof a){var t=o.apply(this,s.concat(r.call(arguments)));return Object(t)===t?t:this}return o.apply(e,s.concat(r.call(arguments)))},c=Math.max(0,o.length-s.length),f=[],d=0;d{"use strict";var n=r(3161);e.exports=Function.prototype.bind||n},7701:(e,t,r)=>{"use strict";var n,i=r(8847)(r(3355)),o=SyntaxError,a=Function,s=TypeError,u=function(e){try{return a('"use strict"; return ('+e+").constructor;")()}catch(e){}},c=Object.getOwnPropertyDescriptor;if(c)try{c({},"")}catch(e){c=null}var f=function(){throw new s},d=c?function(){try{return f}catch(e){try{return c(arguments,"callee").get}catch(e){return f}}}():f,l=r(8489)(),h=Object.getPrototypeOf||function(e){return e.__proto__},p={},b="undefined"==typeof Uint8Array?n:h(Uint8Array),y={"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":l?h([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":p,"%AsyncGenerator%":p,"%AsyncGeneratorFunction%":p,"%AsyncIteratorPrototype%":p,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":p,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":l?h(h([][Symbol.iterator]())):n,"%JSON%":"object"===("undefined"==typeof JSON?"undefined":(0,i.default)(JSON))?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&l?h((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&l?h((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":l?h(""[Symbol.iterator]()):n,"%Symbol%":l?Symbol:n,"%SyntaxError%":o,"%ThrowTypeError%":d,"%TypedArray%":b,"%TypeError%":s,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet},m=function e(t){var r;if("%AsyncFunction%"===t)r=u("async function () {}");else if("%GeneratorFunction%"===t)r=u("function* () {}");else if("%AsyncGeneratorFunction%"===t)r=u("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var i=e("%AsyncGenerator%");i&&(r=h(i.prototype))}return y[t]=r,r},v={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},g=r(3767),w=r(1888),A=g.call(Function.call,Array.prototype.concat),k=g.call(Function.apply,Array.prototype.splice),_=g.call(Function.call,String.prototype.replace),S=g.call(Function.call,String.prototype.slice),E=g.call(Function.call,RegExp.prototype.exec),x=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,P=/\\(\\)?/g,O=function(e){var t=S(e,0,1),r=S(e,-1);if("%"===t&&"%"!==r)throw new o("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new o("invalid intrinsic syntax, expected opening `%`");var n=[];return _(e,x,(function(e,t,r,i){n[n.length]=r?_(i,P,"$1"):t||e})),n},B=function(e,t){var r,n=e;if(w(v,n)&&(n="%"+(r=v[n])[0]+"%"),w(y,n)){var i=y[n];if(i===p&&(i=m(n)),void 0===i&&!t)throw new s("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new o("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new s('"allowMissing" argument must be a boolean');if(null===E(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=O(e),n=r.length>0?r[0]:"",i=B("%"+n+"%",t),a=i.name,u=i.value,f=!1,d=i.alias;d&&(n=d[0],k(r,A([0,1],d)));for(var l=1,h=!0;l=r.length){var v=c(u,p);u=(h=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:u[p]}else h=w(u,p),u=u[p];h&&!f&&(y[a]=u)}}return u}},2948:(e,t,r)=>{"use strict";var n;n="undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{},e.exports=n},3820:(e,t,r)=>{"use strict";var n=r(7701)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(e){n=null}e.exports=n},8489:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i="undefined"!=typeof Symbol&&Symbol,o=r(7027);e.exports=function(){return"function"==typeof i&&"function"==typeof Symbol&&"symbol"===(0,n.default)(i("foo"))&&"symbol"===(0,n.default)(Symbol("bar"))&&o()}},7027:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"===(0,n.default)(Symbol.iterator))return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},1191:(e,t,r)=>{"use strict";var n=r(7027);e.exports=function(){return n()&&!!Symbol.toStringTag}},1888:(e,t,r)=>{"use strict";var n=r(3767);e.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},2353:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(6505).Transform;function o(e){i.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(1736)(o,i),o.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer")}(e),this._finalized)throw new Error("Digest already called");n.isBuffer(e)||(e=n.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.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(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},7198:(e,t,r)=>{"use strict";var n=t;n.utils=r(4268),n.common=r(4696),n.sha=r(9310),n.ripemd=r(9294),n.hmac=r(3201),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},4696:(e,t,r)=>{"use strict";var n=r(4268),i=r(4504);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}t.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o{"use strict";var n=r(4268),i=r(4504);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t{"use strict";var n=r(4268),i=r(4696),o=n.rotl32,a=n.sum32,s=n.sum32_3,u=n.sum32_4,c=i.BlockHash;function f(){if(!(this instanceof f))return new f;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function d(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function l(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(f,c),t.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],c=this.h[3],f=this.h[4],v=r,g=n,w=i,A=c,k=f,_=0;_<80;_++){var S=a(o(u(r,d(_,n,i,c),e[p[_]+t],l(_)),y[_]),f);r=f,f=c,c=o(i,10),i=n,n=S,S=a(o(u(v,d(79-_,g,w,A),e[b[_]+t],h(_)),m[_]),k),v=k,k=A,A=o(w,10),w=g,g=S}S=s(this.h[1],i,A),this.h[1]=s(this.h[2],c,k),this.h[2]=s(this.h[3],f,v),this.h[3]=s(this.h[4],r,g),this.h[4]=s(this.h[0],n,w),this.h[0]=S},f.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[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],b=[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],y=[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],m=[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]},9310:(e,t,r)=>{"use strict";t.sha1=r(8142),t.sha224=r(4909),t.sha256=r(7682),t.sha384=r(4532),t.sha512=r(6515)},8142:(e,t,r)=>{"use strict";var n=r(4268),i=r(4696),o=r(70),a=n.rotl32,s=n.sum32,u=n.sum32_5,c=o.ft_1,f=i.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function l(){if(!(this instanceof l))return new l;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(l,f),e.exports=l,l.blockSize=512,l.outSize=160,l.hmacStrength=80,l.padLength=64,l.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(4268),i=r(7682);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},7682:(e,t,r)=>{"use strict";var n=r(4268),i=r(4696),o=r(70),a=r(4504),s=n.sum32,u=n.sum32_4,c=n.sum32_5,f=o.ch32,d=o.maj32,l=o.s0_256,h=o.s1_256,p=o.g0_256,b=o.g1_256,y=i.BlockHash,m=[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 v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=new Array(64)}n.inherits(v,y),e.exports=v,v.blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(4268),i=r(6515);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},6515:(e,t,r)=>{"use strict";var n=r(4268),i=r(4696),o=r(4504),a=n.rotr64_hi,s=n.rotr64_lo,u=n.shr64_hi,c=n.shr64_lo,f=n.sum64,d=n.sum64_hi,l=n.sum64_lo,h=n.sum64_4_hi,p=n.sum64_4_lo,b=n.sum64_5_hi,y=n.sum64_5_lo,m=i.BlockHash,v=[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];function g(){if(!(this instanceof g))return new g;m.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}function w(e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function A(e,t,r,n,i,o){var a=t&n^~t&o;return a<0&&(a+=4294967296),a}function k(e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function _(e,t,r,n,i,o){var a=t&n^t&o^n&o;return a<0&&(a+=4294967296),a}function S(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function E(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function P(e,t){var r=a(e,t,1)^a(e,t,8)^u(e,t,7);return r<0&&(r+=4294967296),r}function O(e,t){var r=s(e,t,1)^s(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function B(e,t){var r=s(e,t,19)^s(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(g,m),e.exports=g,g.blockSize=1024,g.outSize=512,g.hmacStrength=192,g.padLength=128,g.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(4268).rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}function a(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?a(t,r,n):2===e?o(t,r,n):void 0},t.ch32=i,t.maj32=o,t.p32=a,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},4268:(e,t,r)=>{"use strict";var n=r(4504),i=r(1736);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,r[n++]=63&a|128):o(e,i)?(a=65536+((1023&a)<<10)+(1023&e.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},t.split32=function(e,t){for(var r=new Array(4*e.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},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},t.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,i,o,a,s){var u=0,c=t;return u+=(c=c+n>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},t.sum64_5_hi=function(e,t,r,n,i,o,a,s,u,c){var f=0,d=t;return f+=(d=d+n>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,r,n,i,o,a,s,u,c){return t+n+o+s+c>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},9410:(e,t,r)=>{"use strict";var n=r(7198),i=r(6580),o=r(4504);function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}e.exports=a,a.prototype._init=function(e,t,r){var n=e.concat(t).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(e.concat(r||[])),this._reseed=1},a.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length{"use strict";var n=r(9519),i=r(1143),o=e.exports;for(var a in n)n.hasOwnProperty(a)&&(o[a]=n[a]);function s(e){if("string"==typeof e&&(e=i.parse(e)),e.protocol||(e.protocol="https:"),"https:"!==e.protocol)throw new Error('Protocol "'+e.protocol+'" not supported. Expected "https:"');return e}o.request=function(e,t){return e=s(e),n.request.call(this,e,t)},o.get=function(e,t){return e=s(e),n.get.call(this,e,t)}},2996:(e,t,r)=>{"use strict";var n;r(8847)(r(3355)),void 0===(n=function(){return e=[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])],t=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:e[t[r>>4]][15&r]}};var e,t}.apply(t,[]))||(e.exports=n)},4489:(e,t,r)=>{"use strict";var n=r(8847)(r(3106));function i(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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 a,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,h=String.fromCharCode;function p(e){throw new RangeError(d[e])}function b(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]);var i=function(e,t){for(var r=[],n=e.length;n--;)r[n]=t(e[n]);return r}((e=e.replace(f,".")).split("."),t).join(".");return n+i}function y(e){for(var t=[],r=0,n=e.length;r=55296&&i<=56319&&r>1,e+=l(e/t);e>455;n+=s)e=l(e/35);return l(n+36*e/(e+38))},g=function(e){var t,r=[],n=e.length,i=0,o=128,u=72,c=e.lastIndexOf("-");c<0&&(c=0);for(var f=0;f=128&&p("not-basic"),r.push(e.charCodeAt(f));for(var d=c>0?c+1:0;d=n&&p("invalid-input");var m=(t=e.charCodeAt(d++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:s;(m>=s||m>l((a-i)/b))&&p("overflow"),i+=m*b;var g=y<=u?1:y>=u+26?26:y-u;if(ml(a/w)&&p("overflow"),b*=w}var A=r.length+1;u=v(i-h,A,0==h),l(i/A)>a-o&&p("overflow"),o+=l(i/A),i%=A,r.splice(i++,0,o)}return String.fromCodePoint.apply(String,r)},w=function(e){var t,r=[],n=(e=y(e)).length,o=128,u=0,c=72,f=i(e);try{for(f.s();!(t=f.n()).done;){var d=t.value;d<128&&r.push(h(d))}}catch(e){f.e(e)}finally{f.f()}var b=r.length,g=b;for(b&&r.push("-");g=o&&_l((a-u)/S)&&p("overflow"),u+=(A-o)*S,o=A;var E,x=i(e);try{for(x.s();!(E=x.n()).done;){var P=E.value;if(Pa&&p("overflow"),P==o){for(var O=u,B=s;;B+=s){var T=B<=c?1:B>=c+26?26:B-c;if(O{"use strict";var n,i;r(8847)(r(3355)),n=[r(4489),r(2996)],void 0===(i=function(e,t){return function(e,t){function r(r,n,i){for(var o=[],a=e.ucs2.decode(r),s=0;s>23,l=f>>21&3,h=f>>5&65535,p=31&f,b=t.mapStr.substr(h,p);if(0===l||n&&1&d)throw new Error("Illegal char "+c);1===l?o.push(b):2===l?o.push(i?b:c):3===l&&o.push(c)}return o.join("").normalize("NFC")}function n(t,n,o){void 0===o&&(o=!1);var a=r(t,o,n).split(".");return(a=a.map((function(t){return t.startsWith("xn--")?i(t=e.decode(t.substring(4)),o,!1):i(t,o,n),t}))).join(".")}function i(e,n,i){if("-"===e[2]&&"-"===e[3])throw new Error("Failed to validate "+e);if(e.startsWith("-")||e.endsWith("-"))throw new Error("Failed to validate "+e);if(e.includes("."))throw new Error("Failed to validate "+e);if(r(e,n,i)!==e)throw new Error("Failed to validate "+e);var o=e.codePointAt(0);if(t.mapChar(o)&2<<23)throw new Error("Label contains illegal character: "+o)}return{toUnicode:function(e,t){return void 0===t&&(t={}),n(e,!1,"useStd3ASCII"in t&&t.useStd3ASCII)},toAscii:function(t,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(t,o,a).split(".").map(e.toASCII),c=u.join(".");if(s){if(c.length<1||c.length>253)throw new Error("DNS name has wrong length: "+c);for(i=0;i63)throw new Error("DNS label has wrong length: "+f)}}return c}}}(e,t)}.apply(t,n))||(e.exports=i)},3226:(e,t)=>{"use strict";t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,f=-7,d=r?i-1:0,l=r?-1:1,h=e[t+d];for(d+=l,o=h&(1<<-f)-1,h>>=-f,f+=s;f>0;o=256*o+e[t+d],d+=l,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=n;f>0;a=256*a+e[t+d],d+=l,f-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,n),o-=c}return(h?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,u,c=8*o-i-1,f=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+d>=1?l/u:l*Math.pow(2,1-d))*u>=2&&(a++,u/=2),a+d>=f?(s=0,a=f):a+d>=1?(s=(t*u-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+h]=255&s,h+=p,s/=256,i-=8);for(a=a<0;e[r+h]=255&a,h+=p,a/=256,c-=8);e[r+h-p]|=128*b}},1736:e=>{"use strict";"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},9446:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1191)(),o=r(593)("Object.prototype.toString"),a=function(e){return!(i&&e&&"object"===(0,n.default)(e)&&Symbol.toStringTag in e)&&"[object Arguments]"===o(e)},s=function(e){return!!a(e)||null!==e&&"object"===(0,n.default)(e)&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==o(e)&&"[object Function]"===o(e.callee)},u=function(){return a(arguments)}();a.isLegacyArguments=s,e.exports=u?a:s},1493:(e,t,r)=>{"use strict";var n,i,o=r(8847)(r(3355)),a=Function.prototype.toString,s="object"===("undefined"==typeof Reflect?"undefined":(0,o.default)(Reflect))&&null!==Reflect&&Reflect.apply;if("function"==typeof s&&"function"==typeof Object.defineProperty)try{n=Object.defineProperty({},"length",{get:function(){throw i}}),i={},s((function(){throw 42}),null,n)}catch(e){e!==i&&(s=null)}else s=null;var u=/^\s*class\b/,c=function(e){try{var t=a.call(e);return u.test(t)}catch(e){return!1}},f=function(e){try{return!c(e)&&(a.call(e),!0)}catch(e){return!1}},d=Object.prototype.toString,l="function"==typeof Symbol&&!!Symbol.toStringTag,h=!(0 in[,]),p=function(){return!1};if("object"===("undefined"==typeof document?"undefined":(0,o.default)(document))){var b=document.all;d.call(b)===d.call(document.all)&&(p=function(e){if((h||!e)&&(void 0===e||"object"===(0,o.default)(e)))try{var t=d.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=s?function(e){if(p(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!==(0,o.default)(e))return!1;try{s(e,null,n)}catch(e){if(e!==i)return!1}return!c(e)&&f(e)}:function(e){if(p(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!==(0,o.default)(e))return!1;if(l)return f(e);if(c(e))return!1;var t=d.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&f(e)}},4339:e=>{"use strict";e.exports=function(e){if(!e)return!1;var r=t.call(e);return"[object Function]"===r||"function"==typeof e&&"[object RegExp]"!==r||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)};var t=Object.prototype.toString},4477:(e,t,r)=>{"use strict";var n,i=Object.prototype.toString,o=Function.prototype.toString,a=/^\s*(?:function)?\*/,s=r(1191)(),u=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(a.test(o.call(e)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(e);if(!u)return!1;if(void 0===n){var t=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(e){}}();n=!!t&&u(t)}return u(e)===n}},8619:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(e){if("string"!=typeof e)throw new Error("[is-hex-prefixed] value must be type 'string', is currently type "+(0,n.default)(e)+", while checking isHexPrefixed.");return"0x"===e.slice(0,2)}},8915:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(8184),o=r(3604),a=r(593),s=a("Object.prototype.toString"),u=r(1191)(),c=r(3820),f="undefined"==typeof globalThis?r.g:globalThis,d=o(),l=a("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1}return!!c&&function(e){var t=!1;return i(p,(function(r,n){if(!t)try{t=r.call(e)===n}catch(e){}})),t}(e)}},9484:e=>{"use strict";var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},4858:(e,t,r)=>{"use strict";e=r.nmd(e);var n=r(9142),i=r(8847)(r(3355));!function(){var t="object"===("undefined"==typeof window?"undefined":(0,i.default)(window))?window:{};!t.JS_SHA3_NO_NODE_JS&&"object"===(void 0===n?"undefined":(0,i.default)(n))&&n.versions&&n.versions.node&&(t=r.g);for(var o=!t.JS_SHA3_NO_COMMON_JS&&"object"===(0,i.default)(e)&&e.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],c=[224,256,384,512],f=["hex","buffer","arrayBuffer","array"],d=function(e,t,r){return function(n){return new k(e,t,e).update(n)[r]()}},l=function(e,t,r){return function(n,i){return new k(e,t,i).update(n)[r]()}},h=function(e,t){var r=d(e,t,"hex");r.create=function(){return new k(e,t,e)},r.update=function(e){return r.create().update(e)};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(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,o=this.blocks,a=this.byteCount,u=this.blockCount,c=0,f=this.s;c>2]|=e[c]<>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&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+a[15&e]+a[e>>12&15]+a[e>>8&15]+a[e>>20&15]+a[e>>16&15]+a[e>>28&15]+a[e>>24&15];s%t==0&&(_(r),o=0)}return i&&(e=r[o],i>0&&(u+=a[e>>4&15]+a[15&e]),i>1&&(u+=a[e>>12&15]+a[e>>8&15]),i>2&&(u+=a[e>>20&15]+a[e>>16&15])),u},k.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&_(n)}return o&&(e=s<<2,t=n[a],o>0&&(u[e]=255&t),o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u};var _=function(e){var t,r,n,i,o,a,s,c,f,d,l,h,p,b,y,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],f=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(c<<1|f>>>31),r=o^(f<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(d<<1|l>>>31),r=s^(l<<1|d>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|p>>>31),r=f^(p<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=d^(i<<1|o>>>31),r=l^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,b=e[0],y=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=b^~m&g,e[1]=y^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&b,e[7]=k^~S&y,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~b&m,e[9]=S^~y&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=u[n],e[1]^=u[n+1]};if(o)e.exports=b;else for(m=0;m{"use strict";e.exports=r(2109)(r(801))},2109:(e,t,r)=>{"use strict";var n=r(6543),i=r(274);e.exports=function(e){var t=n(e),r=i(e);return function(e,n){switch("string"==typeof e?e.toLowerCase():e){case"keccak224":return new t(1152,448,null,224,n);case"keccak256":return new t(1088,512,null,256,n);case"keccak384":return new t(832,768,null,384,n);case"keccak512":return new t(576,1024,null,512,n);case"sha3-224":return new t(1152,448,6,224,n);case"sha3-256":return new t(1088,512,6,256,n);case"sha3-384":return new t(832,768,6,384,n);case"sha3-512":return new t(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: "+e)}}}},6543:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(9721)),a=i(r(8985)),s=i(r(5163)),u=i(r(4650)),c=i(r(1949));var f=r(6505).Transform;e.exports=function(e){return function(t){(0,s.default)(d,t);var r,i,f=(r=d,i=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(e){return!1}}(),function(){var e,t=(0,c.default)(r);if(i){var n=(0,c.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,u.default)(this,e)});function d(t,r,n,i,a){var s;return(0,o.default)(this,d),(s=f.call(this,a))._rate=t,s._capacity=r,s._delimitedSuffix=n,s._hashBitLength=i,s._options=a,s._state=new e,s._state.initialize(t,r),s._finalized=!1,s}return(0,a.default)(d,[{key:"_transform",value:function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)}},{key:"_flush",value:function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)}},{key:"update",value:function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return n.isBuffer(e)||(e=n.from(e,t)),this._state.absorb(e),this}},{key:"digest",value:function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);var t=this._state.squeeze(this._hashBitLength/8);return void 0!==e&&(t=t.toString(e)),this._resetState(),t}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var e=new d(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}]),d}(f)}},274:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(9721)),a=i(r(8985)),s=i(r(5163)),u=i(r(4650)),c=i(r(1949));var f=r(6505).Transform;e.exports=function(e){return function(t){(0,s.default)(d,t);var r,i,f=(r=d,i=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(e){return!1}}(),function(){var e,t=(0,c.default)(r);if(i){var n=(0,c.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,u.default)(this,e)});function d(t,r,n,i){var a;return(0,o.default)(this,d),(a=f.call(this,i))._rate=t,a._capacity=r,a._delimitedSuffix=n,a._options=i,a._state=new e,a._state.initialize(t,r),a._finalized=!1,a}return(0,a.default)(d,[{key:"_transform",value:function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)}},{key:"_flush",value:function(){}},{key:"_read",value:function(e){this.push(this.squeeze(e))}},{key:"update",value:function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return n.isBuffer(e)||(e=n.from(e,t)),this._state.absorb(e),this}},{key:"squeeze",value:function(e,t){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));var r=this._state.squeeze(e);return void 0!==t&&(r=r.toString(t)),r}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var e=new d(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}]),d}(f)}},5612:(e,t)=>{"use strict";var r=[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];t.p1600=function(e){for(var t=0;t<24;++t){var n=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],a=e[3]^e[13]^e[23]^e[33]^e[43],s=e[4]^e[14]^e[24]^e[34]^e[44],u=e[5]^e[15]^e[25]^e[35]^e[45],c=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],d=e[8]^e[18]^e[28]^e[38]^e[48],l=e[9]^e[19]^e[29]^e[39]^e[49],h=d^(o<<1|a>>>31),p=l^(a<<1|o>>>31),b=e[0]^h,y=e[1]^p,m=e[10]^h,v=e[11]^p,g=e[20]^h,w=e[21]^p,A=e[30]^h,k=e[31]^p,_=e[40]^h,S=e[41]^p;h=n^(s<<1|u>>>31),p=i^(u<<1|s>>>31);var E=e[2]^h,x=e[3]^p,P=e[12]^h,O=e[13]^p,B=e[22]^h,T=e[23]^p,C=e[32]^h,I=e[33]^p,M=e[42]^h,U=e[43]^p;h=o^(c<<1|f>>>31),p=a^(f<<1|c>>>31);var R=e[4]^h,j=e[5]^p,N=e[14]^h,F=e[15]^p,L=e[24]^h,D=e[25]^p,H=e[34]^h,q=e[35]^p,z=e[44]^h,G=e[45]^p;h=s^(d<<1|l>>>31),p=u^(l<<1|d>>>31);var K=e[6]^h,V=e[7]^p,J=e[16]^h,W=e[17]^p,Y=e[26]^h,X=e[27]^p,Q=e[36]^h,Z=e[37]^p,$=e[46]^h,ee=e[47]^p;h=c^(n<<1|i>>>31),p=f^(i<<1|n>>>31);var te=e[8]^h,re=e[9]^p,ne=e[18]^h,ie=e[19]^p,oe=e[28]^h,ae=e[29]^p,se=e[38]^h,ue=e[39]^p,ce=e[48]^h,fe=e[49]^p,de=b,le=y,he=v<<4|m>>>28,pe=m<<4|v>>>28,be=g<<3|w>>>29,ye=w<<3|g>>>29,me=k<<9|A>>>23,ve=A<<9|k>>>23,ge=_<<18|S>>>14,we=S<<18|_>>>14,Ae=E<<1|x>>>31,ke=x<<1|E>>>31,_e=O<<12|P>>>20,Se=P<<12|O>>>20,Ee=B<<10|T>>>22,xe=T<<10|B>>>22,Pe=I<<13|C>>>19,Oe=C<<13|I>>>19,Be=M<<2|U>>>30,Te=U<<2|M>>>30,Ce=j<<30|R>>>2,Ie=R<<30|j>>>2,Me=N<<6|F>>>26,Ue=F<<6|N>>>26,Re=D<<11|L>>>21,je=L<<11|D>>>21,Ne=H<<15|q>>>17,Fe=q<<15|H>>>17,Le=G<<29|z>>>3,De=z<<29|G>>>3,He=K<<28|V>>>4,qe=V<<28|K>>>4,ze=W<<23|J>>>9,Ge=J<<23|W>>>9,Ke=Y<<25|X>>>7,Ve=X<<25|Y>>>7,Je=Q<<21|Z>>>11,We=Z<<21|Q>>>11,Ye=ee<<24|$>>>8,Xe=$<<24|ee>>>8,Qe=te<<27|re>>>5,Ze=re<<27|te>>>5,$e=ne<<20|ie>>>12,et=ie<<20|ne>>>12,tt=ae<<7|oe>>>25,rt=oe<<7|ae>>>25,nt=se<<8|ue>>>24,it=ue<<8|se>>>24,ot=ce<<14|fe>>>18,at=fe<<14|ce>>>18;e[0]=de^~_e&Re,e[1]=le^~Se&je,e[10]=He^~$e&be,e[11]=qe^~et&ye,e[20]=Ae^~Me&Ke,e[21]=ke^~Ue&Ve,e[30]=Qe^~he&Ee,e[31]=Ze^~pe&xe,e[40]=Ce^~ze&tt,e[41]=Ie^~Ge&rt,e[2]=_e^~Re&Je,e[3]=Se^~je&We,e[12]=$e^~be&Pe,e[13]=et^~ye&Oe,e[22]=Me^~Ke&nt,e[23]=Ue^~Ve&it,e[32]=he^~Ee&Ne,e[33]=pe^~xe&Fe,e[42]=ze^~tt&me,e[43]=Ge^~rt&ve,e[4]=Re^~Je&ot,e[5]=je^~We&at,e[14]=be^~Pe&Le,e[15]=ye^~Oe&De,e[24]=Ke^~nt&ge,e[25]=Ve^~it&we,e[34]=Ee^~Ne&Ye,e[35]=xe^~Fe&Xe,e[44]=tt^~me&Be,e[45]=rt^~ve&Te,e[6]=Je^~ot&de,e[7]=We^~at&le,e[16]=Pe^~Le&He,e[17]=Oe^~De&qe,e[26]=nt^~ge&Ae,e[27]=it^~we&ke,e[36]=Ne^~Ye&Qe,e[37]=Fe^~Xe&Ze,e[46]=me^~Be&Ce,e[47]=ve^~Te&Ie,e[8]=ot^~de&_e,e[9]=at^~le&Se,e[18]=Le^~He&$e,e[19]=De^~qe&et,e[28]=ge^~Ae&Me,e[29]=we^~ke&Ue,e[38]=Ye^~Qe&he,e[39]=Xe^~Ze&pe,e[48]=Be^~Ce&ze,e[49]=Te^~Ie&Ge,e[0]^=r[2*t],e[1]^=r[2*t+1]}}},801:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(5612);function o(){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}o.prototype.initialize=function(e,t){for(var r=0;r<50;++r)this.state[r]=0;this.blockSize=e/8,this.count=0,this.squeezing=!1},o.prototype.absorb=function(e){for(var t=0;t>>this.count%4*8&255,this.count+=1,this.count===this.blockSize&&(i.p1600(this.state),this.count=0);return t},o.prototype.copy=function(e){for(var t=0;t<50;++t)e.state[t]=this.state[t];e.blockSize=this.blockSize,e.count=this.count,e.squeezing=this.squeezing},e.exports=o},807:(e,t,r)=>{"use strict";var n=r(1736),i=r(2353),o=r(8850).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(e,t){return e<>>32-t}function c(e,t,r,n,i,o,a){return u(e+(t&r|~t&n)+i+o|0,a)+t|0}function f(e,t,r,n,i,o,a){return u(e+(t&n|r&~n)+i+o|0,a)+t|0}function d(e,t,r,n,i,o,a){return u(e+(t^r^n)+i+o|0,a)+t|0}function l(e,t,r,n,i,o,a){return u(e+(r^(t|~n))+i+o|0,a)+t|0}n(s,i),s.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,n=this._b,i=this._c,o=this._d;r=c(r,n,i,o,e[0],3614090360,7),o=c(o,r,n,i,e[1],3905402710,12),i=c(i,o,r,n,e[2],606105819,17),n=c(n,i,o,r,e[3],3250441966,22),r=c(r,n,i,o,e[4],4118548399,7),o=c(o,r,n,i,e[5],1200080426,12),i=c(i,o,r,n,e[6],2821735955,17),n=c(n,i,o,r,e[7],4249261313,22),r=c(r,n,i,o,e[8],1770035416,7),o=c(o,r,n,i,e[9],2336552879,12),i=c(i,o,r,n,e[10],4294925233,17),n=c(n,i,o,r,e[11],2304563134,22),r=c(r,n,i,o,e[12],1804603682,7),o=c(o,r,n,i,e[13],4254626195,12),i=c(i,o,r,n,e[14],2792965006,17),r=f(r,n=c(n,i,o,r,e[15],1236535329,22),i,o,e[1],4129170786,5),o=f(o,r,n,i,e[6],3225465664,9),i=f(i,o,r,n,e[11],643717713,14),n=f(n,i,o,r,e[0],3921069994,20),r=f(r,n,i,o,e[5],3593408605,5),o=f(o,r,n,i,e[10],38016083,9),i=f(i,o,r,n,e[15],3634488961,14),n=f(n,i,o,r,e[4],3889429448,20),r=f(r,n,i,o,e[9],568446438,5),o=f(o,r,n,i,e[14],3275163606,9),i=f(i,o,r,n,e[3],4107603335,14),n=f(n,i,o,r,e[8],1163531501,20),r=f(r,n,i,o,e[13],2850285829,5),o=f(o,r,n,i,e[2],4243563512,9),i=f(i,o,r,n,e[7],1735328473,14),r=d(r,n=f(n,i,o,r,e[12],2368359562,20),i,o,e[5],4294588738,4),o=d(o,r,n,i,e[8],2272392833,11),i=d(i,o,r,n,e[11],1839030562,16),n=d(n,i,o,r,e[14],4259657740,23),r=d(r,n,i,o,e[1],2763975236,4),o=d(o,r,n,i,e[4],1272893353,11),i=d(i,o,r,n,e[7],4139469664,16),n=d(n,i,o,r,e[10],3200236656,23),r=d(r,n,i,o,e[13],681279174,4),o=d(o,r,n,i,e[0],3936430074,11),i=d(i,o,r,n,e[3],3572445317,16),n=d(n,i,o,r,e[6],76029189,23),r=d(r,n,i,o,e[9],3654602809,4),o=d(o,r,n,i,e[12],3873151461,11),i=d(i,o,r,n,e[15],530742520,16),r=l(r,n=d(n,i,o,r,e[2],3299628645,23),i,o,e[0],4096336452,6),o=l(o,r,n,i,e[7],1126891415,10),i=l(i,o,r,n,e[14],2878612391,15),n=l(n,i,o,r,e[5],4237533241,21),r=l(r,n,i,o,e[12],1700485571,6),o=l(o,r,n,i,e[3],2399980690,10),i=l(i,o,r,n,e[10],4293915773,15),n=l(n,i,o,r,e[1],2240044497,21),r=l(r,n,i,o,e[8],1873313359,6),o=l(o,r,n,i,e[15],4264355552,10),i=l(i,o,r,n,e[6],2734768916,15),n=l(n,i,o,r,e[13],1309151649,21),r=l(r,n,i,o,e[4],4149444226,6),o=l(o,r,n,i,e[11],3174756917,10),i=l(i,o,r,n,e[2],718787259,15),n=l(n,i,o,r,e[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 e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},137:(e,t,r)=>{"use strict";var n=r(1734),i=r(2202);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},o.prototype.test=function(e,t,r){var i=e.bitLength(),o=n.mont(e),a=new n(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var s=e.subn(1),u=0;!s.testn(u);u++);for(var c=e.shrn(u),f=s.toRed(o);t>0;t--){var d=this._randrange(new n(2),s);r&&r(d);var l=d.toRed(o).redPow(c);if(0!==l.cmp(a)&&0!==l.cmp(f)){for(var h=1;h0;t--){var f=this._randrange(new n(2),a),d=e.gcd(f);if(0!==d.cmpn(1))return d;var l=f.toRed(i).redPow(u);if(0!==l.cmp(o)&&0!==l.cmp(c)){for(var h=1;h{"use strict";function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},6580:(e,t)=>{"use strict";var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}},6565:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=function(){function e(t,r,n,o){(0,i.default)(this,e),this.name=t,this.code=r,this.alphabet=o,n&&o&&(this.engine=n(o))}return(0,o.default)(e,[{key:"encode",value:function(e){return this.engine.encode(e)}},{key:"decode",value:function(e){return this.engine.decode(e)}},{key:"isImplemented",value:function(){return this.engine}}]),e}();e.exports=a},2642:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base16 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"hex")}}}},6494:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=5;)s+=t[a>>>o-5&31],o-=5;if(o>0&&(s+=t[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}("string"==typeof t?Uint8Array.from(t):t,e)},decode:function(r){var n,i=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}(r);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(e.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(e){i.e(e)}finally{i.f()}return function(e,t){for(var r=(e=e.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}(r,e)}}}},6627:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r-1,r=e.indexOf("-")>-1&&e.indexOf("_")>-1;return{encode:function(e){var n="";n="string"==typeof e?i.from(e).toString("base64"):e.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var o=n.indexOf("=");return o>0&&!t&&(n=n.substring(0,o)),n},decode:function(t){var r,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"base64")}}}},7905:(e,t,r)=>{"use strict";var n=r(6565),i=r(7548),o=r(2642),a=r(6494),s=r(6627),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-_="]],c=u.reduce((function(e,t){return e[t[0]]=new n(t[0],t[1],t[2],t[3]),e}),{}),f=u.reduce((function(e,t){return e[t[1]]=c[t[0]],e}),{});e.exports={names:c,codes:f}},6086:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(7905);(t=e.exports=a).encode=function(e,t){var r=s(e);return a(r.name,n.from(r.encode(t)))},t.decode=function(e){n.isBuffer(e)&&(e=e.toString());var t=e.substring(0,1);"string"==typeof(e=e.substring(1,e.length))&&(e=n.from(e));var r=s(t);return n.from(r.decode(e.toString()))},t.isEncoded=function(e){if(n.isBuffer(e)&&(e=e.toString()),"[object String]"!==Object.prototype.toString.call(e))return!1;var t=e.substring(0,1);try{return s(t).name}catch(e){return!1}},t.names=Object.freeze(Object.keys(i.names)),t.codes=Object.freeze(Object.keys(i.codes));var o=new Error("Unsupported encoding");function a(e,t){if(!t)throw new Error("requires an encoded buffer");var r=s(e),i=n.from(r.code);return function(e,t){s(e).decode(t.toString())}(r.name,t),n.concat([i,t])}function s(e){var t;if(i.names[e])t=i.names[e];else{if(!i.codes[e])throw o;t=i.codes[e]}if(!t.isImplemented())throw new Error("Base "+e+" is not implemented yet");return t}},4093:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(4070),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(9033).Buffer,i=r(6657),o=r(7054),a=r(6002),s=r(5576);(t=e.exports).addPrefix=function(e,t){var r;if(n.isBuffer(e))r=s.varintBufferEncode(e);else{if(!a[e])throw new Error("multicodec not recognized");r=a[e]}return n.concat([r,t])},t.rmPrefix=function(e){return i.decode(e),e.slice(i.decode.bytes)},t.getCodec=function(e){var t=i.decode(e),r=o.get(t);if(void 0===r)throw new Error("Code ".concat(t," not found"));return r},t.getName=function(e){return o.get(e)},t.getNumber=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return s.varintBufferDecode(t)[0]},t.getCode=function(e){return i.decode(e)},t.getCodeVarint=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return t},t.getVarint=function(e){return i.encode(e)};var u=r(4093);Object.assign(t,u),t.print=r(1032)},7054:(e,t,r)=>{"use strict";var n=r(4070),i=new Map;for(var o in n){var a=n[o];i.set(a,o)}e.exports=Object.freeze(i)},1032:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(4070),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(9033).Buffer,i=r(6657);function o(e){return parseInt(e.toString("hex"),16)}function a(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),n.from(t,"hex")}e.exports={numberToBuffer:a,bufferToNumber:o,varintBufferEncode:function(e){return n.from(i.encode(o(e)))},varintBufferDecode:function(e){return a(i.decode(e))},varintEncode:function(e){return n.from(i.encode(e))}}},6002:(e,t,r)=>{"use strict";var n=r(4070),i=r(5576).varintEncode,o={};for(var a in n){var s=n[a];o[a]=i(s)}e.exports=Object.freeze(o)},1786:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=function(){function e(t,r,n,o){(0,i.default)(this,e),this.name=t,this.code=r,this.alphabet=o,n&&o&&(this.engine=n(o))}return(0,o.default)(e,[{key:"encode",value:function(e){return this.engine.encode(e)}},{key:"decode",value:function(e){return this.engine.decode(e)}},{key:"isImplemented",value:function(){return this.engine}}]),e}();e.exports=a},7739:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base16 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"hex")}}}},976:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=5;)s+=t[a>>>o-5&31],o-=5;if(o>0&&(s+=t[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}("string"==typeof t?Uint8Array.from(t):t,e)},decode:function(r){var n,i=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}(r);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(e.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(e){i.e(e)}finally{i.f()}return function(e,t){for(var r=(e=e.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}(r,e)}}}},8504:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r-1,r=e.indexOf("-")>-1&&e.indexOf("_")>-1;return{encode:function(e){var n="";n="string"==typeof e?i.from(e).toString("base64"):e.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var o=n.indexOf("=");return o>0&&!t&&(n=n.substring(0,o)),n},decode:function(t){var r,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"base64")}}}},2263:(e,t,r)=>{"use strict";var n=r(1786),i=r(7548),o=r(7739),a=r(976),s=r(8504),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-_="]],c=u.reduce((function(e,t){return e[t[0]]=new n(t[0],t[1],t[2],t[3]),e}),{}),f=u.reduce((function(e,t){return e[t[1]]=c[t[0]],e}),{});e.exports={names:c,codes:f}},2592:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(2263);function o(e,t){if(!t)throw new Error("requires an encoded buffer");var r=a(e),i=n.from(r.code);return function(e,t){a(e).decode(t.toString())}(r.name,t),n.concat([i,t])}function a(e){var t;if(i.names[e])t=i.names[e];else{if(!i.codes[e])throw new Error("Unsupported encoding");t=i.codes[e]}if(!t.isImplemented())throw new Error("Base "+e+" is not implemented yet");return t}(t=e.exports=o).encode=function(e,t){var r=a(e);return o(r.name,n.from(r.encode(t)))},t.decode=function(e){n.isBuffer(e)&&(e=e.toString());var t=e.substring(0,1);"string"==typeof(e=e.substring(1,e.length))&&(e=n.from(e));var r=a(t);return n.from(r.decode(e.toString()))},t.isEncoded=function(e){if(n.isBuffer(e)&&(e=e.toString()),"[object String]"!==Object.prototype.toString.call(e))return!1;var t=e.substring(0,1);try{return a(t).name}catch(e){return!1}},t.names=Object.freeze(Object.keys(i.names)),t.codes=Object.freeze(Object.keys(i.codes))},1269:(e,t)=>{"use strict";t.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}),t.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"}),t.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})},7748:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(2592),o=r(6657),a=r(1269);function s(e){t.decode(e)}t.names=a.names,t.codes=a.codes,t.defaultLengths=a.defaultLengths,t.toHexString=function(e){if(!n.isBuffer(e))throw new Error("must be passed a buffer");return e.toString("hex")},t.fromHexString=function(e){return n.from(e,"hex")},t.toB58String=function(e){if(!n.isBuffer(e))throw new Error("must be passed a buffer");return i.encode("base58btc",e).toString().slice(1)},t.fromB58String=function(e){var t=e;return n.isBuffer(e)&&(t=e.toString()),i.decode("z"+t)},t.decode=function(e){if(!n.isBuffer(e))throw new Error("multihash must be a Buffer");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");var r=o.decode(e);if(!t.isValidCode(r))throw new Error("multihash unknown function code: 0x".concat(r.toString(16)));e=e.slice(o.decode.bytes);var i=o.decode(e);if(i<0)throw new Error("multihash invalid length: ".concat(i));if((e=e.slice(o.decode.bytes)).length!==i)throw new Error("multihash length inconsistent: 0x".concat(e.toString("hex")));return{code:r,name:a.codes[r],length:i,digest:e}},t.encode=function(e,r,i){if(!e||void 0===r)throw new Error("multihash encode requires at least two args: digest, code");var a=t.coerceCode(r);if(!n.isBuffer(e))throw new Error("digest should be a Buffer");if(null==i&&(i=e.length),i&&e.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)),e])},t.coerceCode=function(e){var r=e;if("string"==typeof e){if(void 0===a.names[e])throw new Error("Unrecognized hash function named: ".concat(e));r=a.names[e]}if("number"!=typeof r)throw new Error("Hash function code should be a number. Got: ".concat(r));if(void 0===a.codes[r]&&!t.isAppCode(r))throw new Error("Unrecognized function code: ".concat(r));return r},t.isAppCode=function(e){return e>0&&e<16},t.isValidCode=function(e){return!!t.isAppCode(e)||!!a.codes[e]},t.validate=s,t.prefix=function(e){return s(e),e.slice(0,2)}},7277:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(6931);e.exports=function(e){if("string"==typeof e||"number"==typeof e){var t=new i(1),r=String(e).toLowerCase().trim(),a="0x"===r.substr(0,2)||"-0x"===r.substr(0,3),s=o(r);if("-"===s.substr(0,1)&&(s=o(s.slice(1)),t=new i(-1,10)),!(s=""===s?"0":s).match(/^-?[0-9]+$/)&&s.match(/^[0-9A-Fa-f]+$/)||s.match(/^[a-fA-F]+$/)||!0===a&&s.match(/^[0-9A-Fa-f]+$/))return new i(s,16).mul(t);if((s.match(/^-?[0-9]+$/)||""===s)&&!1===a)return new i(s,10).mul(t)}else if("object"===(0,n.default)(e)&&e.toString&&!e.pop&&!e.push&&e.toString(10).match(/^-?[0-9]+$/)&&(e.mul||e.dividedToIntegerBy))return new i(e.toString(10),10);throw new Error("[number-to-bn] while converting number "+JSON.stringify(e)+" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.")}},3103:e=>{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var a,s,u=i(e),c=1;c{"use strict";var n,i,o;e=r.nmd(e);var a,s=r(8847)(r(3355));"undefined"!=typeof self&&self,a=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=7)}([function(e,t,r){r.d(t,"j",(function(){return i})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return a})),r.d(t,"h",(function(){return s})),r.d(t,"b",(function(){return u})),r.d(t,"k",(function(){return c})),r.d(t,"e",(function(){return f})),r.d(t,"g",(function(){return d})),r.d(t,"i",(function(){return l})),r.d(t,"a",(function(){return h})),r.d(t,"f",(function(){return p}));var n=r(1),i=c((function(e,t){var r=t.length;return c((function(n){for(var i=0;i0&&(i=r),r=e[c++]);)switch(q++,"\n"===r?(G++,z=0):z++,N){case h:if("{"===r)N=b;else if("["===r)N=m;else if(!V(r))return K("Non-whitespace before {[.");continue;case w:case b:if(V(r))continue;if(N===w)F.push(A);else{if("}"===r){s({}),u(),N=F.pop()||p;continue}F.push(y)}if('"'!==r)return K('Malformed object key should start with " ');N=g;continue;case A:case y:if(V(r))continue;if(":"===r)N===y?(F.push(y),void 0!==o&&(s({}),a(o),o=void 0),H++):void 0!==o&&(a(o),o=void 0),N=p;else if("}"===r)void 0!==o&&(s(o),u(),o=void 0),u(),H--,N=F.pop()||p;else{if(","!==r)return K("Bad object");N===y&&F.push(y),void 0!==o&&(s(o),u(),o=void 0),N=w}continue;case m:case p:if(V(r))continue;if(N===m){if(s([]),H++,N=p,"]"===r){u(),H--,N=F.pop()||p;continue}F.push(v)}if('"'===r)N=g;else if("{"===r)N=b;else if("["===r)N=m;else if("t"===r)N=k;else if("f"===r)N=E;else if("n"===r)N=B;else if("-"===r)U+=r;else if("0"===r)U+=r,N=20;else{if(-1==="123456789".indexOf(r))return K("Bad value");U+=r,N=20}continue;case v:if(","===r)F.push(v),void 0!==o&&(s(o),u(),o=void 0),N=p;else{if("]"!==r){if(V(r))continue;return K("Bad array")}void 0!==o&&(s(o),u(),o=void 0),u(),H--,N=F.pop()||p}continue;case g:void 0===o&&(o="");var l=c-1;e:for(;;){for(;D>0;)if(L+=r,r=e.charAt(c++),4===D?(o+=String.fromCharCode(parseInt(L,16)),D=0,l=c-1):D++,!r)break e;if('"'===r&&!R){N=F.pop()||p,o+=e.substring(l,c-1);break}if(!("\\"!==r||R||(R=!0,o+=e.substring(l,c-1),r=e.charAt(c++))))break;if(R){if(R=!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=e.charAt(c++),l=c-1,r)continue;break}d.lastIndex=c;var J=d.exec(e);if(!J){c=e.length+1,o+=e.substring(l,c-1);break}if(c=J.index+1,!(r=e.charAt(J.index))){o+=e.substring(l,c-1);break}}continue;case k:if(!r)continue;if("r"!==r)return K("Invalid true started with t"+r);N=_;continue;case _:if(!r)continue;if("u"!==r)return K("Invalid true started with tr"+r);N=S;continue;case S:if(!r)continue;if("e"!==r)return K("Invalid true started with tru"+r);s(!0),u(),N=F.pop()||p;continue;case E:if(!r)continue;if("a"!==r)return K("Invalid false started with f"+r);N=x;continue;case x:if(!r)continue;if("l"!==r)return K("Invalid false started with fa"+r);N=P;continue;case P:if(!r)continue;if("s"!==r)return K("Invalid false started with fal"+r);N=O;continue;case O:if(!r)continue;if("e"!==r)return K("Invalid false started with fals"+r);s(!1),u(),N=F.pop()||p;continue;case B:if(!r)continue;if("u"!==r)return K("Invalid null started with n"+r);N=T;continue;case T:if(!r)continue;if("l"!==r)return K("Invalid null started with nu"+r);N=C;continue;case C:if(!r)continue;if("l"!==r)return K("Invalid null started with nul"+r);s(null),u(),N=F.pop()||p;continue;case I:if("."!==r)return K("Leading zero not followed by .");U+=r,N=20;continue;case 20:if(-1!=="0123456789".indexOf(r))U+=r;else if("."===r){if(-1!==U.indexOf("."))return K("Invalid number has two dots");U+=r}else if("e"===r||"E"===r){if(-1!==U.indexOf("e")||-1!==U.indexOf("E"))return K("Invalid number has two exponential");U+=r}else if("+"===r||"-"===r){if("e"!==i&&"E"!==i)return K("Invalid symbol in number");U+=r}else U&&(s(parseFloat(U)),u(),U=""),c--,N=F.pop()||p;continue;default:return K("Unknown state: "+N)}q>=M&&(n=0,void 0!==o&&o.length>f&&(K("Max buffer length exceeded: textNode"),n=Math.max(n,o.length)),U.length>f&&(K("Max buffer length exceeded: numberNode"),n=Math.max(n,U.length)),M=f-n+q)}})),e(n.n).on((function(){if(N===h)return s({}),u(),void(j=!0);N===p&&0===H||K("Unexpected end"),void 0!==o&&(s(o),u(),o=void 0),j=!0}))}},function(e,t,r){r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return c}));var n=r(19),i=r(3),o=r(2),a=r(20),s=r(0);function u(){return new XMLHttpRequest}function c(e,t,r,u,c,f,d){var l=e(i.m).emit,h=e(i.b).emit,p=0,b=!0;function y(){if("2"===String(t.status)[0]){var e=t.responseText,r=(" "+e.substr(p)).substr(1);r&&l(r),p=Object(o.e)(e)}}function m(t){try{b&&e(i.c).emit(t.status,Object(a.a)(t.getAllResponseHeaders())),b=!1}catch(e){}}e(i.a).on((function(){t.onreadystatechange=null,t.abort()})),"onprogress"in t&&(t.onprogress=y),t.onreadystatechange=function(){switch(t.readyState){case 2:case 3:return m(t);case 4:m(t),"2"===String(t.status)[0]?(y(),e(i.n).emit()):h(Object(i.o)(t.status,t.responseText))}};try{for(var v in t.open(r,u,!0),f)t.setRequestHeader(v,f[v]);Object(n.a)(window.location,Object(n.b)(u))||t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.withCredentials=d,t.send(c)}catch(e){window.setTimeout(Object(s.j)(h,Object(i.o)(void 0,void 0,e)),0)}}},function(e,t,r){function n(e,t){function r(t){return String(t.port||{"http:":80,"https:":443}[t.protocol||e.protocol])}return!!(t.protocol&&t.protocol!==e.protocol||t.host&&t.host!==e.host||t.host&&r(t)!==r(e))}function i(e){var t=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/.exec(e)||[];return{protocol:t[1]||"",host:t[2]||"",port:t[3]||""}}r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i}))},function(e,t,r){function n(e){var t={};return e&&e.split("\r\n").forEach((function(e){var r=e.indexOf(": ");t[e.substring(0,r)]=e.substring(r+2)})),t}r.d(t,"a",(function(){return n}))}]).default},"object"===(0,s.default)(t)&&"object"===(0,s.default)(e)?e.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(t,i):n)||(e.exports=o))},1823:(e,t,r)=>{"use strict";var n=r(8357);t.certificate=r(1320);var i=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=i;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=o;var a=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));t.PublicKey=a;var s=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),u=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=u;var c=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=c;var f=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=f,t.DSAparam=n.define("DSAparam",(function(){this.int()}));var d=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=d;var l=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},1320:(e,t,r)=>{"use strict";var n=r(8357),i=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),a=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),s=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())})),u=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),c=n.define("RDNSequence",(function(){this.seqof(u)})),f=n.define("Name",(function(){this.choice({rdnSequence:this.use(c)})})),d=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),l=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),h=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(a),this.key("issuer").use(f),this.key("validity").use(d),this.key("subject").use(f),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(l).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(h),this.key("signatureAlgorithm").use(a),this.key("signatureValue").bitstr())}));e.exports=p},4988:(e,t,r)=>{"use strict";var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,a=r(7085),s=r(8073),u=r(8850).Buffer;e.exports=function(e,t){var r,c=e.toString(),f=c.match(n);if(f){var d="aes"+f[1],l=u.from(f[2],"hex"),h=u.from(f[3].replace(/[\r\n]/g,""),"base64"),p=a(t,l.slice(0,8),parseInt(f[1],10)).key,b=[],y=s.createDecipheriv(d,p,l);b.push(y.update(h)),b.push(y.final()),r=u.concat(b)}else{var m=c.match(o);r=u.from(m[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(i)[1],data:r}}},7552:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1823),o=r(2562),a=r(4988),s=r(8073),u=r(4192),c=r(8850).Buffer;function f(e){var t;"object"!==(0,n.default)(e)||c.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=c.from(e));var r,f,d=a(e,t),l=d.tag,h=d.data;switch(l){case"CERTIFICATE":f=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(f||(f=i.PublicKey.decode(h,"der")),r=f.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(f.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return f.subjectPrivateKey=f.subjectPublicKey,{type:"ec",data:f};case"1.2.840.10040.4.1":return f.algorithm.params.pub_key=i.DSAparam.decode(f.subjectPublicKey.data,"der"),{type:"dsa",data:f.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":h=function(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),i=o[e.algorithm.decrypt.cipher.algo.join(".")],a=e.algorithm.decrypt.cipher.iv,f=e.subjectPrivateKey,d=parseInt(i.split("-")[1],10)/8,l=u.pbkdf2Sync(t,r,n,d,"sha1"),h=s.createDecipheriv(i,l,a),p=[];return p.push(h.update(f)),p.push(h.final()),c.concat(p)}(h=i.EncryptedPrivateKey.decode(h,"der"),t);case"PRIVATE KEY":switch(r=(f=i.PrivateKey.decode(h,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(f.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:f.algorithm.curve,privateKey:i.ECPrivateKey.decode(f.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return f.algorithm.params.priv_key=i.DSAparam.decode(f.subjectPrivateKey,"der"),{type:"dsa",params:f.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return{curve:(h=i.ECPrivateKey.decode(h,"der")).parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+l)}}e.exports=f,f.signature=i.signature},8209:e=>{"use strict";var t=function(e){return e.replace(/^\s+|\s+$/g,"")};e.exports=function(e){if(!e)return{};for(var r,n={},i=t(e).split("\n"),o=0;o{"use strict";t.pbkdf2=r(1882),t.pbkdf2Sync=r(1658)},1882:(e,t,r)=>{"use strict";var n,i,o=r(8850).Buffer,a=r(3127),s=r(7401),u=r(1658),c=r(8398),f=r.g.crypto&&r.g.crypto.subtle,d={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 h(){return i||(i=r.g.process&&r.g.process.nextTick?r.g.process.nextTick:r.g.queueMicrotask?r.g.queueMicrotask:r.g.setImmediate?r.g.setImmediate:r.g.setTimeout)}function p(e,t,r,n,i){return f.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return f.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:i}},e,n<<3)})).then((function(e){return o.from(e)}))}e.exports=function(e,t,i,b,y,m){"function"==typeof y&&(m=y,y=void 0);var v=d[(y=y||"sha1").toLowerCase()];if(v&&"function"==typeof r.g.Promise){if(a(i,b),e=c(e,s,"Password"),t=c(t,s,"Salt"),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){h()((function(){t(null,e)}))}),(function(e){h()((function(){t(e)}))}))}(function(e){if(r.g.process&&!r.g.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==l[e])return l[e];var t=p(n=n||o.alloc(8),n,10,128,e).then((function(){return!0})).catch((function(){return!1}));return l[e]=t,t}(v).then((function(r){return r?p(e,t,i,b,v):u(e,t,i,b,y)})),m)}else h()((function(){var r;try{r=u(e,t,i,b,y)}catch(e){return m(e)}m(null,r)}))}},7401:(e,t,r)=>{"use strict";var n,i=r(9142);n=r.g.process&&r.g.process.browser?"utf-8":r.g.process&&r.g.process.version?parseInt(i.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",e.exports=n},3127:e=>{"use strict";var t=Math.pow(2,30)-1;e.exports=function(e,r){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof r)throw new TypeError("Key length not a number");if(r<0||r>t||r!=r)throw new TypeError("Bad key length")}},1658:(e,t,r)=>{"use strict";var n=r(5349),i=r(6707),o=r(1708),a=r(8850).Buffer,s=r(3127),u=r(7401),c=r(8398),f=a.alloc(128),d={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(e,t,r){var s=function(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?n:function(t){return o(e).update(t).digest()}}(e),u="sha512"===e||"sha384"===e?128:64;t.length>u?t=s(t):t.length{"use strict";var n=r(8850).Buffer;e.exports=function(e,t,r){if(n.isBuffer(e))return e;if("string"==typeof e)return n.from(e,t);if(ArrayBuffer.isView(e))return n.from(e.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},9142:e=>{"use strict";var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var s,u=[],c=!1,f=-1;function d(){c&&s&&(c=!1,s.length?u=s.concat(u):f=-1,u.length&&l())}function l(){if(!c){var e=a(d);c=!0;for(var t=u.length;t;){for(s=u,u=[];++f1)for(var r=1;r{"use strict";t.publicEncrypt=r(2466),t.privateDecrypt=r(3144),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}},6873:(e,t,r)=>{"use strict";var n=r(5866),i=r(8850).Buffer;function o(e){var t=i.allocUnsafe(4);return t.writeUInt32BE(e,0),t}e.exports=function(e,t){for(var r,a=i.alloc(0),s=0;a.length{"use strict";var n=r(7552),i=r(6873),o=r(817),a=r(1734),s=r(9782),u=r(5866),c=r(2561),f=r(8850).Buffer;e.exports=function(e,t,r){var d;d=e.padding?e.padding:r?1:4;var l,h=n(e),p=h.modulus.byteLength();if(t.length>p||new a(t).cmp(h.modulus)>=0)throw new Error("decryption error");l=r?c(new a(t),h):s(t,h);var b=f.alloc(p-l.length);if(l=f.concat([b,l],p),4===d)return function(e,t){var r=e.modulus.byteLength(),n=u("sha1").update(f.alloc(0)).digest(),a=n.length;if(0!==t[0])throw new Error("decryption error");var s=t.slice(1,a+1),c=t.slice(a+1),d=o(s,i(c,a)),l=o(c,i(d,r-a-1));if(function(e,t){e=f.from(e),t=f.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));for(var i=-1;++i=t.length){o++;break}var a=t.slice(2,i-1);if(("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++,a.length<8&&o++,o)throw new Error("decryption error");return t.slice(i)}(0,l,r);if(3===d)return l;throw new Error("unknown padding")}},2466:(e,t,r)=>{"use strict";var n=r(7552),i=r(5010),o=r(5866),a=r(6873),s=r(817),u=r(1734),c=r(2561),f=r(9782),d=r(8850).Buffer;e.exports=function(e,t,r){var l;l=e.padding?e.padding:r?1:4;var h,p=n(e);if(4===l)h=function(e,t){var r=e.modulus.byteLength(),n=t.length,c=o("sha1").update(d.alloc(0)).digest(),f=c.length,l=2*f;if(n>r-l-2)throw new Error("message too long");var h=d.alloc(r-n-l-2),p=r-f-1,b=i(f),y=s(d.concat([c,h,d.alloc(1,1),t],p),a(b,p)),m=s(b,a(y,f));return new u(d.concat([d.alloc(1),m,y],r))}(p,t);else if(1===l)h=function(e,t,r){var n,o=t.length,a=e.modulus.byteLength();if(o>a-11)throw new Error("message too long");return n=r?d.alloc(a-o-3,255):function(e){for(var t,r=d.allocUnsafe(e),n=0,o=i(2*e),a=0;n=0)throw new Error("data too long for modulus")}return r?f(h,p):c(h,p)}},2561:(e,t,r)=>{"use strict";var n=r(1734),i=r(8850).Buffer;e.exports=function(e,t){return i.from(e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed().toArray())}},817:e=>{"use strict";e.exports=function(e,t){for(var r=e.length,n=-1;++n{"use strict";var n=r(9142),i=65536,o=r(8850).Buffer,a=r.g.crypto||r.g.msCrypto;a&&a.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var r=o.allocUnsafe(e);if(e>0)if(e>i)for(var s=0;s{"use strict";var n=r(9142);function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(8850),a=r(5010),s=o.Buffer,u=o.kMaxLength,c=r.g.crypto||r.g.msCrypto,f=Math.pow(2,32)-1;function d(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>f||e<0)throw new TypeError("offset must be a uint32");if(e>u||e>t)throw new RangeError("offset out of range")}function l(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>f||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>u)throw new RangeError("buffer too small")}function h(e,t,r,i){if(n.browser){var o=e.buffer,s=new Uint8Array(o,t,r);return c.getRandomValues(s),i?void n.nextTick((function(){i(null,e)})):e}if(!i)return a(r).copy(e,t),e;a(r,(function(r,n){if(r)return i(r);n.copy(e,t),i(null,e)}))}c&&c.getRandomValues||!n.browser?(t.randomFill=function(e,t,n,i){if(!(s.isBuffer(e)||e instanceof r.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof t)i=t,t=0,n=e.length;else if("function"==typeof n)i=n,n=e.length-t;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return d(t,e.length),l(n,t,e.length),h(e,t,n,i)},t.randomFillSync=function(e,t,n){if(void 0===t&&(t=0),!(s.isBuffer(e)||e instanceof r.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return d(t,e.length),void 0===n&&(n=e.length-t),l(n,t,e.length),h(e,t,n)}):(t.randomFill=i,t.randomFillSync=i)},9024:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i={};function o(e,t,r){r||(r=Error);var n=function(e){var r,n;function i(r,n,i){return e.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i))||this}return n=e,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);n.prototype.name=r.name,n.prototype.code=e,i[e]=n}function a(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}o("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(e,t,r){var i,o,s,u,c;if("string"==typeof t&&(o="not ",t.substr(0,o.length)===o)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s="The ".concat(e," ").concat(i," ").concat(a(t,"type"));else{var f=("number"!=typeof c&&(c=0),c+".".length>(u=e).length||-1===u.indexOf(".",c)?"argument":"property");s='The "'.concat(e,'" ').concat(f," ").concat(i," ").concat(a(t,"type"))}return s+". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" 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(e){return"Unknown encoding: "+e}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=i},6884:(e,t,r)=>{"use strict";var n=r(9142),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=f;var o=r(6297),a=r(1471);r(1736)(f,o);for(var s=i(a.prototype),u=0;u{"use strict";e.exports=i;var n=r(9154);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(1736)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},6297:(e,t,r)=>{"use strict";var n,i=r(9142);e.exports=E,E.ReadableState=S,r(8291).EventEmitter;var o,a=function(e,t){return e.listeners(t).length},s=r(7144),u=r(9033).Buffer,c=r.g.Uint8Array||function(){},f=r(4616);o=f&&f.debuglog?f.debuglog("stream"):function(){};var d,l,h,p=r(5392),b=r(7572),y=r(6756).getHighWaterMark,m=r(9024).q,v=m.ERR_INVALID_ARG_TYPE,g=m.ERR_STREAM_PUSH_AFTER_EOF,w=m.ERR_METHOD_NOT_IMPLEMENTED,A=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(1736)(E,s);var k=b.errorOrDestroy,_=["error","close","destroy","pause","resume"];function S(e,t,i){n=n||r(6884),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=y(this,e,"readableHighWaterMark",i),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!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=r(3462).s),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function E(e){if(n=n||r(6884),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new S(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function x(e,t,r,n,i){o("readableAddChunk",t);var a,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(o("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?T(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,C(e)))}}(e,s);else if(i||(a=function(e,t){var r,n;return n=t,u.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(r=new v("chunk",["string","Buffer","Uint8Array"],t)),r}(s,t)),a)k(e,a);else if(s.objectMode||t&&t.length>0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),n)s.endEmitted?k(e,new A):P(e,s,t,!0);else if(s.ended)k(e,new g);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?P(e,s,t,!1):I(e,s)):P(e,s,t,!1)}else n||(s.reading=!1,I(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=O?e=O:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function T(e){var t=e._readableState;o("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o("emitReadable",t.flowing),t.emittedReadable=!0,i.nextTick(C,e))}function C(e){var t=e._readableState;o("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,N(e)}function I(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(M,e,t))}function M(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function R(e){o("readable nexttick read 0"),e.read(0)}function j(e,t){o("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),N(e),t.flowing&&!t.reading&&e.read(0)}function N(e){var t=e._readableState;for(o("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function L(e){var t=e._readableState;o("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(D,t,e))}function D(e,t){if(o("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function H(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return o("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):T(this),null;if(0===(e=B(e,t))&&t.ended)return 0===t.length&&L(this),null;var n,i=t.needReadable;return o("need readable",i),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&L(this)),null!==n&&this.emit("data",n),n},E.prototype._read=function(e){k(this,new w("_read()"))},E.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,o("pipe count=%d opts=%j",n.pipesCount,t);var s=t&&!1===t.end||e===i.stdout||e===i.stderr?b:u;function u(){o("onend"),e.end()}n.endEmitted?i.nextTick(s):r.once("end",s),e.on("unpipe",(function t(i,a){o("onunpipe"),i===r&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,o("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",l),e.removeListener("unpipe",t),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",d),f=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||c())}));var c=function(e){return function(){var t=e._readableState;o("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,N(e))}}(r);e.on("drain",c);var f=!1;function d(t){o("ondata");var i=e.write(t);o("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==H(n.pipes,e))&&!f&&(o("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function l(t){o("onerror",t),b(),e.removeListener("error",l),0===a(e,"error")&&k(e,t)}function h(){e.removeListener("finish",p),b()}function p(){o("onfinish"),e.removeListener("close",h),b()}function b(){o("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",l),e.once("close",h),e.once("finish",p),e.emit("pipe",r),n.flowing||(o("pipe resume"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,o("on readable",n.length,n.reading),n.length?T(this):n.reading||i.nextTick(R,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);return"readable"===e&&i.nextTick(U,this),r},E.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||i.nextTick(U,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(o("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(j,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(o("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){o("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<_.length;a++)e.on(_[a],this.emit.bind(this,_[a]));return this._read=function(t){o("wrapped _read",t),n&&(n=!1,e.resume())},this},"function"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===l&&(l=r(2317)),l(this)}),Object.defineProperty(E.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=F,Object.defineProperty(E.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(E.from=function(e,t){return void 0===h&&(h=r(6218)),h(E,e,t)})},9154:(e,t,r)=>{"use strict";e.exports=f;var n=r(9024).q,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(6884);function c(e,t){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!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";var n,i=r(9142);function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(undefined),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}e.exports=E,E.WritableState=S;var a,s={deprecate:r(6219)},u=r(7144),c=r(9033).Buffer,f=r.g.Uint8Array||function(){},d=r(7572),l=r(6756).getHighWaterMark,h=r(9024).q,p=h.ERR_INVALID_ARG_TYPE,b=h.ERR_METHOD_NOT_IMPLEMENTED,y=h.ERR_MULTIPLE_CALLBACK,m=h.ERR_STREAM_CANNOT_PIPE,v=h.ERR_STREAM_DESTROYED,g=h.ERR_STREAM_NULL_VALUES,w=h.ERR_STREAM_WRITE_AFTER_END,A=h.ERR_UNKNOWN_ENCODING,k=d.errorOrDestroy;function _(){}function S(e,t,a){n=n||r(6884),e=e||{},"boolean"!=typeof a&&(a=t instanceof n),this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=l(this,e,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,o=r.writecb;if("function"!=typeof o)throw new y;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,o){--t.pendingcb,r?(i.nextTick(o,n),i.nextTick(C,e,t),e._writableState.errorEmitted=!0,k(e,n)):(o(n),e._writableState.errorEmitted=!0,k(e,n),C(e,t))}(e,r,n,t,o);else{var a=B(r)||e.destroyed;a||r.corked||r.bufferProcessing||!r.bufferedRequest||O(e,r),n?i.nextTick(P,e,r,a,o):P(e,r,a,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function E(e){var t=this instanceof(n=n||r(6884));if(!t&&!a.call(E,this))return new E(e);this._writableState=new S(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function x(e,t,r,n,i,o,a){t.writelen=n,t.writecb=a,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new v("write")):r?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function P(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),C(e,t)}function O(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var s=0,u=!0;r;)i[s]=r,r.isBuf||(u=!1),r=r.next,s+=1;i.allBuffers=u,x(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,f=r.encoding,d=r.callback;if(x(e,t,!1,t.objectMode?1:c.length,c,f,d),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function B(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function T(e,t){e._final((function(r){t.pendingcb--,r&&k(e,r),t.prefinished=!0,e.emit("prefinish"),C(e,t)}))}function C(e,t){var r=B(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(T,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}r(1736)(E,u),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!a.call(this,e)||this===E&&e&&e._writableState instanceof S}})):a=function(e){return e instanceof this},E.prototype.pipe=function(){k(this,new m)},E.prototype.write=function(e,t,r){var n,o=this._writableState,a=!1,s=!o.objectMode&&(n=e,c.isBuffer(n)||n instanceof f);return s&&!c.isBuffer(e)&&(e=function(e){return c.from(e)}(e)),"function"==typeof t&&(r=t,t=null),s?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof r&&(r=_),o.ending?function(e,t){var r=new w;k(e,r),i.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var o;return null===r?o=new g:"string"==typeof r||t.objectMode||(o=new p("chunk",["string","Buffer"],r)),!o||(k(e,o),i.nextTick(n,o),!1)}(this,o,e,r))&&(o.pendingcb++,a=function(e,t,r,n,i,o){if(!r){var a=function(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=c.from(t,r)),t}(t,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=t.objectMode?1:n.length;t.length+=s;var u=t.length-1))throw new A(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,r){r(new b("_write()"))},E.prototype._writev=null,E.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,C(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=d.destroy,E.prototype._undestroy=d.undestroy,E.prototype._destroy=function(e,t){t(e)}},2317:(e,t,r)=>{"use strict";var n,i=r(9142);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(5831),s=Symbol("lastResolve"),u=Symbol("lastReject"),c=Symbol("error"),f=Symbol("ended"),d=Symbol("lastPromise"),l=Symbol("handlePromise"),h=Symbol("stream");function p(e,t){return{value:e,done:t}}function b(e){var t=e[s];if(null!==t){var r=e[h].read();null!==r&&(e[d]=null,e[s]=null,e[u]=null,t(p(r,!1)))}}function y(e){i.nextTick(b,e)}var m=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((o(n={get stream(){return this[h]},next:function(){var e=this,t=this[c];if(null!==t)return Promise.reject(t);if(this[f])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(t,r){i.nextTick((function(){e[c]?r(e[c]):t(p(void 0,!0))}))}));var r,n=this[d];if(n)r=new Promise(function(e,t){return function(r,n){e.then((function(){t[f]?r(p(void 0,!0)):t[l](r,n)}),n)}}(n,this));else{var o=this[h].read();if(null!==o)return Promise.resolve(p(o,!1));r=new Promise(this[l])}return this[d]=r,r}},Symbol.asyncIterator,(function(){return this})),o(n,"return",(function(){var e=this;return new Promise((function(t,r){e[h].destroy(null,(function(e){e?r(e):t(p(void 0,!0))}))}))})),n),m);e.exports=function(e){var t,r=Object.create(v,(o(t={},h,{value:e,writable:!0}),o(t,s,{value:null,writable:!0}),o(t,u,{value:null,writable:!0}),o(t,c,{value:null,writable:!0}),o(t,f,{value:e._readableState.endEmitted,writable:!0}),o(t,l,{value:function(e,t){var n=r[h].read();n?(r[d]=null,r[s]=null,r[u]=null,e(p(n,!1))):(r[s]=e,r[u]=t)},writable:!0}),t));return r[d]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[u];return null!==t&&(r[d]=null,r[s]=null,r[u]=null,t(e)),void(r[c]=e)}var n=r[s];null!==n&&(r[d]=null,r[s]=null,r[u]=null,n(p(void 0,!0))),r[f]=!0})),e.on("readable",y.bind(null,r)),r}},5392:(e,t,r)=>{"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){for(var r=0;r0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t,r,n,i=a.allocUnsafe(e>>>0),o=this.head,s=0;o;)t=o.data,r=i,n=s,a.prototype.copy.call(t,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(o===i.length?n+=i:n+=i.slice(0,e),0==(e-=o)){o===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=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,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t{"use strict";var n=r(9142);function i(e,t){a(e,t),o(e)}function o(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function a(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,s=this._readableState&&this._readableState.destroyed,u=this._writableState&&this._writableState.destroyed;return s||u?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(a,this,e)):n.nextTick(a,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?r._writableState?r._writableState.errorEmitted?n.nextTick(o,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,e)):n.nextTick(i,r,e):t?(n.nextTick(o,r),t(e)):n.nextTick(o,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}}},5831:(e,t,r)=>{"use strict";var n=r(9024).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,r,o){if("function"==typeof r)return e(t,null,r);r||(r={}),o=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";e.exports=function(){throw new Error("Readable.from is not available in the browser")}},384:(e,t,r)=>{"use strict";var n,i=r(9024).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function u(e,t,i,o){o=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(o);var s=!1;e.on("close",(function(){s=!0})),void 0===n&&(n=r(5831)),n(e,{readable:t,writable:i},(function(e){if(e)return o(e);s=!0,o()}));var u=!1;return function(t){if(!s&&!u)return u=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(t||new a("pipe"))}}function c(e){e()}function f(e,t){return e.pipe(t)}function d(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r0,(function(e){n||(n=e),e&&a.forEach(c),o||(a.forEach(c),i(n))}))}));return t.reduce(f)}},6756:(e,t,r)=>{"use strict";var n=r(9024).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,i){var o=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new n(i?r:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},7144:(e,t,r)=>{"use strict";e.exports=r(8291).EventEmitter},6505:(e,t,r)=>{"use strict";(t=e.exports=r(6297)).Stream=t,t.Readable=t,t.Writable=r(1471),t.Duplex=r(6884),t.Transform=r(9154),t.PassThrough=r(3582),t.finished=r(5831),t.pipeline=r(384)},6707:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(1736),o=r(2353),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],c=[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],f=[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],d=[0,1518500249,1859775393,2400959708,2840853838],l=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function b(e,t,r,n,i,o,a,s){return p(e+(t^r^n)+o+a|0,s)+i|0}function y(e,t,r,n,i,o,a,s){return p(e+(t&r|~t&n)+o+a|0,s)+i|0}function m(e,t,r,n,i,o,a,s){return p(e+((t|~r)^n)+o+a|0,s)+i|0}function v(e,t,r,n,i,o,a,s){return p(e+(t&n|r&~n)+o+a|0,s)+i|0}function g(e,t,r,n,i,o,a,s){return p(e+(t^(r|~n))+o+a|0,s)+i|0}i(h,o),h.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,w=0|this._a,A=0|this._b,k=0|this._c,_=0|this._d,S=0|this._e,E=0;E<80;E+=1){var x,P;E<16?(x=b(r,n,i,o,h,e[s[E]],d[0],c[E]),P=g(w,A,k,_,S,e[u[E]],l[0],f[E])):E<32?(x=y(r,n,i,o,h,e[s[E]],d[1],c[E]),P=v(w,A,k,_,S,e[u[E]],l[1],f[E])):E<48?(x=m(r,n,i,o,h,e[s[E]],d[2],c[E]),P=m(w,A,k,_,S,e[u[E]],l[2],f[E])):E<64?(x=v(r,n,i,o,h,e[s[E]],d[3],c[E]),P=y(w,A,k,_,S,e[u[E]],l[3],f[E])):(x=g(r,n,i,o,h,e[s[E]],d[4],c[E]),P=b(w,A,k,_,S,e[u[E]],l[4],f[E])),r=h,h=o,o=p(i,10),i=n,n=x,w=S,S=_,_=p(k,10),k=A,A=P}var O=this._b+i+_|0;this._b=this._c+o+S|0,this._c=this._d+h+w|0,this._d=this._e+r+A|0,this._e=this._a+n+k|0,this._a=O},h.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 e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},6905:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.getLength=t.decode=t.encode=void 0;var i,o=(i=r(1734))&&i.__esModule?i:{default:i};function a(e,t){if("0"===e[0]&&"0"===e[1])throw new Error("invalid RLP: extra zeros");return parseInt(e,t)}function s(e,t){if(e<56)return n.from([e+t]);var r=f(e),i=f(t+55+r.length/2);return n.from(i+r,"hex")}function u(e){var t,r,i,o,s,c=[],f=e[0];if(f<=127)return{data:e.slice(0,1),remainder:e.slice(1)};if(f<=183){if(t=f-127,i=128===f?n.from([]):e.slice(1,t),2===t&&i[0]<128)throw new Error("invalid rlp encoding: byte must be less 0x80");return{data:i,remainder:e.slice(t)}}if(f<=191){if(r=f-182,e.length-1e.length)throw new Error("invalid rlp: total length is larger than the data");if(0===(o=e.slice(r,d)).length)throw new Error("invalid rlp, List has a invalid length");for(;o.length;)s=u(o),c.push(s.data),o=s.remainder;return{data:c,remainder:e.slice(d)}}function c(e){return"0x"===e.slice(0,2)}function f(e){if(e<0)throw new Error("Invalid integer as argument, must be unsigned!");var t=e.toString(16);return t.length%2?"0"+t:t}function d(e){if(!n.isBuffer(e)){if("string"==typeof e)return c(e)?n.from((r="string"!=typeof(i=e)?i:c(i)?i.slice(2):i).length%2?"0"+r:r,"hex"):n.from(e);if("number"==typeof e||"bigint"==typeof e)return e?(t=f(e),n.from(t,"hex")):n.from([]);if(null==e)return n.from([]);if(e instanceof Uint8Array)return n.from(e);if(o.default.isBN(e))return n.from(e.toArray());throw new Error("invalid type")}var t,r,i;return e}t.encode=function e(t){if(Array.isArray(t)){for(var r=[],i=0;i{"use strict";var n=r(9033),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},1755:(e,t,r)=>{"use strict";var n,i=r(9142),o=r(8847)(r(3355)),a=r(9033),s=a.Buffer,u={};for(n in a)a.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(u[n]=a[n]);var c=u.Buffer={};for(n in s)s.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(c[n]=s[n]);if(u.Buffer.prototype=s.prototype,c.from&&c.from!==Uint8Array.from||(c.from=function(e,t,r){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+(0,o.default)(e));if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+(0,o.default)(e));return s(e,t,r)}),c.alloc||(c.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+(0,o.default)(e));if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=s(e);return t&&0!==t.length?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n}),!u.kStringMaxLength)try{u.kStringMaxLength=i.binding("buffer").kStringMaxLength}catch(e){}u.constants||(u.constants={MAX_LENGTH:u.kMaxLength},u.kStringMaxLength&&(u.constants.MAX_STRING_LENGTH=u.kStringMaxLength)),e.exports=u},7799:e=>{"use strict";!function(t){var r=2147483647;function n(e){var t=new Uint32Array([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]),r=1779033703,n=3144134277,i=1013904242,o=2773480762,a=1359893119,s=2600822924,u=528734635,c=1541459225,f=new Uint32Array(64);function d(e){for(var d=0,l=e.length;l>=64;){var h=r,p=n,b=i,y=o,m=a,v=s,g=u,w=c,A=void 0,k=void 0,_=void 0,S=void 0,E=void 0;for(k=0;k<16;k++)_=d+4*k,f[k]=(255&e[_])<<24|(255&e[_+1])<<16|(255&e[_+2])<<8|255&e[_+3];for(k=16;k<64;k++)S=((A=f[k-2])>>>17|A<<15)^(A>>>19|A<<13)^A>>>10,E=((A=f[k-15])>>>7|A<<25)^(A>>>18|A<<14)^A>>>3,f[k]=(S+f[k-7]|0)+(E+f[k-16]|0)|0;for(k=0;k<64;k++)S=(((m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&v^~m&g)|0)+(w+(t[k]+f[k]|0)|0)|0,E=((h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10))+(h&p^h&b^p&b)|0,w=g,g=v,v=m,m=y+S|0,y=b,b=p,p=h,h=S+E|0;r=r+h|0,n=n+p|0,i=i+b|0,o=o+y|0,a=a+m|0,s=s+v|0,u=u+g|0,c=c+w|0,d+=64,l-=64}}d(e);var l,h=e.length%64,p=e.length/536870912|0,b=e.length<<3,y=h<56?56:120,m=e.slice(e.length-h,e.length);for(m.push(128),l=h+1;l>>24&255),m.push(p>>>16&255),m.push(p>>>8&255),m.push(p>>>0&255),m.push(b>>>24&255),m.push(b>>>16&255),m.push(b>>>8&255),m.push(b>>>0&255),d(m),[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,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function i(e,t,r){e=e.length<=64?e:n(e);var i,o=64+t.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;e--){if(a[e]++,a[e]<=255)return;a[e]=0}}for(;r>=32;)c(),u=u.concat(n(s.concat(n(a)))),r-=32;return r>0&&(c(),u=u.concat(n(s.concat(n(a))).slice(0,r))),u}function o(e,t,r,n,i){var o;for(c(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)u(e,16*o,i,16),s(i,n),c(i,0,e,t+16*o,16);for(o=0;o>>32-t}function s(e,t){c(e,0,t,0,16);for(var r=8;r>0;r-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(var n=0;n<16;++n)e[n]+=t[n]}function u(e,t,r,n){for(var i=0;i=256)return!1}return!0}function d(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function l(e,t,n,a,s,l,h){if(n=d(n,"N"),a=d(a,"r"),s=d(s,"p"),l=d(l,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>r/128/a)throw new Error("N too large");if(a>r/128/s)throw new Error("r too large");if(!f(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!f(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);for(var p=i(e,t,128*s*a),b=new Uint32Array(32*s*a),y=0;yC&&(r=C);for(var f=0;fC&&(r=C);for(var y=0;y>0&255),p.push(b[U]>>8&255),p.push(b[U]>>16&255),p.push(b[U]>>24&255);var R=i(e,p,l);return h&&h(null,1,R),R}h&&I(t)};if(!h)for(;;){var U=M();if(null!=U)return U}M()}var h={scrypt:function(e,t,r,n,i,o,a){return new Promise((function(s,u){var c=0;a&&a(0),l(e,t,r,n,i,o,(function(e,t,r){if(e)u(e);else if(r)a&&1!==c&&a(1),s(new Uint8Array(r));else if(a&&t!==c)return c=t,a(t)}))}))},syncScrypt:function(e,t,r,n,i,o){return new Uint8Array(l(e,t,r,n,i,o))}};e.exports=h}()},7902:(e,t,r)=>{"use strict";e.exports=r(6922)(r(8123))},8123:(e,t,r)=>{"use strict";var n=new(0,r(6597).ec)("secp256k1"),i=n.curve,o=i.n.constructor;function a(e){var t=e[0];switch(t){case 2:case 3:return 33!==e.length?null:function(e,t){var r=new o(t);if(r.cmp(i.p)>=0)return null;var a=(r=r.toRed(i.red)).redSqr().redIMul(r).redIAdd(i.b).redSqrt();return 3===e!==a.isOdd()&&(a=a.redNeg()),n.keyPair({pub:{x:r,y:a}})}(t,e.subarray(1,33));case 4:case 6:case 7:return 65!==e.length?null:function(e,t,r){var a=new o(t),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===e||7===e)&&s.isOdd()!==(7===e))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}(t,e.subarray(1,33),e.subarray(33,65));default:return null}}function s(e,t){for(var r=t.encode(null,33===e.length),n=0;n=0)return 1;if(r.iadd(new o(e)),r.cmp(i.n)>=0&&r.isub(i.n),r.isZero())return 1;var n=r.toArrayLike(Uint8Array,"be",32);return e.set(n),0},privateKeyTweakMul:function(e,t){var r=new o(t);if(r.cmp(i.n)>=0||r.isZero())return 1;r.imul(new o(e)),r.cmp(i.n)>=0&&(r=r.umod(i.n));var n=r.toArrayLike(Uint8Array,"be",32);return e.set(n),0},publicKeyVerify:function(e){return null===a(e)?1:0},publicKeyCreate:function(e,t){var r=new o(t);return r.cmp(i.n)>=0||r.isZero()?1:(s(e,n.keyFromPrivate(t).getPublic()),0)},publicKeyConvert:function(e,t){var r=a(t);return null===r?1:(s(e,r.getPublic()),0)},publicKeyNegate:function(e,t){var r=a(t);if(null===r)return 1;var n=r.getPublic();return n.y=n.y.redNeg(),s(e,n),0},publicKeyCombine:function(e,t){for(var r=new Array(t.length),n=0;n=0)return 2;var u=n.getPublic().add(i.g.mul(r));return u.isInfinity()?2:(s(e,u),0)},publicKeyTweakMul:function(e,t,r){var n=a(t);return null===n?1:(r=new o(r)).cmp(i.n)>=0||r.isZero()?2:(s(e,n.getPublic().mul(r)),0)},signatureNormalize:function(e){var t=new o(e.subarray(0,32)),r=new o(e.subarray(32,64));return t.cmp(i.n)>=0||r.cmp(i.n)>=0?1:(1===r.cmp(n.nh)&&e.set(i.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport:function(e,t){var r=t.subarray(0,32),n=t.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=e.output,s=a.subarray(4,37);s[0]=0,s.set(r,1);for(var u=33,c=0;u>1&&0===s[c]&&!(128&s[c+1]);--u,++c);if(128&(s=s.subarray(c))[0])return 1;if(u>1&&0===s[0]&&!(128&s[1]))return 1;var f=a.subarray(39,72);f[0]=0,f.set(n,1);for(var d=33,l=0;d>1&&0===f[l]&&!(128&f[l+1]);--d,++l);return 128&(f=f.subarray(l))[0]||d>1&&0===f[0]&&!(128&f[1])?1:(e.outputlen=6+u+d,a[0]=48,a[1]=e.outputlen-2,a[2]=2,a[3]=s.length,a.set(s,4),a[4+u]=2,a[5+u]=f.length,a.set(f,6+u),0)},signatureImport:function(e,t){if(t.length<8)return 1;if(t.length>72)return 1;if(48!==t[0])return 1;if(t[1]!==t.length-2)return 1;if(2!==t[2])return 1;var r=t[3];if(0===r)return 1;if(5+r>=t.length)return 1;if(2!==t[4+r])return 1;var n=t[5+r];if(0===n)return 1;if(6+r+n!==t.length)return 1;if(128&t[4])return 1;if(r>1&&0===t[4]&&!(128&t[5]))return 1;if(128&t[r+6])return 1;if(n>1&&0===t[r+6]&&!(128&t[r+7]))return 1;var a=t.subarray(4,4+r);if(33===a.length&&0===a[0]&&(a=a.subarray(1)),a.length>32)return 1;var s=t.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 c=new o(t.subarray(6+r));return c.cmp(i.n)>=0&&(c=new o(0)),e.set(u.toArrayLike(Uint8Array,"be",32),0),e.set(c.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign:function(e,t,r,a,s){if(s){var u=s;s=function(e){var n=u(t,r,null,a,e);if(!(n instanceof Uint8Array&&32===n.length))throw new Error("This is the way");return new o(n)}}var c,f=new o(r);if(f.cmp(i.n)>=0||f.isZero())return 1;try{c=n.sign(t,r,{canonical:!0,k:s,pers:a})}catch(e){return 1}return e.signature.set(c.r.toArrayLike(Uint8Array,"be",32),0),e.signature.set(c.s.toArrayLike(Uint8Array,"be",32),32),e.recid=c.recoveryParam,0},ecdsaVerify:function(e,t,r){var s={r:e.subarray(0,32),s:e.subarray(32,64)},u=new o(s.r),c=new o(s.s);if(u.cmp(i.n)>=0||c.cmp(i.n)>=0)return 1;if(1===c.cmp(n.nh)||u.isZero()||c.isZero())return 3;var f=a(r);if(null===f)return 2;var d=f.getPublic();return n.verify(t,s,d)?0:3},ecdsaRecover:function(e,t,r,a){var u,c={r:t.slice(0,32),s:t.slice(32,64)},f=new o(c.r),d=new o(c.s);if(f.cmp(i.n)>=0||d.cmp(i.n)>=0)return 1;if(f.isZero()||d.isZero())return 2;try{u=n.recoverPubKey(a,c,r)}catch(e){return 2}return s(e,u),0},ecdh:function(e,t,r,s,u,c,f){var d=a(t);if(null===d)return 1;var l=new o(r);if(l.cmp(i.n)>=0||l.isZero())return 2;var h=d.getPublic().mul(l);if(void 0===u)for(var p=h.encode(null,!0),b=n.hash().update(p).digest(),y=0;y<32;++y)e[y]=b[y];else{c||(c=new Uint8Array(32));for(var m=h.getX().toArray("be",32),v=0;v<32;++v)c[v]=m[v];f||(f=new Uint8Array(32));for(var g=h.getY().toArray("be",32),w=0;w<32;++w)f[w]=g[w];var A=u(c,f,s);if(!(A instanceof Uint8Array&&A.length===e.length))return 2;e.set(A)}return 0}}},6922:e=>{"use strict";function t(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:function(e){return new Uint8Array(e)},t=arguments.length>1?arguments[1]:void 0;return"function"==typeof e&&(e=e(t)),b("output",e,t),e}function v(e){return Object.prototype.toString.call(e).slice(8,-1)}e.exports=function(e){return{contextRandomize:function(t){if(p(null===t||t instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==t&&b("seed",t,32),1===e.contextRandomize(t))throw new Error("Unknow error on context randomization")},privateKeyVerify:function(t){return b("private key",t,32),0===e.privateKeyVerify(t)},privateKeyNegate:function(t){switch(b("private key",t,32),e.privateKeyNegate(t)){case 0:return t;case 1:throw new Error(n)}},privateKeyTweakAdd:function(t,r){switch(b("private key",t,32),b("tweak",r,32),e.privateKeyTweakAdd(t,r)){case 0:return t;case 1:throw new Error(i)}},privateKeyTweakMul:function(t,r){switch(b("private key",t,32),b("tweak",r,32),e.privateKeyTweakMul(t,r)){case 0:return t;case 1:throw new Error(o)}},publicKeyVerify:function(t){return b("public key",t,[33,65]),0===e.publicKeyVerify(t)},publicKeyCreate:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(b("private key",t,32),y(r),n=m(n,r?33:65),e.publicKeyCreate(n,t)){case 0:return n;case 1:throw new Error(a);case 2:throw new Error(u)}},publicKeyConvert:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(b("public key",t,[33,65]),y(r),n=m(n,r?33:65),e.publicKeyConvert(n,t)){case 0:return n;case 1:throw new Error(s);case 2:throw new Error(u)}},publicKeyNegate:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;switch(b("public key",t,[33,65]),y(r),i=m(i,r?33:65),e.publicKeyNegate(i,t)){case 0:return i;case 1:throw new Error(s);case 2:throw new Error(n);case 3:throw new Error(u)}},publicKeyCombine:function(r){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;p(Array.isArray(r),"Expected public keys to be an Array"),p(r.length>0,"Expected public keys array will have more than zero items");var o,a=t(r);try{for(a.s();!(o=a.n()).done;){var f=o.value;b("public key",f,[33,65])}}catch(e){a.e(e)}finally{a.f()}switch(y(n),i=m(i,n?33:65),e.publicKeyCombine(i,r)){case 0:return i;case 1:throw new Error(s);case 2:throw new Error(c);case 3:throw new Error(u)}},publicKeyTweakAdd:function(t,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0;switch(b("public key",t,[33,65]),b("tweak",r,32),y(n),o=m(o,n?33:65),e.publicKeyTweakAdd(o,t,r)){case 0:return o;case 1:throw new Error(s);case 2:throw new Error(i)}},publicKeyTweakMul:function(t,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(b("public key",t,[33,65]),b("tweak",r,32),y(n),i=m(i,n?33:65),e.publicKeyTweakMul(i,t,r)){case 0:return i;case 1:throw new Error(s);case 2:throw new Error(o)}},signatureNormalize:function(t){switch(b("signature",t,64),e.signatureNormalize(t)){case 0:return t;case 1:throw new Error(f)}},signatureExport:function(t,r){b("signature",t,64);var i={output:r=m(r,72),outputlen:72};switch(e.signatureExport(i,t)){case 0:return r.slice(0,i.outputlen);case 1:throw new Error(f);case 2:throw new Error(n)}},signatureImport:function(t,r){switch(b("signature",t),r=m(r,64),e.signatureImport(r,t)){case 0:return r;case 1:throw new Error(f);case 2:throw new Error(n)}},ecdsaSign:function(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;b("message",t,32),b("private key",r,32),p("Object"===v(i),"Expected options to be an Object"),void 0!==i.data&&b("options.data",i.data),void 0!==i.noncefn&&p("Function"===v(i.noncefn),"Expected options.noncefn to be a Function");var a={signature:o=m(o,64),recid:null};switch(e.ecdsaSign(a,t,r,i.data,i.noncefn)){case 0:return a;case 1:throw new Error(d);case 2:throw new Error(n)}},ecdsaVerify:function(t,r,n){switch(b("signature",t,64),b("message",r,32),b("public key",n,[33,65]),e.ecdsaVerify(t,r,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(f);case 2:throw new Error(s)}},ecdsaRecover:function(t,r,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4?arguments[4]:void 0;switch(b("signature",t,64),p("Number"===v(r)&&r>=0&&r<=3,"Expected recovery id to be a Number within interval [0, 3]"),b("message",i,32),y(o),a=m(a,o?33:65),e.ecdsaRecover(a,t,r,i)){case 0:return a;case 1:throw new Error(f);case 2:throw new Error(l);case 3:throw new Error(n)}},ecdh:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;switch(b("public key",t,[33,65]),b("private key",r,32),p("Object"===v(n),"Expected options to be an Object"),void 0!==n.data&&b("options.data",n.data),void 0!==n.hashfn?(p("Function"===v(n.hashfn),"Expected options.hashfn to be a Function"),void 0!==n.xbuf&&b("options.xbuf",n.xbuf,32),void 0!==n.ybuf&&b("options.ybuf",n.ybuf,32),b("output",i)):i=m(i,32),e.ecdh(i,t,r,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return i;case 1:throw new Error(s);case 2:throw new Error(h)}}}}},6003:(e,t,r)=>{"use strict";var n=r(8850).Buffer;function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=n.from(e,t));for(var r=this._block,i=this._blockSize,o=e.length,a=this._len,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 e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},1708:(e,t,r)=>{"use strict";var n=e.exports=function(e){e=e.toLowerCase();var t=n[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t};n.sha=r(8210),n.sha1=r(544),n.sha224=r(6288),n.sha256=r(4571),n.sha384=r(6959),n.sha512=r(4515)},8210:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function c(e){return e<<30|e>>>2}function f(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^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(e){for(var t,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]=e.readInt32BE(4*d);for(;d<80;++d)r[d]=r[d-3]^r[d-8]^r[d-14]^r[d-16];for(var l=0;l<80;++l){var h=~~(l/20),p=0|((t=n)<<5|t>>>27)+f(h,i,o,s)+u+r[l]+a[h];u=s,s=o,o=c(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 e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},544:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function f(e){return e<<30|e>>>2}function d(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^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(e){for(var t,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]=e.readInt32BE(4*l);for(;l<80;++l)r[l]=(t=r[l-3]^r[l-8]^r[l-14]^r[l-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),b=c(n)+d(p,i,o,s)+u+r[h]+a[p]|0;u=s,s=o,o=f(i),i=n,n=b}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 e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},6288:(e,t,r)=>{"use strict";var n=r(1736),i=r(4571),o=r(6003),a=r(8850).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 e=a.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u},4571:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).Buffer,a=[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],s=new Array(64);function u(){this.init(),this._w=s,i.call(this,64,56)}function c(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function d(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function l(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>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(e){for(var t,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,b=0|this._g,y=0|this._h,m=0;m<16;++m)r[m]=e.readInt32BE(4*m);for(;m<64;++m)r[m]=0|(((t=r[m-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[m-7]+h(r[m-15])+r[m-16];for(var v=0;v<64;++v){var g=y+l(u)+c(u,p,b)+a[v]+r[v]|0,w=d(n)+f(n,i,o)|0;y=b,b=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=b+this._g|0,this._h=y+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},6959:(e,t,r)=>{"use strict";var n=r(1736),i=r(4515),o=r(6003),a=r(8850).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 e=a.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},4515:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).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 c(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function d(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function l(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function b(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function y(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function m(e,t){return e>>>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(e){for(var t=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,v=0|this._gh,g=0|this._hh,w=0|this._al,A=0|this._bl,k=0|this._cl,_=0|this._dl,S=0|this._el,E=0|this._fl,x=0|this._gl,P=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var B=t[O-30],T=t[O-30+1],C=h(B,T),I=p(T,B),M=b(B=t[O-4],T=t[O-4+1]),U=y(T,B),R=t[O-14],j=t[O-14+1],N=t[O-32],F=t[O-32+1],L=I+j|0,D=C+R+m(L,I)|0;D=(D=D+M+m(L=L+U|0,U)|0)+N+m(L=L+F|0,F)|0,t[O]=D,t[O+1]=L}for(var H=0;H<160;H+=2){D=t[H],L=t[H+1];var q=f(r,n,i),z=f(w,A,k),G=d(r,w),K=d(w,r),V=l(s,S),J=l(S,s),W=a[H],Y=a[H+1],X=c(s,u,v),Q=c(S,E,x),Z=P+J|0,$=g+V+m(Z,P)|0;$=($=($=$+X+m(Z=Z+Q|0,Q)|0)+W+m(Z=Z+Y|0,Y)|0)+D+m(Z=Z+L|0,L)|0;var ee=K+z|0,te=G+q+m(ee,K)|0;g=v,P=x,v=u,x=E,u=s,E=S,s=o+$+m(S=_+Z|0,_)|0,o=i,_=k,i=n,k=A,n=r,A=w,r=$+te+m(w=Z+ee|0,Z)|0}this._al=this._al+w|0,this._bl=this._bl+A|0,this._cl=this._cl+k|0,this._dl=this._dl+_|0,this._el=this._el+S|0,this._fl=this._fl+E|0,this._gl=this._gl+x|0,this._hl=this._hl+P|0,this._ah=this._ah+r+m(this._al,w)|0,this._bh=this._bh+n+m(this._bl,A)|0,this._ch=this._ch+i+m(this._cl,k)|0,this._dh=this._dh+o+m(this._dl,_)|0,this._eh=this._eh+s+m(this._el,S)|0,this._fh=this._fh+u+m(this._fl,E)|0,this._gh=this._gh+v+m(this._gl,x)|0,this._hh=this._hh+g+m(this._hl,P)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},7245:(e,t,r)=>{"use strict";e.exports=i;var n=r(8291).EventEmitter;function i(){n.call(this)}r(1736)(i,n),i.Readable=r(6297),i.Writable=r(1471),i.Duplex=r(6884),i.Transform=r(9154),i.PassThrough=r(3582),i.finished=r(5831),i.pipeline=r(384),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",u));var a=!1;function s(){a||(a=!0,e.end())}function u(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(f(),0===n.listenerCount(this,"error"))throw e}function f(){r.removeListener("data",i),e.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",u),r.removeListener("error",c),e.removeListener("error",c),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("error",c),e.on("error",c),r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e}},9519:(e,t,r)=>{"use strict";var n=r(8844),i=r(3319),o=r(7705),a=r(3675),s=r(1143),u=t;u.request=function(e,t){e="string"==typeof e?s.parse(e):o(e);var i=-1===r.g.location.protocol.search(/^https?:$/)?"http:":"",a=e.protocol||i,u=e.hostname||e.host,c=e.port,f=e.path||"/";u&&-1!==u.indexOf(":")&&(u="["+u+"]"),e.url=(u?a+"//"+u:"")+(c?":"+c:"")+f,e.method=(e.method||"GET").toUpperCase(),e.headers=e.headers||{};var d=new n(e);return t&&d.on("response",t),d},u.get=function(e,t){var r=u.request(e,t);return r.end(),r},u.ClientRequest=n,u.IncomingMessage=i.IncomingMessage,u.Agent=function(){},u.Agent.defaultMaxSockets=4,u.globalAgent=new u.Agent,u.STATUS_CODES=a,u.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]},3928:(e,t,r)=>{"use strict";var n;function i(){if(void 0!==n)return n;if(r.g.XMLHttpRequest){n=new r.g.XMLHttpRequest;try{n.open("GET",r.g.XDomainRequest?"/":"https://example.com")}catch(e){n=null}}else n=null;return n}function o(e){var t=i();if(!t)return!1;try{return t.responseType=e,t.responseType===e}catch(e){}return!1}function a(e){return"function"==typeof e}t.fetch=a(r.g.fetch)&&a(r.g.ReadableStream),t.writableStream=a(r.g.WritableStream),t.abortController=a(r.g.AbortController),t.arraybuffer=t.fetch||o("arraybuffer"),t.msstream=!t.fetch&&o("ms-stream"),t.mozchunkedarraybuffer=!t.fetch&&o("moz-chunked-arraybuffer"),t.overrideMimeType=t.fetch||!!i()&&a(i().overrideMimeType),n=null},8844:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(9142),o=r(3928),a=r(1736),s=r(3319),u=r(6505),c=s.IncomingMessage,f=s.readyStates,d=e.exports=function(e){var t,r=this;u.Writable.call(r),r._opts=e,r._body=[],r._headers={},e.auth&&r.setHeader("Authorization","Basic "+n.from(e.auth).toString("base64")),Object.keys(e.headers).forEach((function(t){r.setHeader(t,e.headers[t])}));var i=!0;if("disable-fetch"===e.mode||"requestTimeout"in e&&!o.abortController)i=!1,t=!0;else if("prefer-streaming"===e.mode)t=!1;else if("allow-wrong-content-type"===e.mode)t=!o.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");t=!0}r._mode=function(e,t){return o.fetch&&t?"fetch":o.mozchunkedarraybuffer?"moz-chunked-arraybuffer":o.msstream?"ms-stream":o.arraybuffer&&e?"arraybuffer":"text"}(t,i),r._fetchTimer=null,r._socketTimeout=null,r._socketTimer=null,r.on("finish",(function(){r._onFinish()}))};a(d,u.Writable),d.prototype.setHeader=function(e,t){var r=e.toLowerCase();-1===l.indexOf(r)&&(this._headers[r]={name:e,value:t})},d.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];return t?t.value:null},d.prototype.removeHeader=function(e){delete this._headers[e.toLowerCase()]},d.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t=e._opts;"timeout"in t&&0!==t.timeout&&e.setTimeout(t.timeout);var n=e._headers,a=null;"GET"!==t.method&&"HEAD"!==t.method&&(a=new Blob(e._body,{type:(n["content-type"]||{}).value||""}));var s=[];if(Object.keys(n).forEach((function(e){var t=n[e].name,r=n[e].value;Array.isArray(r)?r.forEach((function(e){s.push([t,e])})):s.push([t,r])})),"fetch"===e._mode){var u=null;if(o.abortController){var c=new AbortController;u=c.signal,e._fetchAbortController=c,"requestTimeout"in t&&0!==t.requestTimeout&&(e._fetchTimer=r.g.setTimeout((function(){e.emit("requestTimeout"),e._fetchAbortController&&e._fetchAbortController.abort()}),t.requestTimeout))}r.g.fetch(e._opts.url,{method:e._opts.method,headers:s,body:a||void 0,mode:"cors",credentials:t.withCredentials?"include":"same-origin",signal:u}).then((function(t){e._fetchResponse=t,e._resetTimers(!1),e._connect()}),(function(t){e._resetTimers(!0),e._destroyed||e.emit("error",t)}))}else{var d=e._xhr=new r.g.XMLHttpRequest;try{d.open(e._opts.method,e._opts.url,!0)}catch(t){return void i.nextTick((function(){e.emit("error",t)}))}"responseType"in d&&(d.responseType=e._mode),"withCredentials"in d&&(d.withCredentials=!!t.withCredentials),"text"===e._mode&&"overrideMimeType"in d&&d.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in t&&(d.timeout=t.requestTimeout,d.ontimeout=function(){e.emit("requestTimeout")}),s.forEach((function(e){d.setRequestHeader(e[0],e[1])})),e._response=null,d.onreadystatechange=function(){switch(d.readyState){case f.LOADING:case f.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(d.onprogress=function(){e._onXHRProgress()}),d.onerror=function(){e._destroyed||(e._resetTimers(!0),e.emit("error",new Error("XHR error")))};try{d.send(a)}catch(t){return void i.nextTick((function(){e.emit("error",t)}))}}}},d.prototype._onXHRProgress=function(){var e=this;e._resetTimers(!1),function(e){try{var t=e.status;return null!==t&&0!==t}catch(e){return!1}}(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress(e._resetTimers.bind(e)))},d.prototype._connect=function(){var e=this;e._destroyed||(e._response=new c(e._xhr,e._fetchResponse,e._mode,e._resetTimers.bind(e)),e._response.on("error",(function(t){e.emit("error",t)})),e.emit("response",e._response))},d.prototype._write=function(e,t,r){this._body.push(e),r()},d.prototype._resetTimers=function(e){var t=this;r.g.clearTimeout(t._socketTimer),t._socketTimer=null,e?(r.g.clearTimeout(t._fetchTimer),t._fetchTimer=null):t._socketTimeout&&(t._socketTimer=r.g.setTimeout((function(){t.emit("timeout")}),t._socketTimeout))},d.prototype.abort=d.prototype.destroy=function(e){var t=this;t._destroyed=!0,t._resetTimers(!0),t._response&&(t._response._destroyed=!0),t._xhr?t._xhr.abort():t._fetchAbortController&&t._fetchAbortController.abort(),e&&t.emit("error",e)},d.prototype.end=function(e,t,r){"function"==typeof e&&(r=e,e=void 0),u.Writable.prototype.end.call(this,e,t,r)},d.prototype.setTimeout=function(e,t){var r=this;t&&r.once("timeout",t),r._socketTimeout=e,r._resetTimers(!1)},d.prototype.flushHeaders=function(){},d.prototype.setNoDelay=function(){},d.prototype.setSocketKeepAlive=function(){};var l=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]},3319:(e,t,r)=>{"use strict";var n=r(9142),i=r(9033).Buffer,o=r(3928),a=r(1736),s=r(6505),u=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},c=t.IncomingMessage=function(e,t,r,a){var u=this;if(s.Readable.call(u),u._mode=r,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",(function(){n.nextTick((function(){u.emit("close")}))})),"fetch"===r){if(u._fetchResponse=t,u.url=t.url,u.statusCode=t.status,u.statusMessage=t.statusText,t.headers.forEach((function(e,t){u.headers[t.toLowerCase()]=e,u.rawHeaders.push(t,e)})),o.writableStream){var c=new WritableStream({write:function(e){return a(!1),new Promise((function(t,r){u._destroyed?r():u.push(i.from(e))?t():u._resumeFetch=t}))},close:function(){a(!0),u._destroyed||u.push(null)},abort:function(e){a(!0),u._destroyed||u.emit("error",e)}});try{return void t.body.pipeTo(c).catch((function(e){a(!0),u._destroyed||u.emit("error",e)}))}catch(e){}}var f=t.body.getReader();!function e(){f.read().then((function(t){u._destroyed||(a(t.done),t.done?u.push(null):(u.push(i.from(t.value)),e()))})).catch((function(e){a(!0),u._destroyed||u.emit("error",e)}))}()}else if(u._xhr=e,u._pos=0,u.url=e.responseURL,u.statusCode=e.status,u.statusMessage=e.statusText,e.getAllResponseHeaders().split(/\r?\n/).forEach((function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var r=t[1].toLowerCase();"set-cookie"===r?(void 0===u.headers[r]&&(u.headers[r]=[]),u.headers[r].push(t[2])):void 0!==u.headers[r]?u.headers[r]+=", "+t[2]:u.headers[r]=t[2],u.rawHeaders.push(t[1],t[2])}})),u._charset="x-user-defined",!o.overrideMimeType){var d=u.rawHeaders["mime-type"];if(d){var l=d.match(/;\s*charset=([^;])(;|$)/);l&&(u._charset=l[1].toLowerCase())}u._charset||(u._charset="utf-8")}};a(c,s.Readable),c.prototype._read=function(){var e=this._resumeFetch;e&&(this._resumeFetch=null,e())},c.prototype._onXHRProgress=function(e){var t=this,n=t._xhr,o=null;switch(t._mode){case"text":if((o=n.responseText).length>t._pos){var a=o.substr(t._pos);if("x-user-defined"===t._charset){for(var s=i.alloc(a.length),c=0;ct._pos&&(t.push(i.from(new Uint8Array(f.result.slice(t._pos)))),t._pos=f.result.byteLength)},f.onload=function(){e(!0),t.push(null)},f.readAsArrayBuffer(o)}t._xhr.readyState===u.DONE&&"ms-stream"!==t._mode&&(e(!0),t.push(null))}},3462:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.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(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){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 e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=f,this.end=d,t=3;break;default:return this.write=l,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function f(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function l(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.s=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},6931:(e,t,r)=>{"use strict";var n=r(8619);e.exports=function(e){return"string"!=typeof e?e:n(e)?e.slice(2):e}},6427:(e,t,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},c={lookup:n},f=r(1357),d=r(631),l=r(2733),h=r(2510),p=r(3094);e.exports=p({fs:i,files:o,os:a,path:s,child_process:u,defaultArchives:{},mimetype:c,request:f,downloadUrl:null,bytes:d,hash:l,pick:h})},2510:e=>{"use strict";var t=function(e){return function(){return new Promise((function(t,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"===e){var u=r.webkitRelativePath;n[u.slice(u.indexOf("/")+1)]={type:"text/plain",data:s},++o===i&&t(n)}else if("file"===e){var c=r.webkitRelativePath;t({type:mimetype.lookup(c),data:s})}else t(s)},a.readAsArrayBuffer(r)}))};"directory"===e?((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)}))}};e.exports={data:t("data"),file:t("file"),directory:t("directory")}},2733:(e,t,r)=>{"use strict";var n=r(9574).keccak256,i=r(631),o=function(e,t){var r=i.reverse(i.pad(6,i.fromNumber(e))),o=i.flatten([r,"0x0000",t]);return n(o).slice(2)};e.exports=function e(t){"string"==typeof t&&"0x"!==t.slice(0,2)?t=i.fromString(t):"string"!=typeof t&&void 0!==t.length&&(t=i.fromUint8Array(t));var r=i.length(t);if(r<=4096)return o(r,t);for(var n=4096;128*n{"use strict";e.exports=function(e){var t=e.fs,r=e.files,n=e.os,i=e.path,o=e.child_process,a=e.mimetype,s=e.defaultArchives,u=e.request,c=e.downloadUrl,f=e.bytes,d=e.hash,l=e.pick,h=function(e){return function(t){for(var r={},n=0,i=e.length;n=400?n(new Error("Error ".concat(i.statusCode,"."))):r(new Uint8Array(t))}))}))}},y=function(e){return function(t){return function t(r){return function(n){return function(i){var o=function(e){return void 0===e.path?Promise.resolve():"application/bzz-manifest+json"===e.contentType?t(e.hash)(n+e.path)(i):Promise.resolve((r=n+e.path,function(e){return function(t){return t[r]=e,t}})(function(e){return{type:e.contentType,hash:e.hash}}(e))(i));var r};return b(e)(r).then((function(e){return JSON.parse(j(e)).entries})).then((function(e){return Promise.all(e.map(o))})).then((function(){return i}))}}}(t)("")({})}},m=function(e){return function(t){return y(e)(t).then((function(e){return h(Object.keys(e))(Object.keys(e).map((function(t){return e[t].hash})))}))}},v=function(e){return function(t){return y(e)(t).then((function(t){var r=Object.keys(t),n=r.map((function(e){return t[e].hash})),i=r.map((function(e){return t[e].type})),o=n.map(b(e));return Promise.all(o).then((function(e){return h(r)(function(e){return e.map((function(e,t){return{type:i[t],data:e}}))}(e))}))}))}},g=function(e){return function(t){return function(n){return r.download(p(e)(t))(n)}}},w=function(e){return function(t){return function(r){return m(e)(t).then((function(t){var n=[];for(var o in t)if(o.length>0){var a=i.join(r,o);n.push(g(e)(t[o])(a))}return Promise.all(n).then((function(){return r}))}))}}},A=function(e){return function(t){return new Promise((function(r,n){var i={body:"string"==typeof t?N(t):t,method:"POST"};u("".concat(e,"/bzz-raw:/"),i,(function(e,t){return e?n(e):r(t)}))}))}},k=function(e){return function(t){return function(r){return function(n){return function i(o){var a="/"===r[0]?r:"/"+r,s="".concat(e,"/bzz:/").concat(t).concat(a),c={method:"PUT",headers:{"Content-Type":n.type},body:n.data};return new Promise((function(e,t){u(s,c,(function(r,n){return r?t(r):-1!==n.indexOf("error")?t(n):e(n)}))})).catch((function(e){return o>0&&i(o-1)}))}(3)}}}},_=function(e){return function(t){return E(e)({"":t})}},S=function(e){return function(r){return t.readFile(r).then((function(t){return _(e)({type:a.lookup(r),data:t})}))}},E=function(e){return function(t){return A(e)("{}").then((function(r){return Object.keys(t).reduce((function(r,n){return r.then(function(r){return function(n){return k(e)(n)(r)(t[r])}}(n))}),Promise.resolve(r))}))}},x=function(e){return function(r){return t.readFile(r).then(A(e))}},P=function(e){return function(n){return function(i){return r.directoryTree(i).then((function(e){return Promise.all(e.map((function(e){return t.readFile(e)}))).then((function(t){var r=e.map((function(e){return e.slice(i.length)})),n=e.map((function(e){return a.lookup(e)||"text/plain"}));return h(r)(t.map((function(e,t){return{type:n[t],data:e}})))}))})).then((function(e){return(t=n?{"":e[n]}:{},function(e){var r={};for(var n in t)r[n]=t[n];for(var i in e)r[i]=e[i];return r})(e);var t})).then(E(e))}}},O=function(e){return function(t){if("data"===t.pick)return l.data().then(A(e));if("file"===t.pick)return l.file().then(_(e));if("directory"===t.pick)return l.directory().then(E(e));if(t.path)switch(t.kind){case"data":return x(e)(t.path);case"file":return S(e)(t.path);case"directory":return P(e)(t.defaultFile)(t.path)}else{if(t.length||"string"==typeof t)return A(e)(t);if(t instanceof Object)return E(e)(t)}return Promise.reject(new Error("Bad arguments"))}},B=function(e){return function(t){return function(r){return U(e)(t).then((function(n){return n?r?w(e)(t)(r):v(e)(t):r?g(e)(t)(r):b(e)(t)}))}}},T=function(e,t){var i=n.platform().replace("win32","windows")+"-"+("x64"===n.arch()?"amd64":"386"),o=(t||s)[i],a=c+o.archive+".tar.gz",u=o.archiveMD5,f=o.binaryMD5;return r.safeDownloadArchived(a)(u)(f)(e)},C=function(e){return new Promise((function(t,r){var n=o.spawn,i=function(e){return function(t){return-1!==(""+t).indexOf(e)}},a=e.account,s=e.password,u=e.dataDir,c=e.ensApi,f=e.privateKey,d=0,l=n(e.binPath,["--bzzaccount",a||f,"--datadir",u,"--ens-api",c]),h=function(e){0===d&&i("Passphrase")(e)?setTimeout((function(){d=1,l.stdin.write(s+"\n")}),500):i("Swarm http proxy started")(e)&&(d=2,clearTimeout(p),t(l))};l.stdout.on("data",h),l.stderr.on("data",h);var p=setTimeout((function(){return r(new Error("Couldn't start swarm process."))}),2e4)}))},I=function(e){return new Promise((function(t,r){e.stderr.removeAllListeners("data"),e.stdout.removeAllListeners("data"),e.stdin.removeAllListeners("error"),e.removeAllListeners("error"),e.removeAllListeners("exit"),e.kill("SIGINT");var n=setTimeout((function(){return e.kill("SIGKILL")}),8e3);e.once("close",(function(){clearTimeout(n),t()}))}))},M=function(e){return A(e)("test").then((function(e){return"c9a99c7d326dcc6316f32fe2625b311f6dc49a175e6877681ded93137d3569e7"===e})).catch((function(){return!1}))},U=function(e){return function(t){return b(e)(t).then((function(e){try{return!!JSON.parse(j(e)).entries}catch(e){return!1}}))}},R=function(e){return function(t,r,n,i,o){var a;return void 0!==t&&(a=e(t)),void 0!==r&&(a=e(r)),void 0!==n&&(a=e(n)),void 0!==i&&(a=e(i)),void 0!==o&&(a=e(o)),a}},j=function(e){return f.toString(f.fromUint8Array(e))},N=function(e){return f.toUint8Array(f.fromString(e))},F=function(e){return{download:function(t,r){return B(e)(t)(r)},downloadData:R(b(e)),downloadDataToDisk:R(g(e)),downloadDirectory:R(v(e)),downloadDirectoryToDisk:R(w(e)),downloadEntries:R(y(e)),downloadRoutes:R(m(e)),isAvailable:function(){return M(e)},upload:function(t){return O(e)(t)},uploadData:R(A(e)),uploadFile:R(_(e)),uploadFileFromDisk:R(_(e)),uploadDataFromDisk:R(x(e)),uploadDirectory:R(E(e)),uploadDirectoryFromDisk:R(P(e)),uploadToManifest:R(k(e)),pick:l,hash:d,fromString:N,toString:j}};return{at:F,local:function(e){return function(t){return M("http://localhost:8500").then((function(r){return r?t(F("http://localhost:8500")).then((function(){})):T(e.binPath,e.archives).onData((function(t){return(e.onProgress||function(){})(t.length)})).then((function(){return C(e)})).then((function(e){return t(F("http://localhost:8500")).then((function(){return e}))})).then(I)}))}},download:B,downloadBinary:T,downloadData:b,downloadDataToDisk:g,downloadDirectory:v,downloadDirectoryToDisk:w,downloadEntries:y,downloadRoutes:m,isAvailable:M,startProcess:C,stopProcess:I,upload:O,uploadData:A,uploadDataFromDisk:x,uploadFile:_,uploadFileFromDisk:S,uploadDirectory:E,uploadDirectoryFromDisk:P,uploadToManifest:k,pick:l,hash:d,fromString:N,toString:j}}},7380:e=>{"use strict";var t=function(e,t){for(var r=[],n=0;n{"use strict";r(7380);var n=function(e,t){return parseInt(e.slice(2*t+2,2*t+4),16)},i=function(e){return(e.length-2)/2},o=function(e){for(var t=[],r=2,n=e.length;r>6|192);else{if(i>55295&&i<56320){if(++n==e.length)return null;var o=e.charCodeAt(n);if(o<56320||o>57343)return null;r+=t((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=t(i>>12&63|128)}else r+=t(i>>12|224);r+=t(i>>6&63|128)}r+=t(63&i|128)}}return r},toString:function(e){for(var t="",r=0,o=i(e);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(e,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(e,r))<<6|63&n(e,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(e,r))<<12|(63&n(e,++r))<<6|63&n(e,++r)}++r}if(a<=65535)t+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,t+=String.fromCharCode(a>>10|55296),t+=String.fromCharCode(1023&a|56320)}}return t},fromNumber:function(e){var t=e.toString(16);return t.length%2==0?"0x"+t:"0x0"+t},toNumber:function(e){return parseInt(e.slice(2),16)},fromNat:function(e){return"0x0"===e?"0x":e.length%2==0?e:"0x0"+e.slice(2)},toNat:function(e){return"0"===e[2]?"0x"+e.slice(3):e},fromArray:a,toArray:o,fromUint8Array:function(e){return a([].slice.call(e,0))},toUint8Array:function(e){return new Uint8Array(o(e))}}},9574:e=>{"use strict";var t="0123456789abcdef".split(""),r=[1,256,65536,16777216],n=[0,8,16,24],i=[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],o=function(e){var t,r,n,o,a,s,u,c,f,d,l,h,p,b,y,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)o=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],f=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=o^(c<<1|f>>>31),r=a^(f<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(d<<1|l>>>31),r=u^(l<<1|d>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|p>>>31),r=f^(p<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=d^(o<<1|a>>>31),r=l^(a<<1|o>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,b=e[0],y=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=b^~m&g,e[1]=y^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&b,e[7]=k^~S&y,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~b&m,e[9]=S^~y&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=i[n],e[1]^=i[n+1]},a=function(e){return function(i){var a;if("0x"===i.slice(0,2)){a=[];for(var s=2,u=i.length;s>2]|=i[h]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|63&a)<=57344?(u[y>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<=c){for(e.start=y-c,e.block=u[f],y=0;y>2]|=r[3&y],e.lastByteIndex===c)for(u[0]=u[f],y=1;y>4&15]+t[15&p]+t[p>>12&15]+t[p>>8&15]+t[p>>20&15]+t[p>>16&15]+t[p>>28&15]+t[p>>24&15];m%f==0&&(o(l),y=0)}return"0x"+b}(function(e){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(e<<1)>>5,outputBlocks:e>>5,s:(t=[0,0,0,0,0,0,0,0,0,0],[].concat(t,t,t,t,t))};var t}(e),a)}};e.exports={keccak256:a(256),keccak512:a(512),keccak256s:a(256),keccak512s:a(512)}},8419:e=>{"use strict";e.exports=function(e,t){if(t){t=(t=t.trim().replace(/^(\?|#|&)/,""))?"?"+t:t;var r=e.split(/[\?\#]/)[0];t&&/\:\/\/[^\/]*$/.test(r)&&(r+="/");var n=e.match(/(\#.*)$/);e=r+t,n&&(e+=n[0])}return e}},8677:(e,t,r)=>{"use strict";var n;e=r.nmd(e);var i=r(8847)(r(3355));!function(o){var a="object"==(0,i.default)(t)&&t&&!t.nodeType&&t,s="object"==(0,i.default)(e)&&e&&!e.nodeType&&e,u="object"==(void 0===r.g?"undefined":(0,i.default)(r.g))&&r.g;u.global!==u&&u.window!==u&&u.self!==u||(o=u);var c,f,d=2147483647,l=36,h=/^xn--/,p=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,y={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,v=String.fromCharCode;function g(e){throw RangeError(y[e])}function w(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function A(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+w((e=e.replace(b,".")).split("."),t).join(".")}function k(e){for(var t,r,n=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(t+=v((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+v(e)})).join("")}function S(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function E(e,t,r){var n=0;for(e=r?m(e/700):e>>1,e+=m(e/t);e>455;n+=l)e=m(e/35);return m(n+36*e/(e+38))}function x(e){var t,r,n,i,o,a,s,u,c,f,h,p=[],b=e.length,y=0,v=128,w=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&g("not-basic"),p.push(e.charCodeAt(n));for(i=r>0?r+1:0;i=b&&g("invalid-input"),((u=(h=e.charCodeAt(i++))-48<10?h-22:h-65<26?h-65:h-97<26?h-97:l)>=l||u>m((d-y)/a))&&g("overflow"),y+=u*a,!(u<(c=s<=w?1:s>=w+26?26:s-w));s+=l)a>m(d/(f=l-c))&&g("overflow"),a*=f;w=E(y-o,t=p.length+1,0==o),m(y/t)>d-v&&g("overflow"),v+=m(y/t),y%=t,p.splice(y++,0,v)}return _(p)}function P(e){var t,r,n,i,o,a,s,u,c,f,h,p,b,y,w,A=[];for(p=(e=k(e)).length,t=128,r=0,o=72,a=0;a=t&&hm((d-r)/(b=n+1))&&g("overflow"),r+=(s-t)*b,t=s,a=0;ad&&g("overflow"),h==t){for(u=r,c=l;!(u<(f=c<=o?1:c>=o+26?26:c-o));c+=l)w=u-f,y=l-f,A.push(v(S(f+w%y,0))),u=m(w/y);A.push(v(S(u,0))),o=E(r,b,n==i),r=0,++n}++r,++t}return A.join("")}if(c={version:"1.3.2",ucs2:{decode:k,encode:_},decode:x,encode:P,toASCII:function(e){return A(e,(function(e){return p.test(e)?"xn--"+P(e):e}))},toUnicode:function(e){return A(e,(function(e){return h.test(e)?x(e.slice(4).toLowerCase()):e}))}},"object"==(0,i.default)(r.amdO)&&r.amdO)void 0===(n=function(){return c}.call(t,r,t,e))||(e.exports=n);else if(a&&s)if(e.exports==a)s.exports=c;else for(f in c)c.hasOwnProperty(f)&&(a[f]=c[f]);else o.punycode=c}(void 0)},8983:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,r,n,i){r=r||"&",n=n||"=";var o={};if("string"!=typeof e||0===e.length)return o;var a=/\+/g;e=e.split(r);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var u=e.length;s>0&&u>s&&(u=s);for(var c=0;c=0?(f=p.substr(0,b),d=p.substr(b+1)):(f=p,d=""),l=decodeURIComponent(f),h=decodeURIComponent(d),t(o,l)?Array.isArray(o[l])?o[l].push(h):o[l]=[o[l],h]:o[l]=h}return o}},4031:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=function(e){switch((0,n.default)(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,o){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"===(0,n.default)(e)?Object.keys(e).map((function(n){var o=encodeURIComponent(i(n))+r;return Array.isArray(e[n])?e[n].map((function(e){return o+encodeURIComponent(i(e))})).join(t):o+encodeURIComponent(i(e[n]))})).join(t):o?encodeURIComponent(i(o))+r+encodeURIComponent(i(e)):""}},845:(e,t,r)=>{"use strict";t.decode=t.parse=r(8983),t.encode=t.stringify=r(4031)},1143:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(8677),o=r(5751);function a(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=w,t.resolve=function(e,t){return w(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?w(e,!1,!0).resolveObject(t):t},t.format=function(e){return o.isString(e)&&(e=w(e)),e instanceof a?e.format():a.prototype.format.call(e)},t.Url=a;var s=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,f=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),d=["'"].concat(f),l=["%","/","?",";","#"].concat(d),h=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},g=r(845);function w(e,t,r){if(e&&o.isObject(e)&&e instanceof a)return e;var n=new a;return n.parse(e,t,r),n}a.prototype.parse=function(e,t,r){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+(0,n.default)(e));var a=e.indexOf("?"),u=-1!==a&&a127?U+="x":U+=M[R];if(!U.match(p)){var N=C.slice(0,O),F=C.slice(O+1),L=M.match(b);L&&(N.push(L[1]),F.unshift(L[2])),F.length&&(w="/"+F.join(".")+w),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=i.toASCII(this.hostname));var D=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+D,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!y[_])for(O=0,I=d.length;O0)&&r.host.split("@"))&&(r.auth=B.shift(),r.host=r.hostname=B.shift())),r.search=e.search,r.query=e.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(!_.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var E=_.slice(-1)[0],x=(r.host||e.host||_.length>1)&&("."===E||".."===E)||""===E,P=0,O=_.length;O>=0;O--)"."===(E=_[O])?_.splice(O,1):".."===E?(_.splice(O,1),P++):P&&(_.splice(O,1),P--);if(!A&&!k)for(;P--;P)_.unshift("..");!A||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),x&&"/"!==_.join("/").substr(-1)&&_.push("");var B,T=""===_[0]||_[0]&&"/"===_[0].charAt(0);return S&&(r.hostname=r.host=T?"":_.length?_.shift():"",(B=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=B.shift(),r.host=r.hostname=B.shift())),(A=A||r.host&&_.length)&&!T&&_.unshift(""),_.length?r.pathname=_.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=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},a.prototype.parseHost=function(){var e=this.host,t=u.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},5751:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"===(0,n.default)(e)&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},8632:(e,t)=>{"use strict";!function(e){var t,r,n,i=String.fromCharCode;function o(e){for(var t,r,n=[],i=0,o=e.length;i=55296&&t<=56319&&i=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}function s(e,t){return i(e>>t&63|128)}function u(e){if(0==(4294967168&e))return i(e);var t="";return 0==(4294965248&e)?t=i(e>>6&31|192):0==(4294901760&e)?(a(e),t=i(e>>12&15|224),t+=s(e,6)):0==(4292870144&e)&&(t=i(e>>18&7|240),t+=s(e,12),t+=s(e,6)),t+i(63&e|128)}function c(){if(n>=r)throw Error("Invalid byte index");var e=255&t[n];if(n++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function f(){var e,i;if(n>r)throw Error("Invalid byte index");if(n==r)return!1;if(e=255&t[n],n++,0==(128&e))return e;if(192==(224&e)){if((i=(31&e)<<6|c())>=128)return i;throw Error("Invalid continuation byte")}if(224==(240&e)){if((i=(15&e)<<12|c()<<6|c())>=2048)return a(i),i;throw Error("Invalid continuation byte")}if(240==(248&e)&&(i=(7&e)<<18|c()<<12|c()<<6|c())>=65536&&i<=1114111)return i;throw Error("Invalid UTF-8 detected")}e.version="3.0.0",e.encode=function(e){for(var t=o(e),r=t.length,n=-1,i="";++n65535&&(o+=i((t-=65536)>>>10&1023|55296),t=56320|1023&t),o+=i(t);return o}(s)}}(t)},6219:(e,t,r)=>{"use strict";function n(e){try{if(!r.g.localStorage)return!1}catch(e){return!1}var t=r.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}},6248:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(e){return e&&"object"===(0,n.default)(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},7092:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(9446),o=r(4477),a=r(2337),s=r(8915);function u(e){return e.call.bind(e)}var c="undefined"!=typeof BigInt,f="undefined"!=typeof Symbol,d=u(Object.prototype.toString),l=u(Number.prototype.valueOf),h=u(String.prototype.valueOf),p=u(Boolean.prototype.valueOf);if(c)var b=u(BigInt.prototype.valueOf);if(f)var y=u(Symbol.prototype.valueOf);function m(e,t){if("object"!==(0,n.default)(e))return!1;try{return t(e),!0}catch(e){return!1}}function v(e){return"[object Map]"===d(e)}function g(e){return"[object Set]"===d(e)}function w(e){return"[object WeakMap]"===d(e)}function A(e){return"[object WeakSet]"===d(e)}function k(e){return"[object ArrayBuffer]"===d(e)}function _(e){return"undefined"!=typeof ArrayBuffer&&(k.working?k(e):e instanceof ArrayBuffer)}function S(e){return"[object DataView]"===d(e)}function E(e){return"undefined"!=typeof DataView&&(S.working?S(e):e instanceof DataView)}t.isArgumentsObject=i,t.isGeneratorFunction=o,t.isTypedArray=s,t.isPromise=function(e){return"undefined"!=typeof Promise&&e instanceof Promise||null!==e&&"object"===(0,n.default)(e)&&"function"==typeof e.then&&"function"==typeof e.catch},t.isArrayBufferView=function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):s(e)||E(e)},t.isUint8Array=function(e){return"Uint8Array"===a(e)},t.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===a(e)},t.isUint16Array=function(e){return"Uint16Array"===a(e)},t.isUint32Array=function(e){return"Uint32Array"===a(e)},t.isInt8Array=function(e){return"Int8Array"===a(e)},t.isInt16Array=function(e){return"Int16Array"===a(e)},t.isInt32Array=function(e){return"Int32Array"===a(e)},t.isFloat32Array=function(e){return"Float32Array"===a(e)},t.isFloat64Array=function(e){return"Float64Array"===a(e)},t.isBigInt64Array=function(e){return"BigInt64Array"===a(e)},t.isBigUint64Array=function(e){return"BigUint64Array"===a(e)},v.working="undefined"!=typeof Map&&v(new Map),t.isMap=function(e){return"undefined"!=typeof Map&&(v.working?v(e):e instanceof Map)},g.working="undefined"!=typeof Set&&g(new Set),t.isSet=function(e){return"undefined"!=typeof Set&&(g.working?g(e):e instanceof Set)},w.working="undefined"!=typeof WeakMap&&w(new WeakMap),t.isWeakMap=function(e){return"undefined"!=typeof WeakMap&&(w.working?w(e):e instanceof WeakMap)},A.working="undefined"!=typeof WeakSet&&A(new WeakSet),t.isWeakSet=function(e){return A(e)},k.working="undefined"!=typeof ArrayBuffer&&k(new ArrayBuffer),t.isArrayBuffer=_,S.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&S(new DataView(new ArrayBuffer(1),0,1)),t.isDataView=E;var x="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function P(e){return"[object SharedArrayBuffer]"===d(e)}function O(e){return void 0!==x&&(void 0===P.working&&(P.working=P(new x)),P.working?P(e):e instanceof x)}function B(e){return m(e,l)}function T(e){return m(e,h)}function C(e){return m(e,p)}function I(e){return c&&m(e,b)}function M(e){return f&&m(e,y)}t.isSharedArrayBuffer=O,t.isAsyncFunction=function(e){return"[object AsyncFunction]"===d(e)},t.isMapIterator=function(e){return"[object Map Iterator]"===d(e)},t.isSetIterator=function(e){return"[object Set Iterator]"===d(e)},t.isGeneratorObject=function(e){return"[object Generator]"===d(e)},t.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===d(e)},t.isNumberObject=B,t.isStringObject=T,t.isBooleanObject=C,t.isBigIntObject=I,t.isSymbolObject=M,t.isBoxedPrimitive=function(e){return B(e)||T(e)||C(e)||I(e)||M(e)},t.isAnyArrayBuffer=function(e){return"undefined"!=typeof Uint8Array&&(_(e)||O(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(e){Object.defineProperty(t,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})}))},5058:(e,t,r)=>{"use strict";var n=r(9142),i=r(8847)(r(3355)),o=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(r)?n.showHidden=r:r&&t._extend(n,r),A(n.showHidden)&&(n.showHidden=!1),A(n.depth)&&(n.depth=2),A(n.colors)&&(n.colors=!1),A(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=d),h(n,e,n.depth)}function d(e,t){var r=f.styles[t];return r?"["+f.colors[r][0]+"m"+e+"["+f.colors[r][1]+"m":e}function l(e,t){return e}function h(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return w(i)||(i=h(e,i,n)),i}var o=function(e,t){if(A(t))return e.stylize("undefined","undefined");if(w(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):m(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}(e,r);if(o)return o;var a=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),E(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return p(r);if(0===a.length){if(x(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(k(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(S(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return p(r)}var c,f="",d=!1,l=["{","}"];return y(r)&&(d=!0,l=["[","]"]),x(r)&&(f=" [Function"+(r.name?": "+r.name:"")+"]"),k(r)&&(f=" "+RegExp.prototype.toString.call(r)),S(r)&&(f=" "+Date.prototype.toUTCString.call(r)),E(r)&&(f=" "+p(r)),0!==a.length||d&&0!=r.length?n<0?k(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=d?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,f,l)):l[0]+f+l[1]}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function b(e,t,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),C(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(u.value)<0?(s=v(r)?h(e,u.value,null):h(e,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),A(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.slice(1,-1),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function y(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function v(e){return null===e}function g(e){return"number"==typeof e}function w(e){return"string"==typeof e}function A(e){return void 0===e}function k(e){return _(e)&&"[object RegExp]"===P(e)}function _(e){return"object"===(0,i.default)(e)&&null!==e}function S(e){return _(e)&&"[object Date]"===P(e)}function E(e){return _(e)&&("[object Error]"===P(e)||e instanceof Error)}function x(e){return"function"==typeof e}function P(e){return Object.prototype.toString.call(e)}function O(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(e=e.toUpperCase(),!s[e])if(u.test(e)){var r=n.pid;s[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else s[e]=function(){};return s[e]},t.inspect=f,f.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]},f.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.types=r(7092),t.isArray=y,t.isBoolean=m,t.isNull=v,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=w,t.isSymbol=function(e){return"symbol"===(0,i.default)(e)},t.isUndefined=A,t.isRegExp=k,t.types.isRegExp=k,t.isObject=_,t.isDate=S,t.types.isDate=S,t.isError=E,t.types.isNativeError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===(0,i.default)(e)||void 0===e},t.isBuffer=r(6248);var B=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var e=new Date,t=[O(e.getHours()),O(e.getMinutes()),O(e.getSeconds())].join(":");return[e.getDate(),B[e.getMonth()],t].join(" ")}function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",T(),t.format.apply(t,arguments))},t.inherits=r(1736),t._extend=function(e,t){if(!t||!_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var I="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function M(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(I&&e[I]){var t;if("function"!=typeof(t=e[I]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,I,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return u.default}});var n=l(r(5999)),i=l(r(8231)),o=l(r(8647)),a=l(r(5025)),s=l(r(5996)),u=l(r(8928)),c=l(r(6163)),f=l(r(2982)),d=l(r(1729));function l(e){return e&&e.__esModule?e:{default:e}}},6792:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,o,a){return n((s=n(n(t,e),n(i,a)))<<(u=o)|s>>>32-u,r);var s,u}function o(e,t,r,n,o,a,s){return i(t&r|~t&n,e,t,o,a,s)}function a(e,t,r,n,o,a,s){return i(t&n|r&~n,e,t,o,a,s)}function s(e,t,r,n,o,a,s){return i(t^r^n,e,t,o,a,s)}function u(e,t,r,n,o,a,s){return i(r^(t|~n),e,t,o,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var i=0;i>5]>>>i%32&255,a=parseInt(n.charAt(o>>>4&15)+n.charAt(15&o),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[i/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},5996:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},1729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(6163))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},7300:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},4402:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};var n=new Uint8Array(16)},2702:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){var t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var o=unescape(encodeURIComponent(e));e=[];for(var a=0;a>>0;A=w,w=g,g=n(v,30)>>>0,v=m,m=S}i[0]=i[0]+m>>>0,i[1]=i[1]+v>>>0,i[2]=i[2]+g>>>0,i[3]=i[3]+w>>>0,i[4]=i[4]+A>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},2982:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=s;for(var n,i=(n=r(6163))&&n.__esModule?n:{default:n},o=[],a=0;a<256;++a)o.push((a+256).toString(16).slice(1));function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase()}t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=s(e,t);if(!(0,i.default)(r))throw TypeError("Stringified UUID is invalid");return r}},5999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i,o,a=(n=r(4402))&&n.__esModule?n:{default:n},s=r(2982),u=0,c=0;t.default=function(e,t,r){var n=t&&r||0,f=t||new Array(16),d=(e=e||{}).node||i,l=void 0!==e.clockseq?e.clockseq:o;if(null==d||null==l){var h=e.random||(e.rng||a.default)();null==d&&(d=i=[1|h[0],h[1],h[2],h[3],h[4],h[5]]),null==l&&(l=o=16383&(h[6]<<8|h[7]))}var p=void 0!==e.msecs?e.msecs:Date.now(),b=void 0!==e.nsecs?e.nsecs:c+1,y=p-u+(b-c)/1e4;if(y<0&&void 0===e.clockseq&&(l=l+1&16383),(y<0||p>u)&&void 0===e.nsecs&&(b=0),b>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=p,c=b,o=l;var m=(1e4*(268435455&(p+=122192928e5))+b)%4294967296;f[n++]=m>>>24&255,f[n++]=m>>>16&255,f[n++]=m>>>8&255,f[n++]=255&m;var v=p/4294967296*1e4&268435455;f[n++]=v>>>8&255,f[n++]=255&v,f[n++]=v>>>24&15|16,f[n++]=v>>>16&255,f[n++]=l>>>8|128,f[n++]=255&l;for(var g=0;g<6;++g)f[n+g]=d[g];return t||(0,s.unsafeStringify)(f)}},8231:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(6125)),i=o(r(6792));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,i.default);t.default=a},6125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var u;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1788)),i=a(r(4402)),o=r(2982);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();var a=(e=e||{}).random||(e.rng||i.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(var s=0;s<16;++s)t[r+s]=a[s];return t}return(0,o.unsafeStringify)(a)}},5025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(6125)),i=o(r(2702));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,i.default);t.default=a},6163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(7300))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&i.default.test(e)}},8928:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(6163))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},8325:e=>{"use strict";e.exports=function e(t,r){var n,i=0,o=0,a=r=r||0,s=t.length;do{if(a>=s)throw e.bytes=0,new RangeError("Could not decode varint");n=t[a++],i+=o<28?(127&n)<=128);return e.bytes=a-r,i}},2699:e=>{"use strict";e.exports=function e(r,n,i){n=n||[];for(var o=i=i||0;r>=t;)n[i++]=255&r|128,r/=128;for(;-128&r;)n[i++]=255&r|128,r>>>=7;return n[i]=0|r,e.bytes=i-o+1,n};var t=Math.pow(2,31)},6657:(e,t,r)=>{"use strict";e.exports={encode:r(2699),decode:r(8325),encodingLength:r(7490)}},7490:e=>{"use strict";var t=Math.pow(2,7),r=Math.pow(2,14),n=Math.pow(2,21),i=Math.pow(2,28),o=Math.pow(2,35),a=Math.pow(2,42),s=Math.pow(2,49),u=Math.pow(2,56),c=Math.pow(2,63);e.exports=function(e){return e{"use strict";var n,i=r(8847)(r(3355));if("object"===("undefined"==typeof globalThis?"undefined":(0,i.default)(globalThis)))n=globalThis;else try{n=r(6464)}catch(e){}finally{if(n||"undefined"==typeof window||(n=window),!n)throw new Error("Could not determine global this")}var o=n.WebSocket||n.MozWebSocket,a=r(5735);function s(e,t){return t?new o(e,t):new o(e)}o&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(s,e,{get:function(){return o[e]}})})),e.exports={w3cwebsocket:o?s:null,version:a}},5735:(e,t,r)=>{"use strict";e.exports=r(9794).version},2337:(e,t,r)=>{"use strict";var n=r(8184),i=r(3604),o=r(593),a=r(3820),s=o("Object.prototype.toString"),u=r(1191)(),c="undefined"==typeof globalThis?r.g:globalThis,f=i(),d=o("String.prototype.slice"),l={},h=Object.getPrototypeOf;u&&a&&h&&n(f,(function(e){if("function"==typeof c[e]){var t=new c[e];if(Symbol.toStringTag in t){var r=h(t),n=a(r,Symbol.toStringTag);if(!n){var i=h(r);n=a(i,Symbol.toStringTag)}l[e]=n.get}}}));var p=r(8915);e.exports=function(e){return!!p(e)&&(u&&Symbol.toStringTag in e?function(e){var t=!1;return n(l,(function(r,n){if(!t)try{var i=r.call(e);i===n&&(t=i)}catch(e){}})),t}(e):d(s(e),8,-1))}},1357:(e,t,r)=>{"use strict";var n=r(8992),i=r(8419),o=r(3103),a=r(9122),s=r(7321),u="application/json",c=function(){};e.exports=function(e,t,r){if(!e||"string"!=typeof e)throw new TypeError("must specify a URL");if("function"==typeof t&&(r=t,t={}),r&&"function"!=typeof r)throw new TypeError("expected cb to be undefined or a function");r=r||c;var f=(t=t||{}).json?"json":"text",d=(t=o({responseType:f},t)).headers||{},l=(t.method||"GET").toUpperCase(),h=t.query;return h&&("string"!=typeof h&&(h=n.stringify(h)),e=i(e,h)),"json"===t.responseType&&a(d,"Accept",u),t.json&&"GET"!==l&&"HEAD"!==l&&(a(d,"Content-Type",u),t.body=JSON.stringify(t.body)),t.method=l,t.url=e,t.headers=d,delete t.query,delete t.json,s(t,r)}},9122:e=>{"use strict";e.exports=function(e,t,r){var n=t.toLowerCase();e[t]||e[n]||(e[t]=r)}},9800:e=>{"use strict";e.exports=function(e,t){return t?{statusCode:t.statusCode,headers:t.headers,method:e.method,url:e.url,rawRequest:t.rawRequest?t.rawRequest:t}:null}},7321:(e,t,r)=>{"use strict";var n=r(346),i=r(9800),o=function(){};e.exports=function(e,t){delete e.uri;var r=!1;"json"===e.responseType&&(e.responseType="text",r=!0);var a=n(e,(function(n,a,s){if(r&&!n)try{var u=a.rawRequest.responseText;s=JSON.parse(u)}catch(e){n=e}a=i(e,a),t(n,n?null:s,a),t=o})),s=a.onabort;return a.onabort=function(){var e=s.apply(a,Array.prototype.slice.call(arguments));return t(new Error("XHR Aborted")),t=o,e},a}},8992:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(3621),o=r(3103),a=r(34);function s(e,t){return t.encode?t.strict?i(e):encodeURIComponent(e):e}function u(e){return Array.isArray(e)?e.sort():"object"===(0,n.default)(e)?u(Object.keys(e)).sort((function(e,t){return Number(e)-Number(t)})).map((function(t){return e[t]})):e}function c(e){var t=e.indexOf("?");return-1===t?"":e.slice(t+1)}function f(e,t){var r=function(e){var t;switch(e.arrayFormat){case"index":return function(e,r,n){t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===n[e]&&(n[e]={}),n[e][t[1]]=r):n[e]=r};case"bracket":return function(e,r,n){t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==n[e]?n[e]=[].concat(n[e],r):n[e]=[r]:n[e]=r};default:return function(e,t,r){void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}(t=o({arrayFormat:"none"},t)),i=Object.create(null);return"string"!=typeof e?i:(e=e.trim().replace(/^[?#&]/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),n=t.shift(),o=t.length>0?t.join("="):void 0;o=void 0===o?null:a(o),r(a(n),o,i)})),Object.keys(i).sort().reduce((function(e,t){var r=i[t];return Boolean(r)&&"object"===(0,n.default)(r)&&!Array.isArray(r)?e[t]=u(r):e[t]=r,e}),Object.create(null))):i}t.extract=c,t.parse=f,t.stringify=function(e,t){!1===(t=o({encode:!0,strict:!0,arrayFormat:"none"},t)).sort&&(t.sort=function(){});var r=function(e){switch(e.arrayFormat){case"index":return function(t,r,n){return null===r?[s(t,e),"[",n,"]"].join(""):[s(t,e),"[",s(n,e),"]=",s(r,e)].join("")};case"bracket":return function(t,r){return null===r?s(t,e):[s(t,e),"[]=",s(r,e)].join("")};default:return function(t,r){return null===r?s(t,e):[s(t,e),"=",s(r,e)].join("")}}}(t);return e?Object.keys(e).sort(t.sort).map((function(n){var i=e[n];if(void 0===i)return"";if(null===i)return s(n,t);if(Array.isArray(i)){var o=[];return i.slice().forEach((function(e){void 0!==e&&o.push(r(n,e,o.length))})),o.join("&")}return s(n,t)+"="+s(i,t)})).filter((function(e){return e.length>0})).join("&"):""},t.parseUrl=function(e,t){return{url:e.split("?")[0]||"",query:f(c(e),t)}}},3621:e=>{"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}},346:(e,t,r)=>{"use strict";var n=r(2948),i=r(4339),o=r(8209),a=r(7705);function s(e,t,r){var n=e;return i(t)?(r=t,"string"==typeof e&&(n={uri:e})):n=a(t,{uri:e}),n.callback=r,n}function u(e,t,r){return c(t=s(e,t,r))}function c(e){if(void 0===e.callback)throw new Error("callback argument missing");var t=!1,r=function(r,n,i){t||(t=!0,e.callback(r,n,i))};function n(){var e=void 0;if(e=f.response?f.response:f.responseText||function(e){try{if("document"===e.responseType)return e.responseXML;var t=e.responseXML&&"parsererror"===e.responseXML.documentElement.nodeName;if(""===e.responseType&&!t)return e.responseXML}catch(e){}return null}(f),m)try{e=JSON.parse(e)}catch(e){}return e}function i(e){return clearTimeout(d),e instanceof Error||(e=new Error(""+(e||"Unknown XMLHttpRequest Error"))),e.statusCode=0,r(e,v)}function a(){if(!c){var t;clearTimeout(d),t=e.useXDR&&void 0===f.status?200:1223===f.status?204:f.status;var i=v,a=null;return 0!==t?(i={body:n(),statusCode:t,method:h,headers:{},url:l,rawRequest:f},f.getAllResponseHeaders&&(i.headers=o(f.getAllResponseHeaders()))):a=new Error("Internal XMLHttpRequest Error"),r(a,i,i.body)}}var s,c,f=e.xhr||null;f||(f=e.cors||e.useXDR?new u.XDomainRequest:new u.XMLHttpRequest);var d,l=f.url=e.uri||e.url,h=f.method=e.method||"GET",p=e.body||e.data,b=f.headers=e.headers||{},y=!!e.sync,m=!1,v={body:void 0,headers:{},statusCode:0,method:h,url:l,rawRequest:f};if("json"in e&&!1!==e.json&&(m=!0,b.accept||b.Accept||(b.Accept="application/json"),"GET"!==h&&"HEAD"!==h&&(b["content-type"]||b["Content-Type"]||(b["Content-Type"]="application/json"),p=JSON.stringify(!0===e.json?p:e.json))),f.onreadystatechange=function(){4===f.readyState&&setTimeout(a,0)},f.onload=a,f.onerror=i,f.onprogress=function(){},f.onabort=function(){c=!0},f.ontimeout=i,f.open(h,l,!y,e.username,e.password),y||(f.withCredentials=!!e.withCredentials),!y&&e.timeout>0&&(d=setTimeout((function(){if(!c){c=!0,f.abort("timeout");var e=new Error("XMLHttpRequest timeout");e.code="ETIMEDOUT",i(e)}}),e.timeout)),f.setRequestHeader)for(s in b)b.hasOwnProperty(s)&&f.setRequestHeader(s,b[s]);else if(e.headers&&!function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(e.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in e&&(f.responseType=e.responseType),"beforeSend"in e&&"function"==typeof e.beforeSend&&e.beforeSend(f),f.send(p||null),f}e.exports=u,e.exports.default=u,u.XMLHttpRequest=n.XMLHttpRequest||function(){},u.XDomainRequest="withCredentials"in new u.XMLHttpRequest?u.XMLHttpRequest:n.XDomainRequest,function(e,t){for(var r=0;r{"use strict";e.exports=function(){for(var e={},r=0;r{"use strict";var n=r(8847)(r(3355)),i=r(6427),o=function e(t){this.givenProvider=e.givenProvider,t&&t._requestManager&&(t=t.currentProvider),"undefined"!=typeof document&&(this.pick=i.pick),this.setProvider(t)};o.givenProvider=null,"undefined"!=typeof ethereum&ðereum.bzz&&(o.givenProvider=ethereum.bzz),o.prototype.setProvider=function(e){if(e&&"object"===(0,n.default)(e)&&"string"==typeof e.bzz&&(e=e.bzz),"string"!=typeof e){this.currentProvider=null;var t=new Error("No provider set, please set one using bzz.setProvider().");return this.download=this.upload=this.isAvailable=function(){throw t},!1}return this.currentProvider=e,this.download=i.at(e).download,this.upload=i.at(e).upload,this.isAvailable=i.at(e).isAvailable,!0},e.exports=o},4246:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports={ErrorResponse:function(e){var t=e&&e.error&&e.error.message?e.error.message:JSON.stringify(e),r=e.error&&e.error.data?e.error.data:null,n=new Error("Returned error: "+t);return n.data=r,n},InvalidNumberOfParams:function(e,t,r){return new Error('Invalid number of parameters for "'+r+'". Got '+e+" expected "+t+"!")},InvalidConnection:function(e,t){return this.ConnectionError("CONNECTION ERROR: Couldn't connect to node "+e+".",t)},InvalidProvider:function(){return new Error("Provider not set or invalid")},InvalidResponse:function(e){var t=e&&e.error&&e.error.message?e.error.message:"Invalid JSON RPC response: "+JSON.stringify(e);return new Error(t)},ConnectionTimeout:function(e){return new Error("CONNECTION TIMEOUT: timeout of "+e+" ms achived")},ConnectionNotOpenError:function(e){return this.ConnectionError("connection not open on send()",e)},ConnectionCloseError:function(e){return"object"===(0,n.default)(e)&&e.code&&e.reason?this.ConnectionError("CONNECTION ERROR: The connection got closed with the close code `"+e.code+"` and the following reason string `"+e.reason+"`",e):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(e,t){var r=new Error(e);return t&&(r.code=t.code,r.reason=t.reason,t.description&&(r.description=t.description)),r},RevertInstructionError:function(e,t){var r=new Error("Your request got reverted with the following reason string: "+e);return r.reason=e,r.signature=t,r},TransactionRevertInstructionError:function(e,t,r){var n=new Error("Transaction has been reverted by the EVM:\n"+JSON.stringify(r,null,2));return n.reason=e,n.signature=t,n.receipt=r,n},TransactionError:function(e,t){var r=new Error(e);return r.receipt=t,r},NoContractAddressFoundError:function(e){return this.TransactionError("The transaction receipt didn't contain a contract address.",e)},ContractCodeNotStoredError:function(e){return this.TransactionError("The contract code couldn't be stored, please check your gas limit.",e)},TransactionRevertedWithoutReasonError:function(e){return this.TransactionError("Transaction has been reverted by the EVM:\n"+JSON.stringify(e,null,2),e)},TransactionOutOfGasError:function(e){return this.TransactionError("Transaction ran out of gas. Please provide more gas:\n"+JSON.stringify(e,null,2),e)},ResolverMethodMissingError:function(e,t){return new Error("The resolver at "+e+'does not implement requested method: "'+t+'".')},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(e){return new Error('Event "'+e+"\" doesn't exist in this contract.")},ContractReservedEventError:function(e){return new Error('The event "'+e+"\" 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.')}}},2084:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(775)),o=n(r(3355));function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t{"use strict";var n=r(4246),i=r(2084);e.exports={errors:n,formatters:i}},3349:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(2247)),o=n(r(4519)),a=n(r(775)),s=n(r(5698)),u=n(r(3355));function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t1?(e[r[0]]=e[r[0]]||{},e[r[0]][r[1]]=t):e[r[0]]=t},m.prototype.getCall=function(e){return"function"==typeof this.call?this.call(e):this.call},m.prototype.extractCallback=function(e){if("function"==typeof e[e.length-1])return e.pop()},m.prototype.validateArgs=function(e){if(e.length!==this.params)throw d.InvalidNumberOfParams(e.length,this.params,this.name)},m.prototype.formatInput=function(e){var t=this;return this.inputFormatter?this.inputFormatter.map((function(r,n){return r?r.call(t,e[n]):e[n]})):e},m.prototype.formatOutput=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.outputFormatter&&e?t.outputFormatter(e,null==this?void 0:this.hexFormat):e})):this.outputFormatter&&e?this.outputFormatter(e,null==this?void 0:this.hexFormat):e},m.prototype.toPayload=function(e){var t=this.getCall(e),r=this.extractCallback(e),n=this.formatInput(e);this.validateArgs(n);var i={method:t,params:n,callback:r};return this.transformPayload&&(i=this.transformPayload(i)),i},m.prototype._confirmTransaction=function(e,t,r){var n=this,o=!1,a=!0,c=0,f=0,v=null,g=null,w=null,A=r.params[0]&&"object"===(0,u.default)(r.params[0])&&r.params[0].gas?r.params[0].gas:null,k=!!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,S=[new m({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[l.inputBlockNumberFormatter,function(e){return!!e}],outputFormatter:l.outputBlockFormatter}),new m({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:l.outputTransactionReceiptFormatter}),new m({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[l.inputAddressFormatter,l.inputDefaultBlockNumberFormatter]}),new m({name:"getTransactionByHash",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:l.outputTransactionFormatter}),new b({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:l.outputBlockFormatter}}})],E={};S.forEach((function(e){e.attachToObject(E),e.requestManager=n.requestManager}));var x=function(u,b,m,S,x){if(!m)return x||(x={unsubscribe:function(){clearInterval(v),clearTimeout(g)}}),(u?p.resolve(u):E.getTransactionReceipt(t)).catch((function(t){x.unsubscribe(),o=!0,h._fireError({message:"Failed to check for transaction receipt:",data:t},e.eventEmitter,e.reject)})).then(function(){var t=(0,s.default)(i.default.mark((function t(r){var o,s,c;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&r.blockHash){t.next=2;break}throw new Error("Receipt missing or blockHash null");case 2:if(n.extraFormatters&&n.extraFormatters.receiptFormatter&&(r=n.extraFormatters.receiptFormatter(r)),!(e.eventEmitter.listeners("confirmation").length>0)){t.next=28;break}if(void 0!==u&&0===f){t.next=25;break}return t.next=7,E.getBlockByNumber("latest");case 7:if(s=t.sent,c=s?s.hash:null,!b){t.next=24;break}if(!w){t.next=17;break}return t.next=13,E.getBlockByNumber(w.number+1);case 13:(o=t.sent)&&(w=o,e.eventEmitter.emit("confirmation",f,r,c)),t.next=22;break;case 17:return t.next=19,E.getBlockByNumber(r.blockNumber);case 19:o=t.sent,w=o,e.eventEmitter.emit("confirmation",f,r,c);case 22:t.next=25;break;case 24:e.eventEmitter.emit("confirmation",f,r,c);case 25:(b&&o||!b)&&f++,a=!1,f===n.transactionConfirmationBlocks+1&&(x.unsubscribe(),e.eventEmitter.removeAllListeners());case 28:return t.abrupt("return",r);case 29:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).then(function(){var t=(0,s.default)(i.default.mark((function t(r){var s;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!k||o){t.next=19;break}if(r.contractAddress){t.next=5;break}return a&&(x.unsubscribe(),o=!0),h._fireError(d.NoContractAddressFoundError(r),e.eventEmitter,e.reject,null,r),t.abrupt("return");case 5:return t.prev=5,t.next=8,E.getCode(r.contractAddress);case 8:s=t.sent,t.next=13;break;case 11:t.prev=11,t.t0=t.catch(5);case 13:if(s){t.next=15;break}return t.abrupt("return");case 15:!0===r.status&&_||s.length>2?(e.eventEmitter.emit("receipt",r),n.extraFormatters&&n.extraFormatters.contractDeployFormatter?e.resolve(n.extraFormatters.contractDeployFormatter(r)):e.resolve(r),a&&e.eventEmitter.removeAllListeners()):h._fireError(d.ContractCodeNotStoredError(r),e.eventEmitter,e.reject,null,r),a&&x.unsubscribe(),o=!0;case 19:return t.abrupt("return",r);case 20:case"end":return t.stop()}}),t,null,[[5,11]])})));return function(e){return t.apply(this,arguments)}}()).then(function(){var t=(0,s.default)(i.default.mark((function t(s){var u,c,f,p;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k||o){t.next=35;break}if(s.outOfGas||A&&A===s.gasUsed||!0!==s.status&&"0x1"!==s.status&&void 0!==s.status){t.next=7;break}e.eventEmitter.emit("receipt",s),e.resolve(s),a&&e.eventEmitter.removeAllListeners(),t.next=33;break;case 7:if(JSON.stringify(s,null,2),!1!==s.status&&"0x0"!==s.status){t.next=32;break}if(t.prev=9,u=null,!n.handleRevert||"eth_sendTransaction"!==n.call&&"eth_sendRawTransaction"!==n.call){t.next=24;break}return c=r.params[0],"eth_sendRawTransaction"===n.call&&(f=r.params[0],p=y.parse(f),c=l.inputTransactionFormatter({data:p.data,to:p.to,from:p.from,gas:p.gasLimit.toHexString(),gasPrice:p.gasPrice?p.gasPrice.toHexString():void 0,value:p.value.toHexString()})),t.next=16,n.getRevertReason(c,s.blockNumber);case 16:if(!(u=t.sent)){t.next=21;break}h._fireError(d.TransactionRevertInstructionError(u.reason,u.signature,s),e.eventEmitter,e.reject,null,s),t.next=22;break;case 21:throw!1;case 22:t.next=25;break;case 24:throw!1;case 25:t.next=30;break;case 27:t.prev=27,t.t0=t.catch(9),h._fireError(d.TransactionRevertedWithoutReasonError(s),e.eventEmitter,e.reject,null,s);case 30:t.next=33;break;case 32:h._fireError(d.TransactionOutOfGasError(s),e.eventEmitter,e.reject,null,s);case 33:a&&x.unsubscribe(),o=!0;case 35:case"end":return t.stop()}}),t,null,[[9,27]])})));return function(e){return t.apply(this,arguments)}}()).catch((function(){c++,b?c-1>=n.transactionPollingTimeout&&(x.unsubscribe(),o=!0,h._fireError(d.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!"),e.eventEmitter,e.reject)):c-1>=n.transactionBlockTimeout&&(x.unsubscribe(),o=!0,h._fireError(d.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!"),e.eventEmitter,e.reject))}));x.unsubscribe(),o=!0,h._fireError({message:"Failed to subscribe to new newBlockHeaders to confirm the transaction receipts.",data:m},e.eventEmitter,e.reject)},P=function(e){var t=!1,r=function(){v=setInterval(x.bind(null,e,!0),n.transactionPollingInterval)};if(!this.requestManager.provider.on)return r();E.subscribe("newBlockHeaders",(function(n,i,o){if(t=!0,n||!i)return r();x(e,!1,n,0,o)})),g=setTimeout((function(){t||r()}),1e3*this.blockHeaderTimeout)}.bind(this);E.getTransactionReceipt(t).then((function(t){t&&t.blockHash?(e.eventEmitter.listeners("confirmation").length>0&&P(t),x(t,!1)):o||P()})).catch((function(){o||P()}))};var v=function(e,t){return"number"==typeof e?t.wallet[e]:e&&"object"===(0,u.default)(e)&&e.address&&e.privateKey?e:t.wallet[e.toLowerCase()]};function g(e,t){return new Promise((function(r,n){try{var i=new m({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[function(e){return e?h.toHex(e):"latest"},function(){return!1}]}).createFunction(e.requestManager),a=new m({name:"getGasPrice",call:"eth_gasPrice",params:0}).createFunction(e.requestManager);Promise.all([i(),a()]).then((function(e){var n=(0,o.default)(e,2),i=n[0],a=n[1];if(("0x2"===t.type||void 0===t.type)&&i&&i.baseFeePerGas){var s,u;t.gasPrice?(s=t.gasPrice,u=t.gasPrice,delete t.gasPrice):(s=t.maxPriorityFeePerGas||"0x9502F900",u=t.maxFeePerGas||h.toHex(h.toBN(i.baseFeePerGas).mul(h.toBN(2)).add(h.toBN(s)))),r({maxFeePerGas:u,maxPriorityFeePerGas:s})}else{if(t.maxPriorityFeePerGas||t.maxFeePerGas)throw Error("Network doesn't support eip-1559");r({gasPrice:a})}}))}catch(e){n(e)}}))}m.prototype.buildCall=function(){var e=this,t="eth_sendTransaction"===e.call||"eth_sendRawTransaction"===e.call,r="eth_call"===e.call,n=function(){var n=Array.prototype.slice.call(arguments),i=p(!t),o=e.toPayload(n);e.hexFormat=!1,"eth_getTransactionReceipt"!==e.call&&"eth_getTransactionByHash"!==e.call&&"getBlock"!==e.name||(e.hexFormat=o.params.length{"use strict";var n=r(8008),i=function(e){var t,r,i=new Promise((function(){t=arguments[0],r=arguments[1]}));if(e)return{resolve:t,reject:r,eventEmitter:i};var o=new n;return i._events=o._events,i.emit=o.emit,i.on=o.on,i.once=o.once,i.off=o.off,i.listeners=o.listeners,i.addListener=o.addListener,i.removeListener=o.removeListener,i.removeAllListeners=o.removeAllListeners,{resolve:t,reject:r,eventEmitter:i}};i.resolve=function(e){var t=i(!0);return t.resolve(e),t.eventEmitter},e.exports=i},5229:(e,t,r)=>{"use strict";var n=r(8155),i=r(1314).errors,o=function(e){this.requestManager=e,this.requests=[]};o.prototype.add=function(e){this.requests.push(e)},o.prototype.execute=function(){var e=this.requests,t=this._sortResponses.bind(this);this.requestManager.sendBatch(e,(function(r,o){o=t(o),e.map((function(e,t){return o[t]||{}})).forEach((function(t,r){if(e[r].callback){if(t&&t.error)return e[r].callback(i.ErrorResponse(t));if(!n.isValidResponse(t))return e[r].callback(i.InvalidResponse(t));try{e[r].callback(null,e[r].format?e[r].format(t.result):t.result)}catch(t){e[r].callback(t)}}}))}))},o.prototype._sortResponses=function(e){return(e||[]).sort((function(e,t){return e.id-t.id}))},e.exports=o},9764:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=null,o="object"===("undefined"==typeof globalThis?"undefined":(0,n.default)(globalThis))?globalThis:void 0;if(!o)try{o=Function("return this")()}catch(e){o=self}void 0!==o.ethereum?i=o.ethereum:void 0!==o.web3&&o.web3.currentProvider&&(o.web3.currentProvider.sendAsync&&(o.web3.currentProvider.send=o.web3.currentProvider.sendAsync,delete o.web3.currentProvider.sendAsync),!o.web3.currentProvider.on&&o.web3.currentProvider.connection&&"ipcProviderWrapper"===o.web3.currentProvider.connection.constructor.name&&(o.web3.currentProvider.on=function(e,t){if("function"!=typeof t)throw new Error("The second parameter callback must be a function.");"data"===e?this.connection.on("data",(function(e){var r="";e=e.toString();try{r=JSON.parse(e)}catch(r){return t(new Error("Couldn't parse response data"+e))}r.id||-1===r.method.indexOf("_subscription")||t(null,r)})):this.connection.on(e,t)}),i=o.web3.currentProvider),e.exports=i},2033:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(5058).callbackify,o=r(1314).errors,a=r(8155),s=r(5229),u=r(9764),c=function e(t,r){this.provider=null,this.providers=e.providers,this.setProvider(t,r),this.subscriptions=new Map};c.givenProvider=u,c.providers={WebsocketProvider:r(7651),HttpProvider:r(4565),IpcProvider:r(2683)},c.prototype.setProvider=function(e,t){var r=this;if(e&&"string"==typeof e&&this.providers)if(/^http(s)?:\/\//i.test(e))e=new this.providers.HttpProvider(e);else if(/^ws(s)?:\/\//i.test(e))e=new this.providers.WebsocketProvider(e);else if(e&&"object"===(0,n.default)(t)&&"function"==typeof t.connect)e=new this.providers.IpcProvider(e,t);else if(e)throw new Error("Can't autodetect provider for \""+e+'"');this.provider&&this.provider.connected&&this.clearSubscriptions(),this.provider=e||null,this.provider&&this.provider.on&&("function"==typeof e.request?this.provider.on("message",(function(e){if(e&&"eth_subscription"===e.type&&e.data){var t=e.data;t.subscription&&r.subscriptions.has(t.subscription)&&r.subscriptions.get(t.subscription).callback(null,t.result)}})):this.provider.on("data",(function(e,t){(e=e||t).method&&e.params&&e.params.subscription&&r.subscriptions.has(e.params.subscription)&&r.subscriptions.get(e.params.subscription).callback(null,e.params.result)})),this.provider.on("connect",(function(){r.subscriptions.forEach((function(e){e.subscription.resubscribe()}))})),this.provider.on("error",(function(e){r.subscriptions.forEach((function(t){t.callback(e)}))})),this.provider.on("disconnect",(function(e){r._isCleanCloseEvent(e)&&!r._isIpcCloseError(e)||(r.subscriptions.forEach((function(t){t.callback(o.ConnectionCloseError(e)),r.subscriptions.delete(t.subscription.id)})),r.provider&&r.provider.emit&&r.provider.emit("error",o.ConnectionCloseError(e))),r.provider&&r.provider.emit&&r.provider.emit("end",e)})))},c.prototype.send=function(e,t){if(t=t||function(){},!this.provider)return t(o.InvalidProvider());var r=e.method,n=e.params,s=a.toPayload(r,n),u=this._jsonrpcResultCallback(t,s);if(this.provider.request)i(this.provider.request.bind(this.provider))({method:r,params:n},t);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)}},c.prototype.sendBatch=function(e,t){if(!this.provider)return t(o.InvalidProvider());var r=a.toBatchPayload(e);this.provider[this.provider.sendAsync?"sendAsync":"send"](r,(function(e,r){return e?t(e):Array.isArray(r)?void t(null,r):t(o.InvalidResponse(r))}))},c.prototype.addSubscription=function(e,t){if(!this.provider.on)throw new Error("The provider doesn't support subscriptions: "+this.provider.constructor.name);this.subscriptions.set(e.id,{callback:t,subscription:e})},c.prototype.removeSubscription=function(e,t){if(this.subscriptions.has(e)){var r=this.subscriptions.get(e).subscription.options.type;return this.subscriptions.delete(e),void this.send({method:r+"_unsubscribe",params:[e]},t)}"function"==typeof t&&t(null)},c.prototype.clearSubscriptions=function(e){try{var t=this;return this.subscriptions.size>0&&this.subscriptions.forEach((function(r,n){e&&"syncing"===r.name||t.removeSubscription(n)})),this.provider.reset&&this.provider.reset(),!0}catch(e){throw new Error("Error while clearing subscriptions: ".concat(e))}},c.prototype._isCleanCloseEvent=function(e){return"object"===(0,n.default)(e)&&([1e3].includes(e.code)||!0===e.wasClean)},c.prototype._isIpcCloseError=function(e){return"boolean"==typeof e&&e},c.prototype._jsonrpcResultCallback=function(e,t){return function(r,n){return n&&n.id&&t.id!==n.id?e(new Error("Wrong response id ".concat(n.id," (expected: ").concat(t.id,") in ").concat(JSON.stringify(t)))):r?e(r):n&&n.error?e(o.ErrorResponse(n)):a.isValidResponse(n)?void e(null,n.result):e(o.InvalidResponse(n))}},e.exports={Manager:c,BatchManager:s}},8155:e=>{"use strict";var t={messageId:Math.floor(Math.random()*Number.MAX_SAFE_INTEGER),toPayload:function(e,r){if(!e)throw new Error('JSONRPC method should be specified for params: "'+JSON.stringify(r)+'"!');return t.messageId===Number.MAX_SAFE_INTEGER?t.messageId=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER):t.messageId++,{jsonrpc:"2.0",id:t.messageId,method:e,params:r||[]}},isValidResponse:function(e){return Array.isArray(e)?e.every(t):t(e);function t(e){return!(!e||e.error||"2.0"!==e.jsonrpc||"number"!=typeof e.id&&"string"!=typeof e.id||void 0===e.result)}},toBatchPayload:function(e){return e.map((function(e){return t.toPayload(e.method,e.params)}))}};e.exports=t},4178:(e,t,r)=>{"use strict";var n=r(2929),i=function(e){this.name=e.name,this.type=e.type,this.subscriptions=e.subscriptions||{},this.requestManager=null};i.prototype.setRequestManager=function(e){this.requestManager=e},i.prototype.attachToObject=function(e){var t=this.buildCall(),r=this.name.split(".");r.length>1?(e[r[0]]=e[r[0]]||{},e[r[0]][r[1]]=t):e[r[0]]=t},i.prototype.buildCall=function(){var e=this;return function(){e.subscriptions[arguments[0]]||console.warn("Subscription "+JSON.stringify(arguments[0])+" doesn't exist. Subscribing anyway.");var t=new n({subscription:e.subscriptions[arguments[0]]||{},requestManager:e.requestManager,type:e.type});return t.subscribe.apply(t,arguments)}},e.exports={subscriptions:i,subscription:n}},2929:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1314).errors,o=r(8008),a=r(1314).formatters;function s(e){return e}function u(e){o.call(this),this.id=null,this.callback=s,this.arguments=null,this.lastBlock=null,this.options={subscription:e.subscription,type:e.type,requestManager:e.requestManager}}u.prototype=Object.create(o.prototype),u.prototype.constructor=u,u.prototype._extractCallback=function(e){if("function"==typeof e[e.length-1])return e.pop()},u.prototype._validateArgs=function(e){var t=this.options.subscription;if(t||(t={}),t.params||(t.params=0),e.length!==t.params)throw i.InvalidNumberOfParams(e.length,t.params,t.subscriptionName)},u.prototype._formatInput=function(e){var t=this.options.subscription;return t&&t.inputFormatter?t.inputFormatter.map((function(t,r){return t?t(e[r]):e[r]})):e},u.prototype._formatOutput=function(e){var t=this.options.subscription;return t&&t.outputFormatter&&e?t.outputFormatter(e):e},u.prototype._toPayload=function(e){var t=[];if(this.callback=this._extractCallback(e)||s,this.subscriptionMethod||(this.subscriptionMethod=e.shift(),this.options.subscription.subscriptionName&&(this.subscriptionMethod=this.options.subscription.subscriptionName)),this.arguments||(this.arguments=this._formatInput(e),this._validateArgs(this.arguments),e=[]),t.push(this.subscriptionMethod),t=t.concat(this.arguments),e.length)throw new Error("Only a callback is allowed as parameter on an already instantiated subscription.");return{method:this.options.type+"_subscribe",params:t}},u.prototype.unsubscribe=function(e){this.options.requestManager.removeSubscription(this.id,e),this.id=null,this.lastBlock=null,this.removeAllListeners()},u.prototype.subscribe=function(){var e=this,t=Array.prototype.slice.call(arguments),r=this._toPayload(t);if(!r)return this;if(!this.options.requestManager.provider)return setTimeout((function(){var t=new Error("No provider set.");e.callback(t,null,e),e.emit("error",t)}),0),this;if(!this.options.requestManager.provider.on)return setTimeout((function(){var t=new Error("The current provider doesn't support subscriptions: "+e.options.requestManager.provider.constructor.name);e.callback(t,null,e),e.emit("error",t)}),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(t,r){t?setTimeout((function(){e.callback(t,null,e),e.emit("error",t)}),0):r.forEach((function(t){var r=e._formatOutput(t);e.callback(null,r,e),e.emit("data",r)}))}))}return"object"===(0,n.default)(r.params[1])&&delete r.params[1].fromBlock,this.options.requestManager.send(r,(function(t,i){!t&&i?(e.id=i,e.method=r.params[0],e.options.requestManager.addSubscription(e,(function(t,r){t?(e.callback(t,!1,e),e.emit("error",t)):(Array.isArray(r)||(r=[r]),r.forEach((function(t){var r=e._formatOutput(t);if(e.lastBlock=r&&"object"===(0,n.default)(r)?r.blockNumber:null,"function"==typeof e.options.subscription.subscriptionHandler)return e.options.subscription.subscriptionHandler.call(e,r);e.emit("data",r),e.callback(null,r,e)})))})),e.emit("connected",i)):setTimeout((function(){e.callback(t,!1,e),e.emit("error",t)}),0)})),this},u.prototype.resubscribe=function(){this.options.requestManager.removeSubscription(this.id),this.id=null,this.subscribe(this.callback)},e.exports=u},9907:(e,t,r)=>{"use strict";var n=r(1314).formatters,i=r(3349),o=r(8161);e.exports=function(e){var t=function(t){var r;return t.property?(e[t.property]||(e[t.property]={}),r=e[t.property]):r=e,t.methods&&t.methods.forEach((function(t){t instanceof i||(t=new i(t)),t.attachToObject(r),t.setRequestManager(e._requestManager)})),e};return t.formatters=n,t.utils=o,t.Method=i,t}},606:(e,t,r)=>{"use strict";var n=r(2033),i=r(9907);e.exports={packageInit:function(e,t){if(t=Array.prototype.slice.call(t),!e)throw new Error('You need to instantiate using the "new" keyword.');Object.defineProperty(e,"currentProvider",{get:function(){return e._provider},set:function(t){return e.setProvider(t)},enumerable:!0,configurable:!0}),t[0]&&t[0]._requestManager?e._requestManager=t[0]._requestManager:e._requestManager=new n.Manager(t[0],t[1]),e.givenProvider=n.Manager.givenProvider,e.providers=n.Manager.providers,e._provider=e._requestManager.provider,e.setProvider||(e.setProvider=function(t,r){return e._requestManager.setProvider(t,r),e._provider=e._requestManager.provider,!0}),e.setRequestManager=function(t){e._requestManager=t,e._provider=t.provider},e.BatchRequest=n.BatchManager.bind(null,e._requestManager),e.extend=i(e)},addProviders:function(e){e.givenProvider=n.Manager.givenProvider,e.providers=n.Manager.providers}}},9901:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(9033).Buffer,o=r(8161),a=r(2914).RQ,s=r(2914)._R,u=new a((function(e,t){return!e.match(/^u?int/)||Array.isArray(t)||t&&"object"===(0,n.default)(t)&&"BN"===t.constructor.name?t:t.toString()}));function c(){}var f=function(){};f.prototype.encodeFunctionSignature=function(e){return("function"==typeof e||"object"===(0,n.default)(e)&&e)&&(e=o._jsonInterfaceMethodToString(e)),o.sha3(e).slice(0,10)},f.prototype.encodeEventSignature=function(e){return("function"==typeof e||"object"===(0,n.default)(e)&&e)&&(e=o._jsonInterfaceMethodToString(e)),o.sha3(e)},f.prototype.encodeParameter=function(e,t){return this.encodeParameters([e],[t])},f.prototype.encodeParameters=function(e,t){var r=this;return e=r.mapTypes(e),t=t.map((function(t,i){var o=e[i];return"object"===(0,n.default)(o)&&o.type&&(o=o.type),t=r.formatParam(o,t),"string"==typeof o&&o.includes("tuple")&&function e(t,n){if("array"===t.name){if(!t.type.match(/\[(\d+)\]/))return n.map((function(r){return e(u._getCoder(s.from(t.type.replace("[]",""))),r)}));var i=parseInt(t.type.match(/\[(\d+)\]/)[1]);if(n.length!==i)throw new Error("Array length does not matches with the given input");return n.map((function(r){return e(u._getCoder(s.from(t.type.replace(/\[\d+\]/,""))),r)}))}t.coders.forEach((function(t,i){"tuple"===t.name?e(t,n[i]):n[i]=r.formatParam(t.name,n[i])}))}(u._getCoder(s.from(o)),t),t})),u.encode(e,t)},f.prototype.mapTypes=function(e){var t=this,r=[];return e.forEach((function(e){if("object"===(0,n.default)(e)&&"function"===e.type&&(e=Object.assign({},e,{type:"bytes24"})),t.isSimplifiedStructFormat(e)){var i=Object.keys(e)[0];r.push(Object.assign(t.mapStructNameAndType(i),{components:t.mapStructToCoderFormat(e[i])}))}else r.push(e)})),r},f.prototype.isSimplifiedStructFormat=function(e){return"object"===(0,n.default)(e)&&void 0===e.components&&void 0===e.name},f.prototype.mapStructNameAndType=function(e){var t="tuple";return e.indexOf("[]")>-1&&(t="tuple[]",e=e.slice(0,-2)),{type:t,name:e}},f.prototype.mapStructToCoderFormat=function(e){var t=this,r=[];return Object.keys(e).forEach((function(i){"object"!==(0,n.default)(e[i])?r.push({name:i,type:e[i]}):r.push(Object.assign(t.mapStructNameAndType(i),{components:t.mapStructToCoderFormat(e[i])}))})),r},f.prototype.formatParam=function(e,t){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(t)||o.isBigNumber(t))return t.toString(10);if(e.match(a)||e.match(u))return t.map((function(t){return r.formatParam(e.replace("[]",""),t)}));var c=e.match(s);if(c){var f=parseInt(c[2]||"256");f/80&&(!t||"0x"===t||"0X"===t))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(e),"0x"+t.replace(/0x/i,""),r),o=new c;return o.__length__=0,e.forEach((function(e,t){var r=i[o.__length__],a="object"===(0,n.default)(e)&&e.type&&"string"===e.type;r="0x"!==r||a||"string"==typeof e&&"string"===e?r:null,o[t]=r,("function"==typeof e||e&&"object"===(0,n.default)(e))&&e.name&&(o[e.name]=r),o.__length__++})),o},f.prototype.decodeLog=function(e,t,r){var n=this;r=Array.isArray(r)?r:[r],t=t||"";var i=[],o=[],a=0;e.forEach((function(e,t){e.indexed?(o[t]=["bool","int","uint","address","fixed","ufixed"].find((function(t){return-1!==e.type.indexOf(t)}))?n.decodeParameter(e.type,r[a]):r[a],a++):i[t]=e}));var s=t,u=s?this.decodeParametersWith(i,s,!0):[],f=new c;return f.__length__=0,e.forEach((function(e,t){f[t]="string"===e.type?"":null,void 0!==u[t]&&(f[t]=u[t]),void 0!==o[t]&&(f[t]=o[t]),e.name&&(f[e.name]=f[t]),f.__length__++})),f};var d=new f;e.exports=d},9819:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(3106)),a=i(r(3355)),s=i(r(775)),u=i(r(4519));function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var f,l="Signer Error: ",h=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(c);try{for(h.s();!(f=h.n()).done;){var p=f.value;l+="".concat(l," ").concat(p,".")}}catch(e){h.e(e)}finally{h.f()}throw new Error(l)}var b="0x"+u.serialize().toString("hex"),y=v.keccak256(b),m={messageHash:"0x"+n.from(u.getMessageToSign(!0)).toString("hex"),v:"0x"+u.v.toString("hex"),r:"0x"+u.r.toString("hex"),s:"0x"+u.s.toString("hex"),rawTransaction:b,transactionHash:y};return r(null,m),m}catch(e){return r(e),Promise.reject(e)}}return e.type=function(e){var t,r=void 0!==e.maxFeePerGas||void 0!==e.maxPriorityFeePerGas;if(void 0!==e.type?t=v.toHex(e.type):void 0===e.type&&r&&(t="0x2"),void 0!==e.gasPrice&&("0x2"===t||r))throw Error("eip-1559 transactions don't support gasPrice");if(("0x1"===t||"0x0"===t)&&r)throw Error("pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas");return r||e.common&&e.common.hardfork&&e.common.hardfork.toLowerCase()===k.London||e.hardfork&&e.hardfork.toLowerCase()===k.London?t="0x2":(e.accessList||e.common&&e.common.hardfork&&e.common.hardfork.toLowerCase()===k.Berlin||e.hardfork&&e.hardfork.toLowerCase()===k.Berlin)&&(t="0x1"),t}(e),void 0!==e.nonce&&void 0!==e.chainId&&(void 0!==e.gasPrice||void 0!==e.maxFeePerGas&&void 0!==e.maxPriorityFeePerGas)&&s?Promise.resolve(c(e)):Promise.all([S(e.common)||S(e.common.customChain.chainId)?S(e.chainId)?i._ethereumCall.getChainId():e.chainId:void 0,S(e.nonce)?i._ethereumCall.getTransactionCount(i.privateKeyToAccount(t).address):e.nonce,S(s)?i._ethereumCall.getNetworkId():1,P(i,e)]).then((function(t){var r=(0,u.default)(t,4),n=r[0],i=r[1],o=r[2],a=r[3];if(S(n)&&S(e.common)&&S(e.common.customChain.chainId)||S(i)||S(o)||S(a))throw new Error('One of the values "chainId", "networkId", "gasPrice", or "nonce" couldn\'t be fetched: '+JSON.stringify(t));return c(f(f(f({},e),S(e.common)||S(e.common.customChain.chainId)?{chainId:n}:{}),{},{nonce:i,networkId:o},a))}))},x.prototype.recoverTransaction=function(e){var t=n.from(e.slice(2),"hex"),r=w.fromSerializedData(t);return v.toChecksumAddress(r.getSenderAddress().toString("hex"))},x.prototype.hashMessage=function(e){var t=v.isHexStrict(e)?e:v.utf8ToHex(e),r=v.hexToBytes(t),i=n.from(r),o="Ethereum Signed Message:\n"+r.length,a=n.from(o),s=n.concat([a,i]);return _.bufferToHex(_.keccak256(s))},x.prototype.sign=function(e,t){if(t.startsWith("0x")||(t="0x"+t),66!==t.length)throw new Error("Private key must be 32 bytes long");var r=this.hashMessage(e),n=p.sign(r,t),i=p.decodeSignature(n);return{message:e,messageHash:r,v:i[0],r:i[1],s:i[2],signature:n}},x.prototype.recover=function(e,t,r){var n=[].slice.apply(arguments);return e&&"object"===(0,a.default)(e)?this.recover(e.messageHash,p.encodeSignature([e.v,e.r,e.s]),!0):(r||(e=this.hashMessage(e)),n.length>=4?(r="boolean"==typeof(r=n.slice(-1)[0])&&!!r,this.recover(e,p.encodeSignature(n.slice(1,4)),r)):p.recover(e,t))},x.prototype.decrypt=function(e,t,r){if("string"!=typeof t)throw new Error("No password given.");var i,s,u=e&&"object"===(0,a.default)(e)?e:JSON.parse(r?e.toLowerCase():e);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(t),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=b.pbkdf2Sync(n.from(t),n.from(s.salt,"hex"),s.c,s.dklen,"sha256")}var c=n.from(u.crypto.ciphertext,"hex");if(v.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(c)))).replace("0x","")!==u.crypto.mac)throw new Error("Key derivation failed - possibly wrong password");var f=b.createDecipheriv(u.crypto.cipher,i.slice(0,16),n.from(u.crypto.cipherparams.iv,"hex")),d="0x"+n.from([].concat((0,o.default)(f.update(c)),(0,o.default)(f.final()))).toString("hex");return this.privateKeyToAccount(d,!0)},x.prototype.encrypt=function(e,t,r){var i,a=this.privateKeyToAccount(e,!0),s=(r=r||{}).salt||b.randomBytes(32),u=r.iv||b.randomBytes(16),c=r.kdf||"scrypt",f={dklen:r.dklen||32,salt:s.toString("hex")};if("pbkdf2"===c)f.c=r.c||262144,f.prf="hmac-sha256",i=b.pbkdf2Sync(n.from(t),n.from(f.salt,"hex"),f.c,f.dklen,"sha256");else{if("scrypt"!==c)throw new Error("Unsupported kdf");f.n=r.n||8192,f.r=r.r||8,f.p=r.p||1,i=y.syncScrypt(n.from(t),n.from(f.salt,"hex"),f.n,f.r,f.p,f.dklen)}var d=b.createCipheriv(r.cipher||"aes-128-ctr",i.slice(0,16),u);if(!d)throw new Error("Unsupported cipher");var l=n.from([].concat((0,o.default)(d.update(n.from(a.privateKey.replace("0x",""),"hex"))),(0,o.default)(d.final()))),h=v.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(l)))).replace("0x","");return{version:3,id:m.v4({random:r.uuid||b.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:c,kdfparams:f,mac:h.toString("hex")}}},O.prototype._findSafeIndex=function(e){return e=e||0,this.hasOwnProperty(e)?this._findSafeIndex(e+1):e},O.prototype._currentIndexes=function(){return Object.keys(this).map((function(e){return parseInt(e)})).filter((function(e){return e<9e20}))},O.prototype.create=function(e,t){for(var r=0;r{"use strict";var n=r(8847),i=n(r(775)),o=n(r(3355));function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t0&&e.topics.length!==n+1&&(t={anonymous:!0,inputs:[]})}var i=t.anonymous?e.topics:e.topics.slice(1);return r.returnValues=b.decodeLog(t.inputs,e.data,i),delete r.returnValues.__length__,r.event=t.name,r.signature=t.anonymous||!e.topics[0]?null:e.topics[0],r.raw={data:r.data,topics:r.topics},delete r.data,delete r.topics,r},y.prototype._encodeMethodABI=function(){var e=this._method.signature,t=this.arguments||[],r=!1,n=this._parent.options.jsonInterface.filter((function(t){return"constructor"===e&&t.type===e||(t.signature===e||t.signature===e.replace("0x","")||t.name===e)&&"function"===t.type})).map((function(e){var n=Array.isArray(e.inputs)?e.inputs.length:0;if(n!==t.length)throw new Error("The number of arguments is not matching the methods required number. You need to pass "+n+" arguments.");return"function"===e.type&&(r=e.signature),Array.isArray(e.inputs)?e.inputs:[]})).map((function(e){return b.encodeParameters(e,t).replace("0x","")}))[0]||"";if("constructor"===e){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},y.prototype._decodeMethodReturn=function(e,t){if(!t)return null;t=t.length>=2?t.slice(2):t;var r=b.decodeParameters(e,t);return 1===r.__length__?r[0]:(delete r.__length__,r)},y.prototype.deploy=function(e,t){if((e=e||{}).arguments=e.arguments||[],!(e=this._getOrSetDefaultOptions(e)).data){if("function"==typeof t)return t(h.ContractMissingDeployDataError());throw h.ContractMissingDeployDataError()}var r=this.options.jsonInterface.find((function(e){return"constructor"===e.type}))||{};return r.signature="constructor",this._createTxObject.apply({method:r,parent:this,deployData:e.data,_ethAccounts:this.constructor._ethAccounts},e.arguments)},y.prototype._generateEventOptions=function(){var e=Array.prototype.slice.call(arguments),t=this._getCallback(e),r="object"===(!!e[e.length-1]&&(0,o.default)(e[e.length-1]))?e.pop():{},n="string"==typeof e[0]?e[0]:"allevents",i="allevents"===n.toLowerCase()?{name:"ALLEVENTS",jsonInterface:this.options.jsonInterface}:this.options.jsonInterface.find((function(e){return"event"===e.type&&(e.name===n||e.signature==="0x"+n.replace("0x",""))}));if(!i)throw h.ContractEventDoesNotExistError(n);if(!f.isAddress(this.options.address))throw h.ContractNoAddressDefinedError();return{params:this._encodeEventABI(i,r),event:i,callback:t}},y.prototype.clone=function(){return new this.constructor(this.options.jsonInterface,this.options.address,this.options)},y.prototype.once=function(e,t,r){var n=Array.prototype.slice.call(arguments);if(!(r=this._getCallback(n)))throw h.ContractOnceRequiresCallbackError();t&&delete t.fromBlock,this._on(e,t,(function(e,t,n){n.unsubscribe(),"function"==typeof r&&r(e,t,n)}))},y.prototype._on=function(){var e=this._generateEventOptions.apply(this,arguments);e.params&&e.params.toBlock&&(delete e.params.toBlock,console.warn("Invalid option: toBlock. Use getPastEvents for specific range.")),this._checkListener("newListener",e.event.name),this._checkListener("removeListener",e.event.name);var t=new d({subscription:{params:1,inputFormatter:[l.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(e.event),subscriptionHandler:function(e){e.removed?this.emit("changed",e):this.emit("data",e),"function"==typeof this.callback&&this.callback(null,e,this)}},type:"eth",requestManager:this._requestManager});return t.subscribe("logs",e.params,e.callback||function(){}),t},y.prototype.getPastEvents=function(){var e=this._generateEventOptions.apply(this,arguments),t=new c({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[l.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(e.event)});t.setRequestManager(this._requestManager);var r=t.buildCall();return t=null,r(e.params,e.callback)},y.prototype._createTxObject=function(){var e=Array.prototype.slice.call(arguments),t={};if("function"===this.method.type&&(t.call=this.parent._executeMethod.bind(t,"call"),t.call.request=this.parent._executeMethod.bind(t,"call",!0)),t.send=this.parent._executeMethod.bind(t,"send"),t.send.request=this.parent._executeMethod.bind(t,"send",!0),t.encodeABI=this.parent._encodeMethodABI.bind(t),t.estimateGas=this.parent._executeMethod.bind(t,"estimate"),t.createAccessList=this.parent._executeMethod.bind(t,"createAccessList"),e&&this.method.inputs&&e.length!==this.method.inputs.length){if(this.nextMethod)return this.nextMethod.apply(null,e);throw h.InvalidNumberOfParams(e.length,this.method.inputs.length,this.method.name)}return t.arguments=e||[],t._method=this.method,t._parent=this.parent,t._ethAccounts=this.parent.constructor._ethAccounts||this._ethAccounts,this.deployData&&(t._deployData=this.deployData),t},y.prototype._processExecuteArguments=function(e,t){var r={};if(r.type=e.shift(),r.callback=this._parent._getCallback(e),"call"!==r.type||!0===e[e.length-1]||"string"!=typeof e[e.length-1]&&!isFinite(e[e.length-1])||(r.defaultBlock=e.pop()),r.options="object"===(!!e[e.length-1]&&(0,o.default)(e[e.length-1]))?e.pop():{},r.generateRequest=!0===e[e.length-1]&&e.pop(),r.options=this._parent._getOrSetDefaultOptions(r.options),r.options.data=this.encodeABI(),!this._deployData&&!f.isAddress(this._parent.options.address))throw h.ContractNoAddressDefinedError();return this._deployData||(r.options.to=this._parent.options.address),r.options.data?r:f._fireError(new Error("Couldn't find a matching contract method, or the number of parameters is wrong."),t.eventEmitter,t.reject,r.callback)},y.prototype._executeMethod=function(){var e=this,t=this._parent._processExecuteArguments.call(this,Array.prototype.slice.call(arguments),r),r=p("send"!==t.type),n=e.constructor._ethAccounts||e._ethAccounts;if(t.generateRequest){var i={params:[l.inputCallFormatter.call(this._parent,t.options)],callback:t.callback};return"call"===t.type?(i.params.push(l.inputDefaultBlockNumberFormatter.call(this._parent,t.defaultBlock)),i.method="eth_call",i.format=this._parent._decodeMethodReturn.bind(null,this._method.outputs)):i.method="eth_sendTransaction",i}switch(t.type){case"createAccessList":if(!f.isAddress(t.options.from))return f._fireError(h.ContractNoFromAddressDefinedError(),r.eventEmitter,r.reject,t.callback);var o=new c({name:"createAccessList",call:"eth_createAccessList",params:2,inputFormatter:[l.inputTransactionFormatter,l.inputDefaultBlockNumberFormatter],requestManager:e._parent._requestManager,accounts:n,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock}).createFunction();return o(t.options,t.callback);case"estimate":var a=new c({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[l.inputCallFormatter],outputFormatter:f.hexToNumber,requestManager:e._parent._requestManager,accounts:n,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock}).createFunction();return a(t.options,t.callback);case"call":var s=new c({name:"call",call:"eth_call",params:2,inputFormatter:[l.inputCallFormatter,l.inputDefaultBlockNumberFormatter],outputFormatter:function(t){return e._parent._decodeMethodReturn(e._method.outputs,t)},requestManager:e._parent._requestManager,accounts:n,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock,handleRevert:e._parent.handleRevert,abiCoder:b}).createFunction();return s(t.options,t.defaultBlock,t.callback);case"send":if(!f.isAddress(t.options.from))return f._fireError(h.ContractNoFromAddressDefinedError(),r.eventEmitter,r.reject,t.callback);if("boolean"==typeof this._method.payable&&!this._method.payable&&t.options.value&&t.options.value>0)return f._fireError(new Error("Can not send value to non-payable contract method or constructor"),r.eventEmitter,r.reject,t.callback);var u={receiptFormatter:function(t){if(Array.isArray(t.logs)){var r=t.logs.map((function(t){return e._parent._decodeEventABI.call({name:"ALLEVENTS",jsonInterface:e._parent.options.jsonInterface},t)}));t.events={};var n=0;r.forEach((function(e){e.event?t.events[e.event]?Array.isArray(t.events[e.event])?t.events[e.event].push(e):t.events[e.event]=[t.events[e.event],e]:t.events[e.event]=e:(t.events[n]=e,n++)})),delete t.logs}return t},contractDeployFormatter:function(t){var r=e._parent.clone();return r.options.address=t.contractAddress,r}},d=new c({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[l.inputTransactionFormatter],requestManager:e._parent._requestManager,accounts:e.constructor._ethAccounts||e._ethAccounts,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock,transactionBlockTimeout:e._parent.transactionBlockTimeout,transactionConfirmationBlocks:e._parent.transactionConfirmationBlocks,transactionPollingTimeout:e._parent.transactionPollingTimeout,transactionPollingInterval:e._parent.transactionPollingInterval,defaultCommon:e._parent.defaultCommon,defaultChain:e._parent.defaultChain,defaultHardfork:e._parent.defaultHardfork,handleRevert:e._parent.handleRevert,extraFormatters:u,abiCoder:b}).createFunction();return d(t.options,t.callback);default:throw new Error('Method "'+t.type+'" not implemented.')}},e.exports=y},6764:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(2247)),o=n(r(5698)),a=r(5160),s=r(1314).formatters,u=r(8161),c=r(1841),f=r(2867),d=r(2689);function l(e){this.eth=e;var t=null;this._detectedAddress=null,this._lastSyncCheck=null,Object.defineProperty(this,"registry",{get:function(){return new c(this)},enumerable:!0}),Object.defineProperty(this,"resolverMethodHandler",{get:function(){return new f(this.registry)},enumerable:!0}),Object.defineProperty(this,"registryAddress",{get:function(){return t},set:function(e){t=null!==e?s.inputAddressFormatter(e):e},enumerable:!0})}l.prototype.supportsInterface=function(e,t,r){return this.getResolver(e).then((function(e){return u.isHexStrict(t)||(t=u.sha3(t).slice(0,10)),e.methods.supportsInterface(t).call(r)})).catch((function(e){if("function"!=typeof r)throw e;r(e,null)}))},l.prototype.resolver=function(e,t){return this.registry.resolver(e,t)},l.prototype.getResolver=function(e,t){return this.registry.getResolver(e,t)},l.prototype.setResolver=function(e,t,r,n){return this.registry.setResolver(e,t,r,n)},l.prototype.setRecord=function(e,t,r,n,i,o){return this.registry.setRecord(e,t,r,n,i,o)},l.prototype.setSubnodeRecord=function(e,t,r,n,i,o,a){return this.registry.setSubnodeRecord(e,t,r,n,i,o,a)},l.prototype.setApprovalForAll=function(e,t,r,n){return this.registry.setApprovalForAll(e,t,r,n)},l.prototype.isApprovedForAll=function(e,t,r){return this.registry.isApprovedForAll(e,t,r)},l.prototype.recordExists=function(e,t){return this.registry.recordExists(e,t)},l.prototype.setSubnodeOwner=function(e,t,r,n,i){return this.registry.setSubnodeOwner(e,t,r,n,i)},l.prototype.getTTL=function(e,t){return this.registry.getTTL(e,t)},l.prototype.setTTL=function(e,t,r,n){return this.registry.setTTL(e,t,r,n)},l.prototype.getOwner=function(e,t){return this.registry.getOwner(e,t)},l.prototype.setOwner=function(e,t,r,n){return this.registry.setOwner(e,t,r,n)},l.prototype.getAddress=function(e,t){return this.resolverMethodHandler.method(e,"addr",[]).call(t)},l.prototype.setAddress=function(e,t,r,n){return this.resolverMethodHandler.method(e,"setAddr",[t]).send(r,n)},l.prototype.getPubkey=function(e,t){return this.resolverMethodHandler.method(e,"pubkey",[],null,t).call(t)},l.prototype.setPubkey=function(e,t,r,n,i){return this.resolverMethodHandler.method(e,"setPubkey",[t,r]).send(n,i)},l.prototype.getContent=function(e,t){return this.resolverMethodHandler.method(e,"content",[]).call(t)},l.prototype.setContent=function(e,t,r,n){return this.resolverMethodHandler.method(e,"setContent",[t]).send(r,n)},l.prototype.getContenthash=function(e,t){return this.resolverMethodHandler.method(e,"contenthash",[],d.decode).call(t)},l.prototype.setContenthash=function(e,t,r,n){var i;try{i=d.encode(t)}catch(e){var o=new Error("Could not encode "+t+". See docs for supported hash protocols.");if("function"==typeof n)return void n(o,null);throw o}return this.resolverMethodHandler.method(e,"setContenthash",[i]).send(r,n)},l.prototype.getMultihash=function(e,t){return this.resolverMethodHandler.method(e,"multihash",[]).call(t)},l.prototype.setMultihash=function(e,t,r,n){return this.resolverMethodHandler.method(e,"multihash",[t]).send(r,n)},l.prototype.checkNetwork=(0,o.default)(i.default.mark((function e(){var t,r,n,o,s;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=new Date/1e3,this._lastSyncCheck&&!(t-this._lastSyncCheck>3600)){e.next=9;break}return e.next=4,this.eth.getBlock("latest");case 4:if(r=e.sent,!((n=t-r.timestamp)>3600)){e.next=8;break}throw new Error("Network not synced; last block was "+n+" seconds ago");case 8:this._lastSyncCheck=t;case 9:if(!this.registryAddress){e.next=11;break}return e.abrupt("return",this.registryAddress);case 11:if(this._detectedAddress){e.next=20;break}return e.next=14,this.eth.net.getNetworkType();case 14:if(o=e.sent,void 0!==(s=a.addresses[o])){e.next=18;break}throw new Error("ENS is not supported on network "+o);case 18:return this._detectedAddress=s,e.abrupt("return",this._detectedAddress);case 20:return e.abrupt("return",this._detectedAddress);case 21:case"end":return e.stop()}}),e,this)}))),e.exports=l},5160:e=>{"use strict";e.exports={addresses:{main:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",ropsten:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",rinkeby:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",goerli:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},interfaceIds:{addr:"0x3b3b57de",setAddr:"0x3b3b57de",pubkey:"0xc8690233",setPubkey:"0xc8690233",contenthash:"0xbc1c58d1",setContenthash:"0xbc1c58d1",content:"0xd8389dc5",setContent:"0xd8389dc5"}}},1841:(e,t,r)=>{"use strict";var n=r(8164),i=r(1006),o=r(282),a=r(1314).formatters,s=r(8161),u=r(3205),c=r(8384);function f(e){var t=this;this.ens=e,this.contract=e.checkNetwork().then((function(e){var r=new n(u,e);return r.setProvider(t.ens.eth.currentProvider),r}))}f.prototype.owner=function(e,t){return console.warn('Deprecated: Please use the "getOwner" method instead of "owner".'),this.getOwner(e,t)},f.prototype.getOwner=function(e,t){var r=new o(!0);return this.contract.then((function(t){return t.methods.owner(i.hash(e)).call()})).then((function(e){"function"!=typeof t?r.resolve(e):t(e,e)})).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},f.prototype.setOwner=function(e,t,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setOwner(i.hash(e),a.inputAddressFormatter(t)).send(r)})).then((function(e){"function"!=typeof n?s.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?s.reject(e):n(e,null)})),s.eventEmitter},f.prototype.getTTL=function(e,t){var r=new o(!0);return this.contract.then((function(t){return t.methods.ttl(i.hash(e)).call()})).then((function(e){"function"!=typeof t?r.resolve(e):t(e,e)})).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},f.prototype.setTTL=function(e,t,r,n){var a=new o(!0);return this.contract.then((function(n){return n.methods.setTTL(i.hash(e),t).send(r)})).then((function(e){"function"!=typeof n?a.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?a.reject(e):n(e,null)})),a.eventEmitter},f.prototype.setSubnodeOwner=function(e,t,r,n,u){var c=new o(!0);return s.isHexStrict(t)||(t=s.sha3(t)),this.contract.then((function(o){return o.methods.setSubnodeOwner(i.hash(e),t,a.inputAddressFormatter(r)).send(n)})).then((function(e){"function"!=typeof u?c.resolve(e):u(e,e)})).catch((function(e){"function"!=typeof u?c.reject(e):u(e,null)})),c.eventEmitter},f.prototype.setRecord=function(e,t,r,n,s,u){var c=new o(!0);return this.contract.then((function(o){return o.methods.setRecord(i.hash(e),a.inputAddressFormatter(t),a.inputAddressFormatter(r),n).send(s)})).then((function(e){"function"!=typeof u?c.resolve(e):u(e,e)})).catch((function(e){"function"!=typeof u?c.reject(e):u(e,null)})),c.eventEmitter},f.prototype.setSubnodeRecord=function(e,t,r,n,u,c,f){var d=new o(!0);return s.isHexStrict(t)||(t=s.sha3(t)),this.contract.then((function(o){return o.methods.setSubnodeRecord(i.hash(e),t,a.inputAddressFormatter(r),a.inputAddressFormatter(n),u).send(c)})).then((function(e){"function"!=typeof f?d.resolve(e):f(e,e)})).catch((function(e){"function"!=typeof f?d.reject(e):f(e,null)})),d.eventEmitter},f.prototype.setApprovalForAll=function(e,t,r,n){var i=new o(!0);return this.contract.then((function(n){return n.methods.setApprovalForAll(a.inputAddressFormatter(e),t).send(r)})).then((function(e){"function"!=typeof n?i.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?i.reject(e):n(e,null)})),i.eventEmitter},f.prototype.isApprovedForAll=function(e,t,r){var n=new o(!0);return this.contract.then((function(r){return r.methods.isApprovedForAll(a.inputAddressFormatter(e),a.inputAddressFormatter(t)).call()})).then((function(e){"function"!=typeof r?n.resolve(e):r(e,e)})).catch((function(e){"function"!=typeof r?n.reject(e):r(e,null)})),n.eventEmitter},f.prototype.recordExists=function(e,t){var r=new o(!0);return this.contract.then((function(t){return t.methods.recordExists(i.hash(e)).call()})).then((function(e){"function"!=typeof t?r.resolve(e):t(e,e)})).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},f.prototype.resolver=function(e,t){return console.warn('Deprecated: Please use the "getResolver" method instead of "resolver".'),this.getResolver(e,t)},f.prototype.getResolver=function(e,t){var r=this;return this.contract.then((function(t){return t.methods.resolver(i.hash(e)).call()})).then((function(e){var i=new n(c,e);if(i.setProvider(r.ens.eth.currentProvider),"function"!=typeof t)return i;t(i,i)})).catch((function(e){if("function"!=typeof t)throw e;t(e,null)}))},f.prototype.setResolver=function(e,t,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setResolver(i.hash(e),a.inputAddressFormatter(t)).send(r)})).then((function(e){"function"!=typeof n?s.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?s.reject(e):n(e,null)})),s.eventEmitter},e.exports=f},715:(e,t,r)=>{"use strict";var n=r(6764);e.exports=n},2867:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(2247)),o=n(r(5698)),a=r(282),s=r(1006),u=r(1314).errors,c=r(5160).interfaceIds;function f(e){this.registry=e}f.prototype.method=function(e,t,r,n,i){return{call:this.call.bind({ensName:e,methodName:t,methodArguments:r,callback:i,parent:this,outputFormatter:n}),send:this.send.bind({ensName:e,methodName:t,methodArguments:r,callback:i,parent:this})}},f.prototype.call=function(e){var t=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,t.parent.checkInterfaceSupport(a,t.methodName);case 2:t.parent.handleCall(r,a.methods[t.methodName],n,s,e);case 3:case"end":return i.stop()}}),o)})));return function(e){return a.apply(this,arguments)}}()).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},f.prototype.send=function(e,t){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,e,t);case 3:case"end":return i.stop()}}),o)})));return function(e){return a.apply(this,arguments)}}()).catch((function(e){"function"!=typeof t?n.reject(e):t(e,null)})),n.eventEmitter},f.prototype.handleCall=function(e,t,r,n,i){return t.apply(this,r).call().then((function(t){n&&(t=n(t)),"function"!=typeof i?e.resolve(t):i(t,t)})).catch((function(t){"function"!=typeof i?e.reject(t):i(t,null)})),e},f.prototype.handleSend=function(e,t,r,n,i){return t.apply(this,r).send(n).on("sending",(function(){e.eventEmitter.emit("sending")})).on("sent",(function(){e.eventEmitter.emit("sent")})).on("transactionHash",(function(t){e.eventEmitter.emit("transactionHash",t)})).on("confirmation",(function(t,r){e.eventEmitter.emit("confirmation",t,r)})).on("receipt",(function(t){e.eventEmitter.emit("receipt",t),e.resolve(t),"function"==typeof i&&i(t,t)})).on("error",(function(t){e.eventEmitter.emit("error",t),"function"!=typeof i?e.reject(t):i(t,null)})),e},f.prototype.prepareArguments=function(e,t){var r=s.hash(e);return t.length>0?(t.unshift(r),t):[r]},f.prototype.checkInterfaceSupport=function(){var e=(0,o.default)(i.default.mark((function e(t,r){var n;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c[r]){e.next=2;break}return e.abrupt("return");case 2:return n=!1,e.prev=3,e.next=6,t.methods.supportsInterface(c[r]).call();case 6:n=e.sent,e.next=12;break;case 9:e.prev=9,e.t0=e.catch(3),console.warn('Could not verify interface of resolver contract at "'+t.options.address+'". ');case 12:if(n){e.next=14;break}throw u.ResolverMethodMissingError(t.options.address,r);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,r){return e.apply(this,arguments)}}(),e.exports=f},2689:(e,t,r)=>{"use strict";var n=r(4308);e.exports={decode:function(e){var t=null,r=null,i=null;if(e&&e.error)return{protocolType:null,decoded:e.error};if(e)try{t=n.decode(e);var o=n.getCodec(e);"ipfs-ns"===o?r="ipfs":"swarm-ns"===o?r="bzz":"onion"===o?r="onion":"onion3"===o?r="onion3":t=e}catch(e){i=e.message}return{protocolType:r,decoded:t,error:i}},encode:function(e){var t,r,i=!1;if(e){var o=e.match(/^(ipfs|bzz|onion|onion3):\/\/(.*)/)||e.match(/\/(ipfs)\/(.*)/);o&&(r=o[1],t=o[2]);try{if("ipfs"===r)t.length>=4&&(i="0x"+n.fromIpfs(t));else if("bzz"===r)t.length>=4&&(i="0x"+n.fromSwarm(t));else if("onion"===r)16===t.length&&(i="0x"+n.encode("onion",t));else{if("onion3"!==r)throw new Error("Could not encode content hash: unsupported content type");56===t.length&&(i="0x"+n.encode("onion3",t))}}catch(e){throw e}}return i}}},3205:e=>{"use strict";e.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"}]},8384:e=>{"use strict";e.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"}]},6:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=r(8161),s=r(1734),u=function(e){var t="A".charCodeAt(0),r="Z".charCodeAt(0);return(e=(e=e.toUpperCase()).slice(4)+e.slice(0,4)).split("").map((function(e){var n=e.charCodeAt(0);return n>=t&&n<=r?n-t+10:e})).join("")},c=function(e){for(var t,r=e;r.length>2;)t=r.slice(0,9),r=parseInt(t,10)%97+r.slice(t.length);return parseInt(r,10)%97},f=function(){function e(t){(0,i.default)(this,e),this._iban=t}return(0,o.default)(e,[{key:"isValid",value:function(){return/^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30,31})$/.test(this._iban)&&1===c(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.slice(2,4)}},{key:"institution",value:function(){return this.isIndirect()?this._iban.slice(7,11):""}},{key:"client",value:function(){return this.isIndirect()?this._iban.slice(11):""}},{key:"toAddress",value:function(){if(this.isDirect()){var e=this._iban.slice(4),t=new s(e,36);return a.toChecksumAddress(t.toString(16,20))}return""}},{key:"toString",value:function(){return this._iban}}],[{key:"toAddress",value:function(t){if(!(t=new e(t)).isDirect())throw new Error("IBAN is indirect and can't be converted");return t.toAddress()}},{key:"toIban",value:function(t){return e.fromAddress(t).toString()}},{key:"fromAddress",value:function(t){if(!a.isAddress(t))throw new Error("Provided address is not a valid address: "+t);t=t.replace("0x","").replace("0X","");var r=function(e,t){for(var r=e;r.length<30;)r="0"+r;return r}(new s(t,16).toString(36));return e.fromBban(r.toUpperCase())}},{key:"fromBban",value:function(t){return new e("XE"+("0"+(98-c(u("XE00"+t)))).slice(-2)+t)}},{key:"createIndirect",value:function(t){return e.fromBban("ETH"+t.institution+t.identifier)}},{key:"isValid",value:function(t){return new e(t).isValid()}}]),e}();e.exports=f},6306:(e,t,r)=>{"use strict";var n=r(606),i=r(3349),o=r(8161),a=r(473),s=r(1314).formatters,u=function(){var e=this;n.packageInit(this,arguments),this.net=new a(this);var t=null,r="latest";Object.defineProperty(this,"defaultAccount",{get:function(){return t},set:function(e){return e&&(t=o.toChecksumAddress(s.inputAddressFormatter(e))),u.forEach((function(e){e.defaultAccount=t})),e},enumerable:!0}),Object.defineProperty(this,"defaultBlock",{get:function(){return r},set:function(e){return r=e,u.forEach((function(e){e.defaultBlock=r})),e},enumerable:!0});var u=[new i({name:"getAccounts",call:"personal_listAccounts",params:0,outputFormatter:o.toChecksumAddress}),new i({name:"newAccount",call:"personal_newAccount",params:1,inputFormatter:[null],outputFormatter:o.toChecksumAddress}),new i({name:"unlockAccount",call:"personal_unlockAccount",params:3,inputFormatter:[s.inputAddressFormatter,null,null]}),new i({name:"lockAccount",call:"personal_lockAccount",params:1,inputFormatter:[s.inputAddressFormatter]}),new i({name:"importRawKey",call:"personal_importRawKey",params:2}),new i({name:"sendTransaction",call:"personal_sendTransaction",params:2,inputFormatter:[s.inputTransactionFormatter,null]}),new i({name:"signTransaction",call:"personal_signTransaction",params:2,inputFormatter:[s.inputTransactionFormatter,null]}),new i({name:"sign",call:"personal_sign",params:3,inputFormatter:[s.inputSignFormatter,s.inputAddressFormatter,null]}),new i({name:"ecRecover",call:"personal_ecRecover",params:2,inputFormatter:[s.inputSignFormatter,null]})];u.forEach((function(t){t.attachToObject(e),t.setRequestManager(e._requestManager),t.defaultBlock=e.defaultBlock,t.defaultAccount=e.defaultAccount}))};n.addProviders(u),e.exports=u},8130:e=>{"use strict";e.exports=function(e){var t,r=this;return this.net.getId().then((function(e){return t=e,r.getBlock(0)})).then((function(r){var n="private";return"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"===r.hash&&1===t&&(n="main"),"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d"===r.hash&&3===t&&(n="ropsten"),"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177"===r.hash&&4===t&&(n="rinkeby"),"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a"===r.hash&&5===t&&(n="goerli"),"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9"===r.hash&&42===t&&(n="kovan"),"function"==typeof e&&e(null,n),n})).catch((function(t){if("function"!=typeof e)throw t;e(t)}))}},6748:(e,t,r)=>{"use strict";var n=r(606),i=r(1314),o=r(4178).subscriptions,a=r(3349),s=r(8161),u=r(473),c=r(715),f=r(6306),d=r(8164),l=r(6),h=r(9819),p=r(9901),b=r(8130),y=i.formatters,m=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getBlockByHash":"eth_getBlockByNumber"},v=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getTransactionByBlockHashAndIndex":"eth_getTransactionByBlockNumberAndIndex"},g=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getUncleByBlockHashAndIndex":"eth_getUncleByBlockNumberAndIndex"},w=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getBlockTransactionCountByHash":"eth_getBlockTransactionCountByNumber"},A=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getUncleCountByBlockHash":"eth_getUncleCountByBlockNumber"},k=function(){var e=this;n.packageInit(this,arguments);var t=this.setRequestManager;this.setRequestManager=function(r){return t(r),e.net.setRequestManager(r),e.personal.setRequestManager(r),e.accounts.setRequestManager(r),e.Contract._requestManager=e._requestManager,e.Contract.currentProvider=e._provider,!0};var r=this.setProvider;this.setProvider=function(){r.apply(e,arguments),e.setRequestManager(e._requestManager),e.ens._detectedAddress=null,e.ens._lastSyncCheck=null};var i,k,_,S=!1,E=null,x="latest",P=50,O=24,B=750,T=1e3,C=10,I=100;Object.defineProperty(this,"handleRevert",{get:function(){return S},set:function(t){S=t,e.Contract.handleRevert=S,R.forEach((function(e){e.handleRevert=S}))},enumerable:!0}),Object.defineProperty(this,"defaultCommon",{get:function(){return _},set:function(t){_=t,e.Contract.defaultCommon=_,R.forEach((function(e){e.defaultCommon=_}))},enumerable:!0}),Object.defineProperty(this,"defaultHardfork",{get:function(){return k},set:function(t){k=t,e.Contract.defaultHardfork=k,R.forEach((function(e){e.defaultHardfork=k}))},enumerable:!0}),Object.defineProperty(this,"defaultChain",{get:function(){return i},set:function(t){i=t,e.Contract.defaultChain=i,R.forEach((function(e){e.defaultChain=i}))},enumerable:!0}),Object.defineProperty(this,"transactionPollingTimeout",{get:function(){return B},set:function(t){B=t,e.Contract.transactionPollingTimeout=B,R.forEach((function(e){e.transactionPollingTimeout=B}))},enumerable:!0}),Object.defineProperty(this,"transactionPollingInterval",{get:function(){return T},set:function(t){T=t,e.Contract.transactionPollingInterval=T,R.forEach((function(e){e.transactionPollingInterval=T}))},enumerable:!0}),Object.defineProperty(this,"transactionConfirmationBlocks",{get:function(){return O},set:function(t){O=t,e.Contract.transactionConfirmationBlocks=O,R.forEach((function(e){e.transactionConfirmationBlocks=O}))},enumerable:!0}),Object.defineProperty(this,"transactionBlockTimeout",{get:function(){return P},set:function(t){P=t,e.Contract.transactionBlockTimeout=P,R.forEach((function(e){e.transactionBlockTimeout=P}))},enumerable:!0}),Object.defineProperty(this,"blockHeaderTimeout",{get:function(){return C},set:function(t){C=t,e.Contract.blockHeaderTimeout=C,R.forEach((function(e){e.blockHeaderTimeout=C}))},enumerable:!0}),Object.defineProperty(this,"defaultAccount",{get:function(){return E},set:function(t){return t&&(E=s.toChecksumAddress(y.inputAddressFormatter(t))),e.Contract.defaultAccount=E,e.personal.defaultAccount=E,R.forEach((function(e){e.defaultAccount=E})),t},enumerable:!0}),Object.defineProperty(this,"defaultBlock",{get:function(){return x},set:function(t){return x=t,e.Contract.defaultBlock=x,e.personal.defaultBlock=x,R.forEach((function(e){e.defaultBlock=x})),t},enumerable:!0}),Object.defineProperty(this,"maxListenersWarningThreshold",{get:function(){return I},set:function(t){e.currentProvider&&e.currentProvider.setMaxListeners&&(I=t,e.currentProvider.setMaxListeners(t))},enumerable:!0}),this.clearSubscriptions=e._requestManager.clearSubscriptions.bind(e._requestManager),this.removeSubscriptionById=e._requestManager.removeSubscription.bind(e._requestManager),this.net=new u(this),this.net.getNetworkType=b.bind(this),this.accounts=new h(this),this.personal=new f(this),this.personal.defaultAccount=this.defaultAccount,this.maxListenersWarningThreshold=I;var M=this,U=function(){d.apply(this,arguments);var e=this,t=M.setProvider;M.setProvider=function(){t.apply(M,arguments),n.packageInit(e,[M])}};U.setProvider=function(){d.setProvider.apply(this,arguments)},U.prototype=Object.create(d.prototype),U.prototype.constructor=U,this.Contract=U,this.Contract.defaultAccount=this.defaultAccount,this.Contract.defaultBlock=this.defaultBlock,this.Contract.transactionBlockTimeout=this.transactionBlockTimeout,this.Contract.transactionConfirmationBlocks=this.transactionConfirmationBlocks,this.Contract.transactionPollingTimeout=this.transactionPollingTimeout,this.Contract.transactionPollingInterval=this.transactionPollingInterval,this.Contract.blockHeaderTimeout=this.blockHeaderTimeout,this.Contract.handleRevert=this.handleRevert,this.Contract._requestManager=this._requestManager,this.Contract._ethAccounts=this.accounts,this.Contract.currentProvider=this._requestManager.provider,this.Iban=l,this.abi=p,this.ens=new c(this);var R=[new a({name:"getNodeInfo",call:"web3_clientVersion"}),new a({name:"getProtocolVersion",call:"eth_protocolVersion",params:0}),new a({name:"getCoinbase",call:"eth_coinbase",params:0}),new a({name:"isMining",call:"eth_mining",params:0}),new a({name:"getHashrate",call:"eth_hashrate",params:0,outputFormatter:s.hexToNumber}),new a({name:"isSyncing",call:"eth_syncing",params:0,outputFormatter:y.outputSyncingFormatter}),new a({name:"getGasPrice",call:"eth_gasPrice",params:0,outputFormatter:y.outputBigNumberFormatter}),new a({name:"getFeeHistory",call:"eth_feeHistory",params:3,inputFormatter:[s.numberToHex,y.inputBlockNumberFormatter,null]}),new a({name:"getAccounts",call:"eth_accounts",params:0,outputFormatter:s.toChecksumAddress}),new a({name:"getBlockNumber",call:"eth_blockNumber",params:0,outputFormatter:s.hexToNumber}),new a({name:"getBalance",call:"eth_getBalance",params:2,inputFormatter:[y.inputAddressFormatter,y.inputDefaultBlockNumberFormatter],outputFormatter:y.outputBigNumberFormatter}),new a({name:"getStorageAt",call:"eth_getStorageAt",params:3,inputFormatter:[y.inputAddressFormatter,s.numberToHex,y.inputDefaultBlockNumberFormatter]}),new a({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[y.inputAddressFormatter,y.inputDefaultBlockNumberFormatter]}),new a({name:"getBlock",call:m,params:2,inputFormatter:[y.inputBlockNumberFormatter,function(e){return!!e}],outputFormatter:y.outputBlockFormatter}),new a({name:"getUncle",call:g,params:2,inputFormatter:[y.inputBlockNumberFormatter,s.numberToHex],outputFormatter:y.outputBlockFormatter}),new a({name:"getBlockTransactionCount",call:w,params:1,inputFormatter:[y.inputBlockNumberFormatter],outputFormatter:s.hexToNumber}),new a({name:"getBlockUncleCount",call:A,params:1,inputFormatter:[y.inputBlockNumberFormatter],outputFormatter:s.hexToNumber}),new a({name:"getTransaction",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:y.outputTransactionFormatter}),new a({name:"getTransactionFromBlock",call:v,params:2,inputFormatter:[y.inputBlockNumberFormatter,s.numberToHex],outputFormatter:y.outputTransactionFormatter}),new a({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:y.outputTransactionReceiptFormatter}),new a({name:"getTransactionCount",call:"eth_getTransactionCount",params:2,inputFormatter:[y.inputAddressFormatter,y.inputDefaultBlockNumberFormatter],outputFormatter:s.hexToNumber}),new a({name:"sendSignedTransaction",call:"eth_sendRawTransaction",params:1,inputFormatter:[null],abiCoder:p}),new a({name:"signTransaction",call:"eth_signTransaction",params:1,inputFormatter:[y.inputTransactionFormatter]}),new a({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[y.inputTransactionFormatter],abiCoder:p}),new a({name:"sign",call:"eth_sign",params:2,inputFormatter:[y.inputSignFormatter,y.inputAddressFormatter],transformPayload:function(e){return e.params.reverse(),e}}),new a({name:"call",call:"eth_call",params:2,inputFormatter:[y.inputCallFormatter,y.inputDefaultBlockNumberFormatter],abiCoder:p}),new a({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[y.inputCallFormatter],outputFormatter:s.hexToNumber}),new a({name:"submitWork",call:"eth_submitWork",params:3}),new a({name:"getWork",call:"eth_getWork",params:0}),new a({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[y.inputLogFormatter],outputFormatter:y.outputLogFormatter}),new a({name:"getChainId",call:"eth_chainId",params:0,outputFormatter:s.hexToNumber}),new a({name:"requestAccounts",call:"eth_requestAccounts",params:0,outputFormatter:s.toChecksumAddress}),new a({name:"getProof",call:"eth_getProof",params:3,inputFormatter:[y.inputAddressFormatter,y.inputStorageKeysFormatter,y.inputDefaultBlockNumberFormatter],outputFormatter:y.outputProofFormatter}),new a({name:"getPendingTransactions",call:"eth_pendingTransactions",params:0,outputFormatter:y.outputTransactionFormatter}),new a({name:"createAccessList",call:"eth_createAccessList",params:2,inputFormatter:[y.inputTransactionFormatter,y.inputDefaultBlockNumberFormatter]}),new o({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:y.outputBlockFormatter},pendingTransactions:{subscriptionName:"newPendingTransactions",params:0},logs:{params:1,inputFormatter:[y.inputLogFormatter],outputFormatter:y.outputLogFormatter,subscriptionHandler:function(e){e.removed?this.emit("changed",e):this.emit("data",e),"function"==typeof this.callback&&this.callback(null,e,this)}},syncing:{params:0,outputFormatter:y.outputSyncingFormatter,subscriptionHandler:function(e){var t=this;!0!==this._isSyncing?(this._isSyncing=!0,this.emit("changed",t._isSyncing),"function"==typeof this.callback&&this.callback(null,t._isSyncing,this),setTimeout((function(){t.emit("data",e),"function"==typeof t.callback&&t.callback(null,e,t)}),0)):(this.emit("data",e),"function"==typeof t.callback&&this.callback(null,e,this),clearTimeout(this._isSyncingTimeout),this._isSyncingTimeout=setTimeout((function(){e.currentBlock>e.highestBlock-200&&(t._isSyncing=!1,t.emit("changed",t._isSyncing),"function"==typeof t.callback&&t.callback(null,t._isSyncing,t))}),500))}}}})];R.forEach((function(t){t.attachToObject(e),t.setRequestManager(e._requestManager,e.accounts),t.defaultBlock=e.defaultBlock,t.defaultAccount=e.defaultAccount,t.transactionBlockTimeout=e.transactionBlockTimeout,t.transactionConfirmationBlocks=e.transactionConfirmationBlocks,t.transactionPollingTimeout=e.transactionPollingTimeout,t.transactionPollingInterval=e.transactionPollingInterval,t.handleRevert=e.handleRevert}))};n.addProviders(k),e.exports=k},473:(e,t,r)=>{"use strict";var n=r(606),i=r(3349),o=r(8161),a=function(){var e=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(t){t.attachToObject(e),t.setRequestManager(e._requestManager)}))};n.addProviders(a),e.exports=a},4565:(e,t,r)=>{"use strict";var n=r(1314).errors,i=r(9519),o=r(912);r(2439),r(4258).polyfill(),void 0===r.g||r.g.AbortController||r(3368);var a=function(e,t){t=t||{},this.withCredentials=t.withCredentials,this.timeout=t.timeout||0,this.headers=t.headers,this.agent=t.agent,this.connected=!1;var r=!1!==t.keepAlive;this.host=e||"http://localhost:8545",this.agent||("https"===this.host.substring(0,5)?this.httpsAgent=new o.Agent({keepAlive:r}):this.httpAgent=new i.Agent({keepAlive:r}))};a.prototype.send=function(e,t){var r,i={method:"POST",body:JSON.stringify(e)},o={};if("undefined"!=typeof AbortController?r=new AbortController:"undefined"!=typeof window&&void 0!==window.AbortController&&(r=new window.AbortController),void 0!==r&&(i.signal=r.signal),"undefined"==typeof XMLHttpRequest){var a={httpsAgent:this.httpsAgent,httpAgent:this.httpAgent};this.agent&&(a.httpsAgent=this.agent.https,a.httpAgent=this.agent.http),"https"===this.host.substring(0,5)?i.agent=a.httpsAgent:i.agent=a.httpAgent}this.headers&&this.headers.forEach((function(e){o[e.name]=e.value})),o["Content-Type"]||(o["Content-Type"]="application/json"),this.withCredentials?i.credentials="include":i.credentials="omit",i.headers=o,this.timeout>0&&void 0!==r&&(this.timeoutId=setTimeout((function(){r.abort()}),this.timeout)),fetch(this.host,i).then(function(e){void 0!==this.timeoutId&&clearTimeout(this.timeoutId),e.json().then((function(e){t(null,e)})).catch((function(r){t(n.InvalidResponse(e))}))}.bind(this)).catch(function(e){void 0!==this.timeoutId&&clearTimeout(this.timeoutId),"AbortError"===e.name&&t(n.ConnectionTimeout(this.timeout)),t(n.InvalidConnection(this.host))}.bind(this))},a.prototype.disconnect=function(){},a.prototype.supportsSubscriptions=function(){return!1},e.exports=a},2683:(e,t,r)=>{"use strict";var n=r(1314).errors,i=r(3150),o=function(e,t){var r=this;this.responseCallbacks={},this.notificationCallbacks=[],this.path=e,this.connected=!1,this.connection=t.connect({path:this.path}),this.addDefaultEvents();var n=function(e){var t=null;Array.isArray(e)?e.forEach((function(e){r.responseCallbacks[e.id]&&(t=e.id)})):t=e.id,t||-1===e.method.indexOf("_subscription")?r.responseCallbacks[t]&&(r.responseCallbacks[t](null,e),delete r.responseCallbacks[t]):r.notificationCallbacks.forEach((function(t){"function"==typeof t&&t(e)}))};"Socket"===t.constructor.name?i(this.connection).done(n):this.connection.on("data",(function(e){r._parseResponse(e.toString()).forEach(n)}))};o.prototype.addDefaultEvents=function(){var e=this;this.connection.on("connect",(function(){e.connected=!0})),this.connection.on("close",(function(){e.connected=!1})),this.connection.on("error",(function(){e._timeout()})),this.connection.on("end",(function(){e._timeout()})),this.connection.on("timeout",(function(){e._timeout()}))},o.prototype._parseResponse=function(e){var t=this,r=[];return e.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach((function(e){t.lastChunk&&(e=t.lastChunk+e);var i=null;try{i=JSON.parse(e)}catch(r){return t.lastChunk=e,clearTimeout(t.lastChunkTimeout),void(t.lastChunkTimeout=setTimeout((function(){throw t._timeout(),n.InvalidResponse(e)}),15e3))}clearTimeout(t.lastChunkTimeout),t.lastChunk=null,i&&r.push(i)})),r},o.prototype._addResponseCallback=function(e,t){var r=e.id||e[0].id,n=e.method||e[0].method;this.responseCallbacks[r]=t,this.responseCallbacks[r].method=n},o.prototype._timeout=function(){for(var e in this.responseCallbacks)this.responseCallbacks.hasOwnProperty(e)&&(this.responseCallbacks[e](n.InvalidConnection("on IPC")),delete this.responseCallbacks[e])},o.prototype.reconnect=function(){this.connection.connect({path:this.path})},o.prototype.send=function(e,t){this.connection.writable||this.connection.connect({path:this.path}),this.connection.write(JSON.stringify(e)),this._addResponseCallback(e,t)},o.prototype.on=function(e,t){if("function"!=typeof t)throw new Error("The second parameter callback must be a function.");"data"===e?this.notificationCallbacks.push(t):this.connection.on(e,t)},o.prototype.once=function(e,t){if("function"!=typeof t)throw new Error("The second parameter callback must be a function.");this.connection.once(e,t)},o.prototype.removeListener=function(e,t){var r=this;"data"===e?this.notificationCallbacks.forEach((function(e,n){e===t&&r.notificationCallbacks.splice(n,1)})):this.connection.removeListener(e,t)},o.prototype.removeAllListeners=function(e){"data"===e?this.notificationCallbacks=[]:this.connection.removeAllListeners(e)},o.prototype.reset=function(){this._timeout(),this.notificationCallbacks=[],this.connection.removeAllListeners("error"),this.connection.removeAllListeners("end"),this.connection.removeAllListeners("timeout"),this.addDefaultEvents()},o.prototype.supportsSubscriptions=function(){return!0},e.exports=o},360:(e,t,r)=>{"use strict";var n=r(9142),i=r(9033).Buffer,o=r(8847)(r(3355)),a="[object process]"===Object.prototype.toString.call(void 0!==n?n:0),s="undefined"!=typeof navigator&&"ReactNative"===navigator.product,u=null,c=null;if(a||s){u=function(e){return i.from(e).toString("base64")};var f=r(1143);if(f.URL){var d=f.URL;c=function(e){return new d(e)}}else c=r(1143).parse}else u=btoa.bind("object"===("undefined"==typeof globalThis?"undefined":(0,o.default)(globalThis))?globalThis:self),c=function(e){return new URL(e)};e.exports={parseURL:c,btoa:u}},7651:(e,t,r)=>{"use strict";var n=r(8008),i=r(360),o=r(1314).errors,a=r(1158).w3cwebsocket,s=function(e,t){n.call(this),t=t||{},this.url=e,this._customTimeout=t.timeout||15e3,this.headers=t.headers||{},this.protocol=t.protocol||void 0,this.reconnectOptions=Object.assign({auto:!1,delay:5e3,maxAttempts:!1,onTimeout:!1},t.reconnect),this.clientConfig=t.clientConfig||void 0,this.requestOptions=t.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,this.connectFailedDescription=null;var r=i.parseURL(e);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(e){var t=this;this._parseResponse("string"==typeof e.data?e.data:"").forEach((function(e){if(e.method&&-1!==e.method.indexOf("_subscription"))t.emit(t.DATA,e);else{var r=e.id;Array.isArray(e)&&(r=e[0].id),t.responseQueue.has(r)&&(void 0!==t.responseQueue.get(r).callback&&t.responseQueue.get(r).callback(!1,e),t.responseQueue.delete(r))}}))},s.prototype._onConnect=function(){if(this.emit(this.CONNECT),this.reconnectAttempts=0,this.reconnecting=!1,this.requestQueue.size>0){var e=this;this.requestQueue.forEach((function(t,r){e.send(t.payload,t.callback),e.requestQueue.delete(r)}))}},s.prototype._onConnectFailed=function(e){this.connectFailedDescription=e.toString().split("\n")[0];var t=this;this.connectFailedDescription&&(e.description=this.connectFailedDescription,this.connectFailedDescription=null),e.code=1006,e.reason="connection failed",!this.reconnectOptions.auto||[1e3,1001].includes(e.code)&&!1!==e.wasClean?(this.emit(this.ERROR,e),this.requestQueue.size>0&&this.requestQueue.forEach((function(r,n){r.callback(o.ConnectionNotOpenError(e)),t.requestQueue.delete(n)})),this.responseQueue.size>0&&this.responseQueue.forEach((function(r,n){r.callback(o.InvalidConnection("on WS",e)),t.responseQueue.delete(n)})),this.connection._connection&&this.connection._connection.removeAllListeners(),this.connection._client.removeAllListeners(),this.connection._readyState=3,this.emit(this.CLOSE,e)):this.reconnect()},s.prototype._onClose=function(e){var t=this;!this.reconnectOptions.auto||[1e3,1001].includes(e.code)&&!1!==e.wasClean?(this.emit(this.CLOSE,e),this.requestQueue.size>0&&this.requestQueue.forEach((function(r,n){r.callback(o.ConnectionNotOpenError(e)),t.requestQueue.delete(n)})),this.responseQueue.size>0&&this.responseQueue.forEach((function(r,n){r.callback(o.InvalidConnection("on WS",e)),t.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)),this.connection._client&&(this.connection._client.removeAllListeners("connectFailed"),this.connection._client.on("connectFailed",this._onConnectFailed.bind(this)))},s.prototype._removeSocketListeners=function(){this.connection.removeEventListener("message",this._onMessage),this.connection.removeEventListener("open",this._onConnect),this.connection.removeEventListener("close",this._onClose),this.connection._connection&&this.connection._client.removeListener("connectFailed",this._onConnectFailed)},s.prototype._parseResponse=function(e){var t=this,r=[];return e.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach((function(e){t.lastChunk&&(e=t.lastChunk+e);var n=null;try{n=JSON.parse(e)}catch(r){return t.lastChunk=e,clearTimeout(t.lastChunkTimeout),void(t.lastChunkTimeout=setTimeout((function(){t.reconnectOptions.auto&&t.reconnectOptions.onTimeout?t.reconnect():(t.emit(t.ERROR,o.ConnectionTimeout(t._customTimeout)),t.requestQueue.size>0&&t.requestQueue.forEach((function(e,r){e.callback(o.ConnectionTimeout(t._customTimeout)),t.requestQueue.delete(r)})))}),t._customTimeout))}clearTimeout(t.lastChunkTimeout),t.lastChunk=null,n&&r.push(n)})),r},s.prototype.send=function(e,t){var r=e.id,n={payload:e,callback:t};if(Array.isArray(e)&&(r=e[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(e){n.callback(e),this.responseQueue.delete(r)}}},s.prototype.reset=function(){this.responseQueue.clear(),this.requestQueue.clear(),this.removeAllListeners(),this._removeSocketListeners(),this._addSocketListeners()},s.prototype.disconnect=function(e,t){this._removeSocketListeners(),this.connection.close(e||1e3,t)},s.prototype.supportsSubscriptions=function(){return!0},s.prototype.reconnect=function(){var e=this;this.reconnecting=!0,this.responseQueue.size>0&&this.responseQueue.forEach((function(t,r){try{e.responseQueue.delete(r),t.callback(o.PendingRequestsOnReconnectingError())}catch(e){console.error("Error encountered in reconnect: ",e)}})),!this.reconnectOptions.maxAttempts||this.reconnectAttempts0&&this.requestQueue.forEach((function(t,r){t.callback(o.MaxAttemptsReachedOnReconnectingError()),e.requestQueue.delete(r)})))},e.exports=s},2565:(e,t,r)=>{"use strict";var n=r(606),i=r(4178).subscriptions,o=r(3349),a=r(473),s=function(){var e=this;n.packageInit(this,arguments);var t=this.setRequestManager;this.setRequestManager=function(r){return t(r),e.net.setRequestManager(r),!0};var r=this.setProvider;this.setProvider=function(){r.apply(e,arguments),e.setRequestManager(e._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(t){t.attachToObject(e),t.setRequestManager(e._requestManager)}))};s.prototype.clearSubscriptions=function(){this._requestManager.clearSubscriptions()},n.addProviders(s),e.exports=s},8161:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(7130),o=r(323),a=r(747),s=r(5010),u=r(1734),c=function e(t,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=e(t,r.components);Array.isArray(s)&&t?i.push("tuple("+s.join(",")+")"+o):t?i.push("("+s+")"):i.push("("+s.join(",")+")"+o)}else i.push(r.type)})),i},f=function(e){if(!o.isHexStrict(e))throw new Error("The parameter must be a valid HEX string.");var t="",r=0,n=e.length;for("0x"===e.substring(0,2)&&(r=2);r7?r+=e[n].toUpperCase():r+=e[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:f,toAscii:f,asciiToHex:d,fromAscii:d,unitMap:i.unitMap,toWei:function(e,t){if(t=l(t),!o.isBN(e)&&"string"!=typeof e)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(e)?i.toWei(e,t):i.toWei(e,t).toString(10)},fromWei:function(e,t){if(t=l(t),!o.isBN(e)&&"string"!=typeof e)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(e)?i.fromWei(e,t):i.fromWei(e,t).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(e,t){if(e===t)return 0;if("genesis"!==e&&"earliest"!==e&&0!==e||"genesis"!==t&&"earliest"!==t&&0!==t){if("genesis"===e||"earliest"===e||0===e)return-1;if("genesis"===t||"earliest"===t||0===t)return 1;if("latest"===e||"finalized"===e)return"pending"===t?-1:1;if("latest"===t||"finalized"===t)return"pending"===e?1:-1;if("pending"===e)return 1;if("pending"===t)return-1;if("safe"===e||"safe"===t)return;var r=new u(e),n=new u(t);return r.lt(n)?-1:r.eq(n)?0:1}return 0},toNumber:o.toNumber}},747:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(323),a=function(e){var t=(0,n.default)(e);if("string"===t)return o.isHexStrict(e)?new i(e.replace(/0x/i,""),16):new i(e,10);if("number"===t)return new i(e);if(o.isBigNumber(e))return new i(e.toString(10));if(o.isBN(e))return e;throw new Error(e+" is not a number")},s=function(e,t,r){var n,s;if("bytes"===(e=function(e){return e.startsWith("int[")?"int256"+e.slice(3):"int"===e?"int256":e.startsWith("uint[")?"uint256"+e.slice(4):"uint"===e?"uint256":e.startsWith("fixed[")?"fixed128x128"+e.slice(5):"fixed"===e?"fixed128x128":e.startsWith("ufixed[")?"ufixed128x128"+e.slice(6):"ufixed"===e?"ufixed128x128":e}(e))){if(t.replace(/^0x/i,"").length%2!=0)throw new Error("Invalid bytes characters "+t.length);return t}if("string"===e)return o.utf8ToHex(t);if("bool"===e)return t?"01":"00";if(e.startsWith("address")){if(n=r?64:40,!o.isAddress(t))throw new Error(t+" is not a valid address, or the checksum is invalid.");return o.leftPad(t.toLowerCase(),n)}if(n=function(e){var t=/^\D+(\d+).*$/.exec(e);return t?parseInt(t[1],10):null}(e),e.startsWith("bytes")){if(!n)throw new Error("bytes[] not yet supported in solidity");if(r&&(n=32),n<1||n>32||n256)throw new Error("Invalid uint"+n+" size");if((s=a(t)).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(e.startsWith("int")){if(n%8||n<8||n>256)throw new Error("Invalid int"+n+" size");if((s=a(t)).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: "+e)},u=function(e){if(Array.isArray(e))throw new Error("Autodetection of array types is not supported.");var t,r,a="";if(e&&"object"===(0,n.default)(e)&&(e.hasOwnProperty("v")||e.hasOwnProperty("t")||e.hasOwnProperty("value")||e.hasOwnProperty("type"))?(t=e.hasOwnProperty("t")?e.t:e.type,a=e.hasOwnProperty("v")?e.v:e.value):(t=o.toHex(e,!0),a=o.toHex(e),t.startsWith("int")||t.startsWith("uint")||(t="bytes")),!t.startsWith("int")&&!t.startsWith("uint")||"string"!=typeof a||/^(-)?0x/i.test(a)||(a=new i(a)),Array.isArray(a)){if(r=function(e){var t=/^\D+\d*\[(\d+)\]$/.exec(e);return t?parseInt(t[1],10):null}(t),r&&a.length!==r)throw new Error(t+" is not matching the given array "+JSON.stringify(a));r=a.length}return Array.isArray(a)?a.map((function(e){return s(t,e,r).toString("hex").replace("0x","")})).join(""):s(t,a,r).toString("hex").replace("0x","")};e.exports={soliditySha3:function(){var e=Array.prototype.slice.call(arguments),t=e.map(u);return o.sha3("0x"+t.join(""))},soliditySha3Raw:function(){return o.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(u).join(""))},encodePacked:function(){var e=Array.prototype.slice.call(arguments),t=e.map(u);return"0x"+t.join("").toLowerCase()}}},323:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(4519)),a=i(r(3355)),s=r(1734),u=r(7277),c=r(8632),f=r(3062),d=r(9313),l=function(e){return s.isBN(e)},h=function(e){return e&&e.constructor&&"BigNumber"===e.constructor.name},p=function(e){try{return u.apply(null,arguments)}catch(t){throw new Error(t+' Given value: "'+e+'"')}},b=function(e){return!!/^(0x)?[0-9a-f]{40}$/i.test(e)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(e)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(e))||y(e))},y=function(e){e=e.replace(/^0x/i,"");for(var t=S(e.toLowerCase()).replace(/^0x/i,""),r=0;r<40;r++)if(parseInt(t[r],16)>7&&e[r].toUpperCase()!==e[r]||parseInt(t[r],16)<=7&&e[r].toLowerCase()!==e[r])return!1;return!0},m=function(e){var t="";e=(e=(e=(e=(e=c.encode(e)).replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var r=0;r1&&void 0!==arguments[1]&&arguments[1];if(!e)return e;if("string"==typeof e&&!A(e))throw new Error('Given value "'+e+'" is not a valid hex string.');var r=p(e);return t&&(r>Number.MAX_SAFE_INTEGER||r>>4).toString(16)),t.push((15&e[r]).toString(16));return"0x"+t.join("")},isHex:k,isHexStrict:A,stripHexPrefix:function(e){return 0!==e&&k(e)?e.replace(/^(-)?0x/i,"$1"):e},leftPad:function(e,t,r){var n=/^0x/i.test(e)||"number"==typeof e,i=t-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(n?"0x":"")+new Array(i).join(r||"0")+e},rightPad:function(e,t,r){var n=/^0x/i.test(e)||"number"==typeof e,i=t-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(n?"0x":"")+e+new Array(i).join(r||"0")},toTwosComplement:function(e){return"0x"+p(e).toTwos(256).toString(16,64)},sha3:S,sha3Raw:function(e){return null===(e=S(e))?_:e},toNumber:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"number"==typeof e?e:v(w(e),t)}}},7001:(e,t,r)=>{"use strict";var n=r(8920).i8,i=r(606),o=r(6748),a=r(473),s=r(6306),u=r(2565),c=r(2463),f=r(8161),d=function(){var e=this;i.packageInit(this,arguments),this.version=n,this.utils=f,this.eth=new o(this),this.shh=new u(this),this.bzz=new c(this);var t=this.setProvider;this.setProvider=function(r,n){return t.apply(e,arguments),e.eth.setRequestManager(e._requestManager),e.shh.setRequestManager(e._requestManager),e.bzz.setProvider(r),!0}};d.version=n,d.utils=f,d.modules={Eth:o,Net:a,Personal:s,Shh:u,Bzz:c},i.addProviders(d),e.exports=d},9214:()=>{},2361:()=>{},4616:()=>{},8768:e=>{"use strict";e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{"use strict";e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},7907:(e,t,r)=>{"use strict";var n=r(8768);e.exports=function(e){if(Array.isArray(e))return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},8975:e=>{"use strict";e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},5698:e=>{"use strict";function t(e,t,r,n,i,o,a){try{var s=e[o](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(i,o){var a=e.apply(r,n);function s(e){t(a,i,o,s,u,"next",e)}function u(e){t(a,i,o,s,u,"throw",e)}s(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},9721:e=>{"use strict";e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},4727:(e,t,r)=>{"use strict";var n=r(8746),i=r(6923);function o(t,r,a){return i()?(e.exports=o=Reflect.construct.bind(),e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=o=function(e,t,r){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return r&&n(o,r.prototype),o},e.exports.__esModule=!0,e.exports.default=e.exports),o.apply(null,arguments)}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},8985:(e,t,r)=>{"use strict";var n=r(2310);function i(e,t){for(var r=0;r{"use strict";var n=r(2310);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},119:(e,t,r)=>{"use strict";var n=r(7460);function i(){return"undefined"!=typeof Reflect&&Reflect.get?(e.exports=i=Reflect.get.bind(),e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=i=function(e,t,r){var i=n(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},e.exports.__esModule=!0,e.exports.default=e.exports),i.apply(this,arguments)}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},1949:e=>{"use strict";function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},5163:(e,t,r)=>{"use strict";var n=r(8746);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&n(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},8847:e=>{"use strict";e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},6923:e=>{"use strict";e.exports=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(e){return!1}},e.exports.__esModule=!0,e.exports.default=e.exports},1642:e=>{"use strict";e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},1436:e=>{"use strict";e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}},e.exports.__esModule=!0,e.exports.default=e.exports},2966:e=>{"use strict";e.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.")},e.exports.__esModule=!0,e.exports.default=e.exports},2344:e=>{"use strict";e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},4650:(e,t,r)=>{"use strict";var n=r(3355).default,i=r(8975);e.exports=function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},2028:(e,t,r)=>{"use strict";var n=r(3355).default;function i(){e.exports=i=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",f=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof b?t:b,o=Object.create(i.prototype),s=new O(n||[]);return a(o,"_invoke",{value:S(e,r,s)}),o}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p={};function b(){}function y(){}function m(){}var v={};d(v,u,(function(){return this}));var g=Object.getPrototypeOf,w=g&&g(g(B([])));w&&w!==r&&o.call(w,u)&&(v=w);var A=m.prototype=b.prototype=Object.create(v);function k(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){function r(i,a,s,u){var c=h(e[i],e,a);if("throw"!==c.type){var f=c.arg,d=f.value;return d&&"object"==n(d)&&o.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,u)}),(function(e){r("throw",e,s,u)})):t.resolve(d).then((function(e){f.value=e,s(f)}),(function(e){return r("throw",e,s,u)}))}u(c.arg)}var i;a(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,i){r(e,n,t,i)}))}return i=i?i.then(o,o):o()}})}function S(e,t,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{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=E(a,r);if(s){if(s===p)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=h(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function E(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=h(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,p;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function B(e){if(e){var t=e[u];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(s&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),P(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;P(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:B(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},8746:e=>{"use strict";function t(r,n){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4519:(e,t,r)=>{"use strict";var n=r(2338),i=r(1436),o=r(6906),a=r(2966);e.exports=function(e,t){return n(e)||i(e,t)||o(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},7460:(e,t,r)=>{"use strict";var n=r(1949);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=n(e)););return e},e.exports.__esModule=!0,e.exports.default=e.exports},3106:(e,t,r)=>{"use strict";var n=r(7907),i=r(1642),o=r(6906),a=r(2344);e.exports=function(e){return n(e)||i(e)||o(e)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},9662:(e,t,r)=>{"use strict";var n=r(3355).default;e.exports=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},2310:(e,t,r)=>{"use strict";var n=r(3355).default,i=r(9662);e.exports=function(e){var t=i(e,"string");return"symbol"===n(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},3355:e=>{"use strict";function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},6906:(e,t,r)=>{"use strict";var n=r(8768);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},2247:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(2028)();e.exports=i;try{regeneratorRuntime=i}catch(e){"object"===("undefined"==typeof globalThis?"undefined":(0,n.default)(globalThis))?globalThis.regeneratorRuntime=i:Function("r","regeneratorRuntime = r")(i)}},3604:(e,t,r)=>{"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;e.exports=function(){for(var e=[],t=0;t{"use strict";e.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":"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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},7098:e=>{"use strict";e.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":"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},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":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"}]}')},7295:e=>{"use strict";e.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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},439:e=>{"use strict";e.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":"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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},1227:e=>{"use strict";e.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":"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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},7523:e=>{"use strict";e.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":{}}')},3339:e=>{"use strict";e.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":{}}')},6769:e=>{"use strict";e.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":{}}')},7897:e=>{"use strict";e.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":{}}')},2170:e=>{"use strict";e.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":{}}')},8436:e=>{"use strict";e.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":{}}')},6213:e=>{"use strict";e.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":{}}')},5491:e=>{"use strict";e.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":{}}')},7852:e=>{"use strict";e.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":{}}')},1871:e=>{"use strict";e.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":{}}')},7225:e=>{"use strict";e.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"}}}')},8571:e=>{"use strict";e.exports=JSON.parse('{"name":"EIP-3675","number":3675,"comment":"Upgrade consensus to Proof-of-Stake","url":"https://eips.ethereum.org/EIPS/eip-3675","status":"Draft","minimumHardfork":"london","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},15:e=>{"use strict";e.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]}')},6985:e=>{"use strict";e.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"}}}')},114:e=>{"use strict";e.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"}}}')},5993:e=>{"use strict";e.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"}}}')},7197:e=>{"use strict";e.exports=JSON.parse('{"name":"dao","comment":"DAO rescue hardfork","url":"https://eips.ethereum.org/EIPS/eip-779","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},2800:e=>{"use strict";e.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":{}}')},3166:e=>{"use strict";e.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":{}}')},1250:e=>{"use strict";e.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]}')},8648:e=>{"use strict";e.exports=JSON.parse('{"name":"merge","comment":"Hardfork to upgrade the consensus mechanism to Proof-of-Stake","url":"https://github.com/ethereum/pm/issues/361","status":"pre-Draft","consensus":{"type":"pos","algorithm":"casper","casper":{}},"eips":[3675]}')},2946:e=>{"use strict";e.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"}}}')},4064:e=>{"use strict";e.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":{}}')},5553:e=>{"use strict";e.exports=JSON.parse('{"name":"shanghai","comment":"Next feature hardfork after the London HF","url":"https://github.com/ethereum/pm/issues/356","status":"Pre-Draft","eips":[]}')},716:e=>{"use strict";e.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":{}}')},2302:e=>{"use strict";e.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":{}}')},4946:e=>{"use strict";e.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},5207:e=>{"use strict";e.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},1308:e=>{"use strict";e.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},3630:e=>{"use strict";e.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,"blake3":30,"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,"dag-jose":133,"dag-cose":134,"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,"bitcoin-witness-commitment":178,"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,"secp256k1-pub":231,"bls12_381-g1-pub":234,"bls12_381-g2-pub":235,"x25519-pub":236,"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,"libp2p-peer-record":769,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,"x11":4352,"sm3-256":21325,"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,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082,"zeroxcert-imprint-256":52753,"fil-commitment-unsealed":61697,"fil-commitment-sealed":61698,"holochain-adr-v0":8417572,"holochain-adr-v1":8483108,"holochain-key-v0":9728292,"holochain-key-v1":9793828,"holochain-sig-v0":10645796,"holochain-sig-v1":10711332}')},9799:e=>{"use strict";e.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"}}')},8597:e=>{"use strict";e.exports={i8:"6.5.4"}},4070:e=>{"use strict";e.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}')},2562:e=>{"use strict";e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},9794:e=>{"use strict";e.exports={version:"1.0.34"}},8920:e=>{"use strict";e.exports={i8:"1.9.0"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n](o,o.exports,r),o.loaded=!0,o.exports}return r.amdO={},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(7001)})())); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Web3=t():e.Web3=t()}(self,(()=>(()=>{var e={1645:(e,t,r)=>{"use strict";var n=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},i=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.chains=t._getInitializedChains=void 0;var o=i(r(7295)),a=i(r(1227)),s=i(r(439)),u=i(r(7098)),c=i(r(7687));function f(e){var t,r,i={1:"mainnet",3:"ropsten",4:"rinkeby",42:"kovan",5:"goerli"},f={mainnet:o.default,ropsten:a.default,rinkeby:s.default,kovan:u.default,goerli:c.default};if(e)try{for(var d=n(e),l=d.next();!l.done;l=d.next()){var h=l.value,p=h.name;i[h.chainId.toString()]=p,f[p]=h}}catch(e){t={error:e}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(t)throw t.error}}return f.names=i,f}t._getInitializedChains=f,t.chains=f()},425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EIPs=void 0,t.EIPs={1559:r(7523),2315:r(3339),2537:r(6769),2565:r(7897),2718:r(2170),2929:r(8436),2930:r(6213),3198:r(5491),3529:r(7852),3541:r(1871),3554:r(7225),3675:r(8571)}},7002:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hardforks=void 0,t.hardforks=[["chainstart",r(114)],["homestead",r(2800)],["dao",r(7197)],["tangerineWhistle",r(2302)],["spuriousDragon",r(716)],["byzantium",r(6985)],["constantinople",r(5993)],["petersburg",r(4064)],["istanbul",r(3166)],["muirGlacier",r(2946)],["berlin",r(15)],["london",r(1250)],["shanghai",r(5553)],["merge",r(8648)]]},3863:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=r(8847)(r(3355)),a=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(t,"__esModule",{value:!0}),t.ConsensusAlgorithm=t.ConsensusType=t.Hardfork=t.Chain=t.CustomChain=void 0;var c,f,d,l,h,p=r(8291),b=r(4628),y=r(3062),m=r(1645),v=r(7002),g=r(425);!function(e){e.PolygonMainnet="polygon-mainnet",e.PolygonMumbai="polygon-mumbai",e.ArbitrumRinkebyTestnet="arbitrum-rinkeby-testnet",e.xDaiChain="x-dai-chain"}(c=t.CustomChain||(t.CustomChain={})),(h=t.Chain||(t.Chain={}))[h.Mainnet=1]="Mainnet",h[h.Ropsten=3]="Ropsten",h[h.Rinkeby=4]="Rinkeby",h[h.Kovan=42]="Kovan",h[h.Goerli=5]="Goerli",function(e){e.Chainstart="chainstart",e.Homestead="homestead",e.Dao="dao",e.TangerineWhistle="tangerineWhistle",e.SpuriousDragon="spuriousDragon",e.Byzantium="byzantium",e.Constantinople="constantinople",e.Petersburg="petersburg",e.Istanbul="istanbul",e.MuirGlacier="muirGlacier",e.Berlin="berlin",e.London="london",e.Shanghai="shanghai",e.Merge="merge"}(f=t.Hardfork||(t.Hardfork={})),(l=t.ConsensusType||(t.ConsensusType={})).ProofOfStake="pos",l.ProofOfWork="pow",l.ProofOfAuthority="poa",(d=t.ConsensusAlgorithm||(t.ConsensusAlgorithm={})).Ethash="ethash",d.Clique="clique",d.Casper="casper";var w=function(e){function t(t){var r,n,i,o,a=e.call(this)||this;a._supportedHardforks=[],a._eips=[],a._customChains=null!==(i=t.customChains)&&void 0!==i?i:[],a._chainParams=a.setChain(t.chain),a.DEFAULT_HARDFORK=null!==(o=a._chainParams.defaultHardfork)&&void 0!==o?o:f.Istanbul;try{for(var s=u(a._chainParams.hardforks),c=s.next();!c.done;c=s.next()){var d=c.value;d.forkHash||(d.forkHash=a._calcForkHash(d.name))}}catch(e){r={error:e}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return a._hardfork=a.DEFAULT_HARDFORK,t.supportedHardforks&&(a._supportedHardforks=t.supportedHardforks),t.hardfork&&a.setHardfork(t.hardfork),t.eips&&a.setEIPs(t.eips),a}return a(t,e),t.custom=function(e,r){var n;void 0===r&&(r={});var i=null!==(n=r.baseChain)&&void 0!==n?n:"mainnet",o=s({},t._getChainParams(i));if(o.name="custom-chain","string"!=typeof e)return new t(s({chain:s(s({},o),e)},r));if(e===c.PolygonMainnet)return t.custom({name:c.PolygonMainnet,chainId:137,networkId:137});if(e===c.PolygonMumbai)return t.custom({name:c.PolygonMumbai,chainId:80001,networkId:80001});if(e===c.ArbitrumRinkebyTestnet)return t.custom({name:c.ArbitrumRinkebyTestnet,chainId:421611,networkId:421611});if(e===c.xDaiChain)return t.custom({name:c.xDaiChain,chainId:100,networkId:100});throw new Error("Custom chain "+e+" not supported")},t.forCustomChain=function(e,r,n,i){var o=t._getChainParams(e);return new t({chain:s(s({},o),r),hardfork:n,supportedHardforks:i})},t.isSupportedChainId=function(e){var t=(0,m._getInitializedChains)();return Boolean(t.names[e.toString()])},t._getChainParams=function(e,t){var r=(0,m._getInitializedChains)(t);if("number"==typeof e||y.BN.isBN(e)){if(e=e.toString(),r.names[e])return r[r.names[e]];throw new Error("Chain with ID "+e+" not supported")}if(r[e])return r[e];throw new Error("Chain with name "+e+" not supported")},t.prototype.setChain=function(e){var r,n;if("number"==typeof e||"string"==typeof e||y.BN.isBN(e)){var i;i=this._customChains&&this._customChains.length>0&&Array.isArray(this._customChains[0])?this._customChains.map((function(e){return e[0]})):this._customChains,this._chainParams=t._getChainParams(e,i)}else{if("object"!==(0,o.default)(e))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 a=u(["networkId","genesis","hardforks","bootstrapNodes"]),s=a.next();!s.done;s=a.next()){var c=s.value;if(void 0===e[c])throw new Error("Missing required chain parameter: "+c)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}this._chainParams=e}return this._chainParams},t.prototype.setHardfork=function(e){var t,r;if(!this._isSupportedHardfork(e))throw new Error("Hardfork "+e+" not set as supported in supportedHardforks");var n=!1;try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next())o.value[0]===e&&(this._hardfork!==e&&(this._hardfork=e,this.emit("hardforkChanged",e)),n=!0)}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}if(!n)throw new Error("Hardfork with name "+e+" not supported")},t.prototype.getHardforkByBlockNumber=function(e,t){var r,n;e=(0,y.toType)(e,y.TypeOutput.BN),t=t?(0,y.toType)(t,y.TypeOutput.BN):void 0;var i,o,a,s=f.Chainstart;try{for(var c=u(this.hardforks()),d=c.next();!d.done;d=c.next()){var l=d.value;if(null!==l.block)e.gte(new y.BN(l.block))&&(s=l.name),t&&l.td&&(t.gten(l.td)?i=l.name:o=a),a=l.name;else if(t&&l.td&&t.gten(l.td))return l.name}}catch(e){r={error:e}}finally{try{d&&!d.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}if(t){var h="block number: "+e+" (-> "+s+"), ";if(i&&!this.hardforkGteHardfork(s,i)){var p="HF determined by block number is lower than the minimum total difficulty HF";throw h+="total difficulty: "+t+" (-> "+i+")",new Error(p+": "+h)}if(o&&!this.hardforkGteHardfork(o,s))throw p="Maximum HF determined by total difficulty is lower than the block number HF",h+="total difficulty: "+t+" (-> "+o+")",new Error(p+": "+h)}return s},t.prototype.setHardforkByBlockNumber=function(e,t){var r=this.getHardforkByBlockNumber(e,t);return this.setHardfork(r),r},t.prototype._chooseHardfork=function(e,t){if(void 0===t&&(t=!0),e){if(t&&!this._isSupportedHardfork(e))throw new Error("Hardfork "+e+" not set as supported in supportedHardforks")}else e=this._hardfork;return e},t.prototype._getHardfork=function(e){var t,r,n=this.hardforks();try{for(var i=u(n),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.name===e)return a}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}throw new Error("Hardfork "+e+" not defined for chain "+this.chainName())},t.prototype._isSupportedHardfork=function(e){var t,r;if(!(this._supportedHardforks.length>0))return!0;try{for(var n=u(this._supportedHardforks),i=n.next();!i.done;i=n.next())if(e===i.value)return!0}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!1},t.prototype.setEIPs=function(e){var t,r,n=this;void 0===e&&(e=[]);var i=function(t){if(!(t in g.EIPs))throw new Error(t+" not supported");var r=o.gteHardfork(g.EIPs[t].minimumHardfork);if(!r)throw new Error(t+" cannot be activated on hardfork "+o.hardfork()+", minimumHardfork: "+r);g.EIPs[t].requiredEIPs&&g.EIPs[t].requiredEIPs.forEach((function(r){if(!e.includes(r)&&!n.isActivatedEIP(r))throw new Error(t+" requires EIP "+r+", but is not included in the EIP list")}))},o=this;try{for(var a=u(e),s=a.next();!s.done;s=a.next())i(s.value)}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}this._eips=e},t.prototype.param=function(e,t){var r,n,i=null;try{for(var o=u(this._eips),a=o.next();!a.done;a=o.next()){var s=a.value;if(null!==(i=this.paramByEIP(e,t,s)))return i}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return this.paramByHardfork(e,t,this._hardfork)},t.prototype.paramByHardfork=function(e,t,r){var n,i,o,a;r=this._chooseHardfork(r);var s=null;try{for(var c=u(v.hardforks),f=c.next();!f.done;f=c.next()){var d=f.value;if("eips"in d[1]){var l=d[1].eips;try{for(var h=(o=void 0,u(l)),p=h.next();!p.done;p=h.next()){var b=p.value,y=this.paramByEIP(e,t,b);s=null!==y?y:s}}catch(e){o={error:e}}finally{try{p&&!p.done&&(a=h.return)&&a.call(h)}finally{if(o)throw o.error}}}else{if(!d[1][e])throw new Error("Topic "+e+" not defined");void 0!==d[1][e][t]&&(s=d[1][e][t].v)}if(d[0]===r)break}}catch(e){n={error:e}}finally{try{f&&!f.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}return s},t.prototype.paramByEIP=function(e,t,r){if(!(r in g.EIPs))throw new Error(r+" not supported");var n=g.EIPs[r];if(!(e in n))throw new Error("Topic "+e+" not defined");return void 0===n[e][t]?null:n[e][t].v},t.prototype.paramByBlock=function(e,t,r){var n=this.activeHardforks(r),i=n[n.length-1].name;return this.paramByHardfork(e,t,i)},t.prototype.isActivatedEIP=function(e){var t,r;if(this.eips().includes(e))return!0;try{for(var n=u(v.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(e))return!0}}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!1},t.prototype.hardforkIsActiveOnBlock=function(e,t,r){var n;void 0===r&&(r={}),t=(0,y.toType)(t,y.TypeOutput.BN);var i=null!==(n=r.onlySupported)&&void 0!==n&&n;e=this._chooseHardfork(e,i);var o=this.hardforkBlockBN(e);return!(!o||!t.gte(o))},t.prototype.activeOnBlock=function(e,t){return this.hardforkIsActiveOnBlock(null,e,t)},t.prototype.hardforkGteHardfork=function(e,t,r){var n,i;void 0===r&&(r={});var o,a=void 0!==r.onlyActive&&r.onlyActive;e=this._chooseHardfork(e,r.onlySupported),o=a?this.activeHardforks(null,r):this.hardforks();var s=-1,c=-1,f=0;try{for(var d=u(o),l=d.next();!l.done;l=d.next()){var h=l.value;h.name===e&&(s=f),h.name===t&&(c=f),f+=1}}catch(e){n={error:e}}finally{try{l&&!l.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return s>=c&&-1!==c},t.prototype.gteHardfork=function(e,t){return this.hardforkGteHardfork(null,e,t)},t.prototype.hardforkIsActiveOnChain=function(e,t){var r,n,i;void 0===t&&(t={});var o=null!==(i=t.onlySupported)&&void 0!==i&&i;e=this._chooseHardfork(e,o);try{for(var a=u(this.hardforks()),s=a.next();!s.done;s=a.next()){var c=s.value;if(c.name===e&&null!==c.block)return!0}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return!1},t.prototype.activeHardforks=function(e,t){var r,n;void 0===t&&(t={});var i=[],o=this.hardforks();try{for(var a=u(o),s=a.next();!s.done;s=a.next()){var c=s.value;if(null!==c.block){if(null!=e&&e0)return r[r.length-1].name;throw new Error("No (supported) active hardfork found")},t.prototype.hardforkBlock=function(e){var t=this.hardforkBlockBN(e);return t?(0,y.toType)(t,y.TypeOutput.Number):null},t.prototype.hardforkBlockBN=function(e){e=this._chooseHardfork(e,!1);var t=this._getHardfork(e).block;return null==t?null:new y.BN(t)},t.prototype.hardforkTD=function(e){e=this._chooseHardfork(e,!1);var t=this._getHardfork(e).td;return null==t?null:new y.BN(t)},t.prototype.isHardforkBlock=function(e,t){e=(0,y.toType)(e,y.TypeOutput.BN),t=this._chooseHardfork(t,!1);var r=this.hardforkBlockBN(t);return!!r&&r.eq(e)},t.prototype.nextHardforkBlock=function(e){var t=this.nextHardforkBlockBN(e);return null===t?null:(0,y.toType)(t,y.TypeOutput.Number)},t.prototype.nextHardforkBlockBN=function(e){e=this._chooseHardfork(e,!1);var t=this.hardforkBlockBN(e);return null===t?null:this.hardforks().reduce((function(e,r){var n=new y.BN(r.block);return n.gt(t)&&null===e?n:e}),null)},t.prototype.isNextHardforkBlock=function(e,t){e=(0,y.toType)(e,y.TypeOutput.BN),t=this._chooseHardfork(t,!1);var r=this.nextHardforkBlockBN(t);return null!==r&&r.eq(e)},t.prototype._calcForkHash=function(e){var t,r,n=i.from(this.genesis().hash.substr(2),"hex"),o=i.alloc(0),a=0;try{for(var s=u(this.hardforks()),c=s.next();!c.done;c=s.next()){var f=c.value,d=f.block;if(0!==d&&null!==d&&d!==a){var l=i.from(d.toString(16).padStart(16,"0"),"hex");o=i.concat([o,l])}if(f.name===e)break;null!==d&&(a=d)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}var h=i.concat([n,o]);return"0x"+(0,y.intToBuffer)((0,b.buf)(h)>>>0).toString("hex")},t.prototype.forkHash=function(e){e=this._chooseHardfork(e,!1);var t=this._getHardfork(e);if(null===t.block)throw new Error("No fork hash calculation possible for non-applied or future hardfork");return void 0!==t.forkHash?t.forkHash:this._calcForkHash(e)},t.prototype.hardforkForForkHash=function(e){var t=this.hardforks().filter((function(t){return t.forkHash===e}));return t.length>=1?t[t.length-1]:null},t.prototype.genesis=function(){return this._chainParams.genesis},t.prototype.genesisState=function(){var e,t;switch(this.chainName()){case"mainnet":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/mainnet.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"ropsten":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/ropsten.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"rinkeby":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/rinkeby.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"kovan":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/kovan.json'");throw e.code="MODULE_NOT_FOUND",e}()));case"goerli":return r(Object(function(){var e=new Error("Cannot find module './genesisStates/goerli.json'");throw e.code="MODULE_NOT_FOUND",e}()))}if(this._customChains&&this._customChains.length>0&&Array.isArray(this._customChains[0]))try{for(var n=u(this._customChains),i=n.next();!i.done;i=n.next()){var o=i.value;if(o[0].name===this.chainName())return o[1]}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return{}},t.prototype.hardforks=function(){return this._chainParams.hardforks},t.prototype.bootstrapNodes=function(){return this._chainParams.bootstrapNodes},t.prototype.dnsNetworks=function(){return this._chainParams.dnsNetworks},t.prototype.hardfork=function(){return this._hardfork},t.prototype.chainId=function(){return(0,y.toType)(this.chainIdBN(),y.TypeOutput.Number)},t.prototype.chainIdBN=function(){return new y.BN(this._chainParams.chainId)},t.prototype.chainName=function(){return this._chainParams.name},t.prototype.networkId=function(){return(0,y.toType)(this.networkIdBN(),y.TypeOutput.Number)},t.prototype.networkIdBN=function(){return new y.BN(this._chainParams.networkId)},t.prototype.eips=function(){return this._eips},t.prototype.consensusType=function(){var e,t,r,n=this.hardfork();try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next()){var a=o.value;if("consensus"in a[1]&&(r=a[1].consensus.type),a[0]===n)break}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return r||this._chainParams.consensus.type},t.prototype.consensusAlgorithm=function(){var e,t,r,n=this.hardfork();try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next()){var a=o.value;if("consensus"in a[1]&&(r=a[1].consensus.algorithm),a[0]===n)break}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return r||this._chainParams.consensus.algorithm},t.prototype.consensusConfig=function(){var e,t,r,n=this.hardfork();try{for(var i=u(v.hardforks),o=i.next();!o.done;o=i.next()){var a=o.value;if("consensus"in a[1]&&(r=a[1].consensus[a[1].consensus.algorithm]),a[0]===n)break}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}if(r)return r;var s=this.consensusAlgorithm();return this._chainParams.consensus[s]},t.prototype.copy=function(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)},t}(p.EventEmitter);t.default=w},4383:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},o=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseTransaction=void 0;var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t}(r(3863)),s=r(3062),u=r(7325),c=function(){function e(e){this.cache={hash:void 0},this.activeCapabilities=[],this.DEFAULT_CHAIN=a.Chain.Mainnet,this.DEFAULT_HARDFORK=a.Hardfork.Istanbul;var t=e.nonce,r=e.gasLimit,n=e.to,i=e.value,o=e.data,u=e.v,c=e.r,f=e.s,d=e.type;this._type=new s.BN((0,s.toBuffer)(d)).toNumber();var l=(0,s.toBuffer)(""===n?"0x":n),h=(0,s.toBuffer)(""===u?"0x":u),p=(0,s.toBuffer)(""===c?"0x":c),b=(0,s.toBuffer)(""===f?"0x":f);this.nonce=new s.BN((0,s.toBuffer)(""===t?"0x":t)),this.gasLimit=new s.BN((0,s.toBuffer)(""===r?"0x":r)),this.to=l.length>0?new s.Address(l):void 0,this.value=new s.BN((0,s.toBuffer)(""===i?"0x":i)),this.data=(0,s.toBuffer)(""===o?"0x":o),this.v=h.length>0?new s.BN(h):void 0,this.r=p.length>0?new s.BN(p):void 0,this.s=b.length>0?new s.BN(b):void 0,this._validateCannotExceedMaxInteger({nonce:this.nonce,gasLimit:this.gasLimit,value:this.value,r:this.r,s:this.s})}return Object.defineProperty(e.prototype,"transactionType",{get:function(){return this.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),e.prototype.supports=function(e){return this.activeCapabilities.includes(e)},e.prototype.validate=function(e){void 0===e&&(e=!1);var t=[];return this.getBaseFee().gt(this.gasLimit)&&t.push("gasLimit is too low. given "+this.gasLimit+", need at least "+this.getBaseFee()),this.isSigned()&&!this.verifySignature()&&t.push("Invalid Signature"),e?t:0===t.length},e.prototype.getBaseFee=function(){var e=this.getDataFee().addn(this.common.param("gasPrices","tx"));return this.common.gteHardfork("homestead")&&this.toCreationAddress()&&e.iaddn(this.common.param("gasPrices","txCreation")),e},e.prototype.getDataFee=function(){for(var e=this.common.param("gasPrices","txDataZero"),t=this.common.param("gasPrices","txDataNonZero"),r=0,n=0;n-1&&this.activeCapabilities.splice(f,1)}return c},e.prototype._getCommon=function(e,t){var r;if(t){var n=new s.BN((0,s.toBuffer)(t));if(e){if(!e.chainIdBN().eq(n))throw new Error("The chain ID does not match the chain ID of Common");return e.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==e?void 0:e.copy())&&void 0!==r?r:new a.default({chain:this.DEFAULT_CHAIN,hardfork:this.DEFAULT_HARDFORK})},e.prototype._validateCannotExceedMaxInteger=function(e,t){var r,n;void 0===t&&(t=53);try{for(var i=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(Object.entries(e)),a=i.next();!a.done;a=i.next()){var u=o(a.value,2),c=u[0],f=u[1];if(53===t){if(null==f?void 0:f.gt(s.MAX_INTEGER))throw new Error(c+" cannot exceed MAX_INTEGER, given "+f)}else{if(256!==t)throw new Error("unimplemented bits value");if(null==f?void 0:f.gte(s.TWO_POW256))throw new Error(c+" must be less than 2^256, given "+f)}}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},e}();t.BaseTransaction=c},660:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(e,12),i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],f=n[5],d=n[6],l=n[7],h=n[8],p=n[9],b=n[10],y=n[11];return new t({chainId:new s.BN(i),nonce:o,maxPriorityFeePerGas:a,maxFeePerGas:u,gasLimit:c,to:f,value:d,data:l,accessList:null!=h?h:[],v:void 0!==p?new s.BN(p):void 0,r:b,s:y},r)},t.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(f.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},t.prototype.getUpfrontCost=function(e){void 0===e&&(e=new s.BN(0));var t=s.BN.min(this.maxPriorityFeePerGas,this.maxFeePerGas.sub(e)).add(e);return this.gasLimit.mul(t).add(this.value)},t.prototype.raw=function(){return[(0,s.bnToUnpaddedBuffer)(this.chainId),(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.maxPriorityFeePerGas),(0,s.bnToUnpaddedBuffer)(this.maxFeePerGas),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data,this.accessList,void 0!==this.v?(0,s.bnToUnpaddedBuffer)(this.v):i.from([]),void 0!==this.r?(0,s.bnToUnpaddedBuffer)(this.r):i.from([]),void 0!==this.s?(0,s.bnToUnpaddedBuffer)(this.s):i.from([])]},t.prototype.serialize=function(){var e=this.raw();return i.concat([d,s.rlp.encode(e)])},t.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var t=this.raw().slice(0,9),r=i.concat([d,s.rlp.encode(t)]);return e?(0,s.keccak256)(r):r},t.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return Object.isFrozen(this)?(this.cache.hash||(this.cache.hash=(0,s.keccak256)(this.serialize())),this.cache.hash):(0,s.keccak256)(this.serialize())},t.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},t.prototype.getSenderPublicKey=function(){var e;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var t=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(e=this.s)||void 0===e?void 0:e.gt(c.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this,n=r.v,i=r.r,o=r.s;try{return(0,s.ecrecover)(t,n.addn(27),(0,s.bnToUnpaddedBuffer)(i),(0,s.bnToUnpaddedBuffer)(o))}catch(e){throw new Error("Invalid Signature")}},t.prototype._processSignature=function(e,r,n){var i={common:this.common};return t.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(e-27),r:new s.BN(r),s:new s.BN(n)},i)},t.prototype.toJSON=function(){var e=f.AccessLists.getAccessListJSON(this.accessList);return{chainId:(0,s.bnToHex)(this.chainId),nonce:(0,s.bnToHex)(this.nonce),maxPriorityFeePerGas:(0,s.bnToHex)(this.maxPriorityFeePerGas),maxFeePerGas:(0,s.bnToHex)(this.maxFeePerGas),gasLimit:(0,s.bnToHex)(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:(0,s.bnToHex)(this.value),data:"0x"+this.data.toString("hex"),accessList:e,v:void 0!==this.v?(0,s.bnToHex)(this.v):void 0,r:void 0!==this.r?(0,s.bnToHex)(this.r):void 0,s:void 0!==this.s?(0,s.bnToHex)(this.s):void 0}},t}(u.BaseTransaction);t.default=l},7613:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(e,11),i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],f=n[5],d=n[6],l=n[7],h=n[8],p=n[9],b=n[10];return new t({chainId:new s.BN(i),nonce:o,gasPrice:a,gasLimit:u,to:c,value:f,data:d,accessList:null!=l?l:[],v:void 0!==h?new s.BN(h):void 0,r:p,s:b},r)},t.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(f.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},t.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},t.prototype.raw=function(){return[(0,s.bnToUnpaddedBuffer)(this.chainId),(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.gasPrice),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data,this.accessList,void 0!==this.v?(0,s.bnToUnpaddedBuffer)(this.v):i.from([]),void 0!==this.r?(0,s.bnToUnpaddedBuffer)(this.r):i.from([]),void 0!==this.s?(0,s.bnToUnpaddedBuffer)(this.s):i.from([])]},t.prototype.serialize=function(){var e=this.raw();return i.concat([d,s.rlp.encode(e)])},t.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var t=this.raw().slice(0,8),r=i.concat([d,s.rlp.encode(t)]);return e?(0,s.keccak256)(r):r},t.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return Object.isFrozen(this)?(this.cache.hash||(this.cache.hash=(0,s.keccak256)(this.serialize())),this.cache.hash):(0,s.keccak256)(this.serialize())},t.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},t.prototype.getSenderPublicKey=function(){var e;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var t=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(e=this.s)||void 0===e?void 0:e.gt(c.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this,n=r.yParity,i=r.r,o=r.s;try{return(0,s.ecrecover)(t,n.addn(27),(0,s.bnToUnpaddedBuffer)(i),(0,s.bnToUnpaddedBuffer)(o))}catch(e){throw new Error("Invalid Signature")}},t.prototype._processSignature=function(e,r,n){var i={common:this.common};return t.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(e-27),r:new s.BN(r),s:new s.BN(n)},i)},t.prototype.toJSON=function(){var e=f.AccessLists.getAccessListJSON(this.accessList);return{chainId:(0,s.bnToHex)(this.chainId),nonce:(0,s.bnToHex)(this.nonce),gasPrice:(0,s.bnToHex)(this.gasPrice),gasLimit:(0,s.bnToHex)(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:(0,s.bnToHex)(this.value),data:"0x"+this.data.toString("hex"),accessList:e,v:void 0!==this.v?(0,s.bnToHex)(this.v):void 0,r:void 0!==this.r?(0,s.bnToHex)(this.r):void 0,s:void 0!==this.s?(0,s.bnToHex)(this.s):void 0}},t}(u.BaseTransaction);t.default=l},2339:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FeeMarketEIP1559Transaction=t.TransactionFactory=t.AccessListEIP2930Transaction=t.Transaction=void 0;var o=r(3088);Object.defineProperty(t,"Transaction",{enumerable:!0,get:function(){return i(o).default}});var a=r(7613);Object.defineProperty(t,"AccessListEIP2930Transaction",{enumerable:!0,get:function(){return i(a).default}});var s=r(9562);Object.defineProperty(t,"TransactionFactory",{enumerable:!0,get:function(){return i(s).default}});var u=r(660);Object.defineProperty(t,"FeeMarketEIP1559Transaction",{enumerable:!0,get:function(){return i(u).default}}),function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)}(r(7325),t)},3088:(e,t,r)=>{"use strict";var n,i=r(9033).Buffer,o=(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(e,9);return new t({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]},r)},t.prototype.raw=function(){return[(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.gasPrice),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data,void 0!==this.v?(0,s.bnToUnpaddedBuffer)(this.v):i.from([]),void 0!==this.r?(0,s.bnToUnpaddedBuffer)(this.r):i.from([]),void 0!==this.s?(0,s.bnToUnpaddedBuffer)(this.s):i.from([])]},t.prototype.serialize=function(){return s.rlp.encode(this.raw())},t.prototype._getMessageToSign=function(){var e=[(0,s.bnToUnpaddedBuffer)(this.nonce),(0,s.bnToUnpaddedBuffer)(this.gasPrice),(0,s.bnToUnpaddedBuffer)(this.gasLimit),void 0!==this.to?this.to.buf:i.from([]),(0,s.bnToUnpaddedBuffer)(this.value),this.data];return this.supports(u.Capability.EIP155ReplayProtection)&&(e.push((0,s.toBuffer)(this.common.chainIdBN())),e.push((0,s.unpadBuffer)((0,s.toBuffer)(0))),e.push((0,s.unpadBuffer)((0,s.toBuffer)(0)))),e},t.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var t=this._getMessageToSign();return e?(0,s.rlphash)(t):t},t.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},t.prototype.hash=function(){return Object.isFrozen(this)?(this.cache.hash||(this.cache.hash=(0,s.rlphash)(this.raw())),this.cache.hash):(0,s.rlphash)(this.raw())},t.prototype.getMessageToVerifySignature=function(){if(!this.isSigned())throw Error("This transaction is not signed");var e=this._getMessageToSign();return(0,s.rlphash)(e)},t.prototype.getSenderPublicKey=function(){var e,t=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(e=this.s)||void 0===e?void 0:e.gt(u.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this,n=r.v,i=r.r,o=r.s;try{return(0,s.ecrecover)(t,n,(0,s.bnToUnpaddedBuffer)(i),(0,s.bnToUnpaddedBuffer)(o),this.supports(u.Capability.EIP155ReplayProtection)?this.common.chainIdBN():void 0)}catch(e){throw new Error("Invalid Signature")}},t.prototype._processSignature=function(e,r,n){var i=new s.BN(e);this.supports(u.Capability.EIP155ReplayProtection)&&i.iadd(this.common.chainIdBN().muln(2).addn(8));var o={common:this.common};return t.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(r),s:new s.BN(n)},o)},t.prototype.toJSON=function(){return{nonce:(0,s.bnToHex)(this.nonce),gasPrice:(0,s.bnToHex)(this.gasPrice),gasLimit:(0,s.bnToHex)(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:(0,s.bnToHex)(this.value),data:"0x"+this.data.toString("hex"),v:void 0!==this.v?(0,s.bnToHex)(this.v):void 0,r:void 0!==this.r?(0,s.bnToHex)(this.r):void 0,s:void 0!==this.s?(0,s.bnToHex)(this.s):void 0}},t.prototype._validateTxV=function(e,t){var r;if(void 0!==e&&!e.eqn(0)&&(!t||t.gteHardfork("spuriousDragon"))&&!e.eqn(27)&&!e.eqn(28))if(t){var n=t.chainIdBN().muln(2);if(!e.eq(n.addn(35))&&!e.eq(n.addn(36)))throw new Error("Incompatible EIP155-based V "+e.toString()+" and chain id "+t.chainIdBN().toString()+". See the Common parameter of the Transaction constructor to set the chain id.")}else{var i;i=e.subn(35).isEven()?35:36,r=e.subn(i).divn(2)}return this._getCommon(t,r)},t.prototype._unsignedTxImplementsEIP155=function(){return this.common.gteHardfork("spuriousDragon")},t.prototype._signedTxImplementsEIP155=function(){if(!this.isSigned())throw Error("This transaction is not signed");var e=this.common.gteHardfork("spuriousDragon"),t=this.v,r=this.common.chainIdBN().muln(2);return(t.eq(r.addn(35))||t.eq(r.addn(36)))&&e},t}(r(4383).BaseTransaction);t.default=c},9562:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0});var i=r(3062),o=r(2339),a=function(){function e(){}return e.fromTxData=function(e,t){if(void 0===t&&(t={}),"type"in e&&void 0!==e.type){var r=new i.BN((0,i.toBuffer)(e.type)).toNumber();if(0===r)return o.Transaction.fromTxData(e,t);if(1===r)return o.AccessListEIP2930Transaction.fromTxData(e,t);if(2===r)return o.FeeMarketEIP1559Transaction.fromTxData(e,t);throw new Error("Tx instantiation with type "+r+" not supported")}return o.Transaction.fromTxData(e,t)},e.fromSerializedData=function(e,t){if(void 0===t&&(t={}),e[0]<=127){var r=void 0;switch(e[0]){case 1:r=2930;break;case 2:r=1559;break;default:throw new Error("TypedTransaction with ID "+e[0]+" unknown")}return 1559===r?o.FeeMarketEIP1559Transaction.fromSerializedTx(e,t):o.AccessListEIP2930Transaction.fromSerializedTx(e,t)}return o.Transaction.fromSerializedTx(e,t)},e.fromBlockBodyData=function(e,t){if(void 0===t&&(t={}),n.isBuffer(e))return this.fromSerializedData(e,t);if(Array.isArray(e))return o.Transaction.fromValuesArray(e,t);throw new Error("Cannot decode transaction: unknown type input")},e.getTransactionClass=function(e,t){if(void 0===e&&(e=0),0==e||e>=128&&e<=255)return o.Transaction;switch(e){case 1:return o.AccessListEIP2930Transaction;case 2:return o.FeeMarketEIP1559Transaction;default:throw new Error("TypedTransaction with ID "+e+" unknown")}},e}();t.default=a},7325:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.N_DIV_2=t.isAccessList=t.isAccessListBuffer=t.Capability=void 0;var n,i=r(3062);function o(e){if(0===e.length)return!0;var t=e[0];return!!Array.isArray(t)}(n=t.Capability||(t.Capability={}))[n.EIP155ReplayProtection=155]="EIP155ReplayProtection",n[n.EIP1559FeeMarket=1559]="EIP1559FeeMarket",n[n.EIP2718TypedTransaction=2718]="EIP2718TypedTransaction",n[n.EIP2930AccessLists=2930]="EIP2930AccessLists",t.isAccessListBuffer=o,t.isAccessList=function(e){return!o(e)},t.N_DIV_2=new i.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16)},3789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccessLists=void 0;var n=r(3062),i=r(7325),o=function(){function e(){}return e.getAccessListData=function(e){var t,r;if(e&&(0,i.isAccessList)(e)){t=e;for(var o=[],a=0;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="abi/5.7.0"},4937:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.defaultAbiCoder=t.AbiCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=r(908),s=r(3694),u=r(4327),c=r(8067),f=r(7316),d=r(9146),l=r(4341),h=r(24),p=r(3861),b=r(28),y=r(4522),m=r(8287),v=r(8040),g=r(2010),w=r(800),A=new u.Logger(c.version),k=new RegExp(/^bytes([0-9]*)$/),_=new RegExp(/^(u?int)([0-9]*)$/),S=function(){function e(t){(0,i.default)(this,e),(0,s.defineReadOnly)(this,"coerceFunc",t||null)}return(0,o.default)(e,[{key:"_getCoder",value:function(e){var t=this;switch(e.baseType){case"address":return new d.AddressCoder(e.name);case"bool":return new h.BooleanCoder(e.name);case"string":return new v.StringCoder(e.name);case"bytes":return new p.BytesCoder(e.name);case"array":return new l.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new g.TupleCoder((e.components||[]).map((function(e){return t._getCoder(e)})),e.name);case"":return new y.NullCoder(e.name)}var r=e.type.match(_);if(r){var n=parseInt(r[2]||"256");return(0===n||n>256||n%8!=0)&&A.throwArgumentError("invalid "+r[1]+" bit length","param",e),new m.NumberCoder(n/8,"int"===r[1],e.name)}if(r=e.type.match(k)){var i=parseInt(r[1]);return(0===i||i>32)&&A.throwArgumentError("invalid bytes length","param",e),new b.FixedBytesCoder(i,e.name)}return A.throwArgumentError("invalid type","type",e.type)}},{key:"_getWordSize",value:function(){return 32}},{key:"_getReader",value:function(e,t){return new f.Reader(e,this._getWordSize(),this.coerceFunc,t)}},{key:"_getWriter",value:function(){return new f.Writer(this._getWordSize())}},{key:"getDefaultValue",value:function(e){var t=this,r=e.map((function(e){return t._getCoder(w.ParamType.from(e))}));return new g.TupleCoder(r,"_").defaultValue()}},{key:"encode",value:function(e,t){var r=this;e.length!==t.length&&A.throwError("types/values length mismatch",u.Logger.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var n=e.map((function(e){return r._getCoder(w.ParamType.from(e))})),i=new g.TupleCoder(n,"_"),o=this._getWriter();return i.encode(o,t),o.data}},{key:"decode",value:function(e,t,r){var n=this,i=e.map((function(e){return n._getCoder(w.ParamType.from(e))}));return new g.TupleCoder(i,"_").decode(this._getReader((0,a.arrayify)(t),r))}}]),e}();t.AbiCoder=S;var E=new S;t.defaultAbiCoder=E},7316:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.Writer=t.Reader=t.Coder=void 0,t.checkResultErrors=function(e){var t=[];return function e(r,n){if(Array.isArray(n))for(var i in n){var o=r.slice();o.push(i);try{e(o,n[i])}catch(e){t.push({path:o,error:e})}}}([],e),t};var i=n(r(9721)),o=n(r(8985)),a=r(908),s=r(4952),u=r(3694),c=r(4327),f=r(8067),d=new c.Logger(f.version),l=function(){function e(t,r,n,o){(0,i.default)(this,e),this.name=t,this.type=r,this.localName=n,this.dynamic=o}return(0,o.default)(e,[{key:"_throwError",value:function(e,t){d.throwArgumentError(e,this.localName,t)}}]),e}();t.Coder=l;var h=function(){function e(t){(0,i.default)(this,e),(0,u.defineReadOnly)(this,"wordSize",t||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(t)}return(0,o.default)(e,[{key:"data",get:function(){return(0,a.hexConcat)(this._data)}},{key:"length",get:function(){return this._dataLength}},{key:"_writeData",value:function(e){return this._data.push(e),this._dataLength+=e.length,e.length}},{key:"appendWriter",value:function(e){return this._writeData((0,a.concat)(e._data))}},{key:"writeBytes",value:function(e){var t=(0,a.arrayify)(e),r=t.length%this.wordSize;return r&&(t=(0,a.concat)([t,this._padding.slice(r)])),this._writeData(t)}},{key:"_getValue",value:function(e){var t=(0,a.arrayify)(s.BigNumber.from(e));return t.length>this.wordSize&&d.throwError("value out-of-bounds",c.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=(0,a.concat)([this._padding.slice(t.length%this.wordSize),t])),t}},{key:"writeValue",value:function(e){return this._writeData(this._getValue(e))}},{key:"writeUpdatableValue",value:function(){var e=this,t=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,function(r){e._data[t]=e._getValue(r)}}}]),e}();t.Writer=h;var p=function(){function e(t,r,n,o){(0,i.default)(this,e),(0,u.defineReadOnly)(this,"_data",(0,a.arrayify)(t)),(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)(e,[{key:"data",get:function(){return(0,a.hexlify)(this._data)}},{key:"consumed",get:function(){return this._offset}},{key:"coerce",value:function(t,r){return this._coerceFunc?this._coerceFunc(t,r):e.coerce(t,r)}},{key:"_peekBytes",value:function(e,t,r){var n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+t<=this._data.length?n=t:d.throwError("data out-of-bounds",c.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}},{key:"subReader",value:function(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc,this.allowLoose)}},{key:"readBytes",value:function(e,t){var r=this._peekBytes(0,e,!!t);return this._offset+=r.length,r.slice(0,e)}},{key:"readValue",value:function(){return s.BigNumber.from(this.readBytes(this.wordSize))}}],[{key:"coerce",value:function(e,t){var r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t}}]),e}();t.Reader=p},9146:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.AddressCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(7921),f=r(908);var d=function(e){(0,a.default)(d,e);var t,r,n=(t=d,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function d(e){return(0,i.default)(this,d),n.call(this,"address","address",e,!1)}return(0,o.default)(d,[{key:"defaultValue",value:function(){return"0x0000000000000000000000000000000000000000"}},{key:"encode",value:function(e,t){try{t=(0,c.getAddress)(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}},{key:"decode",value:function(e){return(0,c.getAddress)((0,f.hexZeroPad)(e.readValue().toHexString(),20))}}]),d}(r(7316).Coder);t.AddressCoder=d},8090:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949));var c=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e){var t;return(0,i.default)(this,c),(t=n.call(this,e.name,e.type,void 0,e.dynamic)).coder=e,t}return(0,o.default)(c,[{key:"defaultValue",value:function(){return this.coder.defaultValue()}},{key:"encode",value:function(e,t){return this.coder.encode(e,t)}},{key:"decode",value:function(e){return this.coder.decode(e)}}]),c}(r(7316).Coder);t.AnonymousCoder=c},4341:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayCoder=void 0,t.pack=b,t.unpack=y;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=n(r(3355)),f=r(4327),d=r(8067),l=r(7316),h=r(8090);var p=new f.Logger(d.version);function b(e,t,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"===(0,c.default)(r)){var i={};n=t.map((function(e){var t=e.localName;return t||p.throwError("cannot encode object for signature with missing names",f.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),i[t]&&p.throwError("cannot encode object for signature with duplicate names",f.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),i[t]=!0,r[t]}))}else p.throwArgumentError("invalid tuple value","tuple",r);t.length!==n.length&&p.throwArgumentError("types/value length mismatch","tuple",r);var o=new l.Writer(e.wordSize),a=new l.Writer(e.wordSize),s=[];return t.forEach((function(e,t){var r=n[t];if(e.dynamic){var i=a.length;e.encode(a,r);var u=o.writeUpdatableValue();s.push((function(e){u(e+i)}))}else e.encode(o,r)})),s.forEach((function(e){e(o.length)})),e.appendWriter(o)+e.appendWriter(a)}function y(e,t){var r=[],n=e.subReader(0);t.forEach((function(t){var i=null;if(t.dynamic){var o=e.readValue(),a=n.subReader(o.toNumber());try{i=t.decode(a)}catch(e){if(e.code===f.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if(e.code===f.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&r.push(i)}));var i=t.reduce((function(e,t){var r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});t.forEach((function(e,t){var n=e.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==r[n])){var o=r[t];o instanceof Error?Object.defineProperty(r,n,{enumerable:!0,get:function(){throw o}}):r[n]=o}}));for(var o=function(e){var t=r[e];t instanceof Error&&Object.defineProperty(r,e,{enumerable:!0,get:function(){throw t}})},a=0;a=0?t:"")+"]",s=-1===t||e.dynamic;return(o=n.call(this,"array",a,r,s)).coder=e,o.length=t,o}return(0,o.default)(c,[{key:"defaultValue",value:function(){for(var e=this.coder.defaultValue(),t=[],r=0;re._data.length&&p.throwError("insufficient data length",f.Logger.errors.BUFFER_OVERRUN,{length:e._data.length,count:t});for(var r=[],n=0;n{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949));var c=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e){return(0,i.default)(this,c),n.call(this,"bool","bool",e,!1)}return(0,o.default)(c,[{key:"defaultValue",value:function(){return!1}},{key:"encode",value:function(e,t){return e.writeValue(t?1:0)}},{key:"decode",value:function(e){return e.coerce(this.type,!e.readValue().isZero())}}]),c}(r(7316).Coder);t.BooleanCoder=c},3861:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.DynamicBytesCoder=t.BytesCoder=void 0;var i=n(r(119)),o=n(r(9721)),a=n(r(8985)),s=n(r(5163)),u=n(r(4650)),c=n(r(1949)),f=r(908);function d(e){var t=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(e){return!1}}();return function(){var r,n=(0,c.default)(e);if(t){var i=(0,c.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,u.default)(this,r)}}var l=function(e){(0,s.default)(r,e);var t=d(r);function r(e,n){return(0,o.default)(this,r),t.call(this,e,e,n,!0)}return(0,a.default)(r,[{key:"defaultValue",value:function(){return"0x"}},{key:"encode",value:function(e,t){return t=(0,f.arrayify)(t),e.writeValue(t.length)+e.writeBytes(t)}},{key:"decode",value:function(e){return e.readBytes(e.readValue().toNumber(),!0)}}]),r}(r(7316).Coder);t.DynamicBytesCoder=l;var h=function(e){(0,s.default)(r,e);var t=d(r);function r(e){return(0,o.default)(this,r),t.call(this,"bytes",e)}return(0,a.default)(r,[{key:"decode",value:function(e){return e.coerce(this.name,(0,f.hexlify)((0,i.default)((0,c.default)(r.prototype),"decode",this).call(this,e)))}}]),r}(l);t.BytesCoder=h},28:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.FixedBytesCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(908);var f=function(e){(0,a.default)(f,e);var t,r,n=(t=f,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function f(e,t){var r;(0,i.default)(this,f);var o="bytes"+String(e);return(r=n.call(this,o,o,t,!1)).size=e,r}return(0,o.default)(f,[{key:"defaultValue",value:function(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}},{key:"encode",value:function(e,t){var r=(0,c.arrayify)(t);return r.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(r)}},{key:"decode",value:function(e){return e.coerce(this.name,(0,c.hexlify)(e.readBytes(this.size)))}}]),f}(r(7316).Coder);t.FixedBytesCoder=f},4522:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.NullCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949));var c=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e){return(0,i.default)(this,c),n.call(this,"null","",e,!1)}return(0,o.default)(c,[{key:"defaultValue",value:function(){return null}},{key:"encode",value:function(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}},{key:"decode",value:function(e){return e.readBytes(0),e.coerce(this.name,null)}}]),c}(r(7316).Coder);t.NullCoder=c},8287:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.NumberCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(4952),f=r(5465);var d=function(e){(0,a.default)(d,e);var t,r,n=(t=d,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function d(e,t,r){var o;(0,i.default)(this,d);var a=(t?"int":"uint")+8*e;return(o=n.call(this,a,a,r,!1)).size=e,o.signed=t,o}return(0,o.default)(d,[{key:"defaultValue",value:function(){return 0}},{key:"encode",value:function(e,t){var r=c.BigNumber.from(t),n=f.MaxUint256.mask(8*e.wordSize);if(this.signed){var i=n.mask(8*this.size-1);(r.gt(i)||r.lt(i.add(f.One).mul(f.NegativeOne)))&&this._throwError("value out-of-bounds",t)}else(r.lt(f.Zero)||r.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(r)}},{key:"decode",value:function(e){var t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}}]),d}(r(7316).Coder);t.NumberCoder=d},8040:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.StringCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(119)),s=n(r(5163)),u=n(r(4650)),c=n(r(1949)),f=r(8627);var d=function(e){(0,s.default)(d,e);var t,r,n=(t=d,r=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(e){return!1}}(),function(){var e,n=(0,c.default)(t);if(r){var i=(0,c.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,u.default)(this,e)});function d(e){return(0,i.default)(this,d),n.call(this,"string",e)}return(0,o.default)(d,[{key:"defaultValue",value:function(){return""}},{key:"encode",value:function(e,t){return(0,a.default)((0,c.default)(d.prototype),"encode",this).call(this,e,(0,f.toUtf8Bytes)(t))}},{key:"decode",value:function(e){return(0,f.toUtf8String)((0,a.default)((0,c.default)(d.prototype),"decode",this).call(this,e))}}]),d}(r(3861).DynamicBytesCoder);t.StringCoder=d},2010:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.TupleCoder=void 0;var i=n(r(9721)),o=n(r(8985)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(7316),f=r(4341);var d=function(e){(0,a.default)(c,e);var t,r,n=(t=c,r=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(e){return!1}}(),function(){var e,n=(0,u.default)(t);if(r){var i=(0,u.default)(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return(0,s.default)(this,e)});function c(e,t){var r;(0,i.default)(this,c);var o=!1,a=[];e.forEach((function(e){e.dynamic&&(o=!0),a.push(e.type)}));var s="tuple("+a.join(",")+")";return(r=n.call(this,"tuple",s,t,o)).coders=e,r}return(0,o.default)(c,[{key:"defaultValue",value:function(){var e=[];this.coders.forEach((function(t){e.push(t.defaultValue())}));var t=this.coders.reduce((function(e,t){var r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});return this.coders.forEach((function(r,n){var i=r.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[n]))})),Object.freeze(e)}},{key:"encode",value:function(e,t){return(0,f.pack)(e,this.coders,t)}},{key:"decode",value:function(e){return e.coerce(this.name,(0,f.unpack)(e,this.coders))}}]),c}(c.Coder);t.TupleCoder=d},800:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.ParamType=t.FunctionFragment=t.Fragment=t.FormatTypes=t.EventFragment=t.ErrorFragment=t.ConstructorFragment=void 0;var i=n(r(5163)),o=n(r(4650)),a=n(r(1949)),s=n(r(9721)),u=n(r(8985)),c=r(4952),f=r(3694),d=r(4327),l=r(8067);function h(e){var t=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(e){return!1}}();return function(){var r,n=(0,a.default)(e);if(t){var i=(0,a.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,o.default)(this,r)}}var p=new d.Logger(l.version),b={},y={calldata:!0,memory:!0,storage:!0},m={calldata:!0,memory:!0};function v(e,t){if("bytes"===e||"string"===e){if(y[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&m[t])return!0;return(y[t]||"payable"===t)&&p.throwArgumentError("invalid modifier","name",t),!1}function g(e,t){for(var r in t)(0,f.defineReadOnly)(e,r,t[r])}var w=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});t.FormatTypes=w;var A=new RegExp(/^(.*)\[([0-9]*)\]$/),k=function(){function e(t,r){(0,s.default)(this,e),t!==b&&p.throwError("use fromString",d.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),g(this,r);var n=this.type.match(A);g(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:e.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)(e,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json){var t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((function(t){return JSON.parse(t.format(e))}))),JSON.stringify(t)}var r="";return"array"===this.baseType?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==w.sighash&&(r+=this.type),r+="("+this.components.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+")"):r+=this.type,e!==w.sighash&&(!0===this.indexed&&(r+=" indexed"),e===w.full&&this.name&&(r+=" "+this.name)),r}}],[{key:"from",value:function(t,r){return"string"==typeof t?e.fromString(t,r):e.fromObject(t)}},{key:"fromObject",value:function(t){return e.isParamType(t)?t:new e(b,{name:t.name||null,type:M(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(e.fromObject):null})}},{key:"fromString",value:function(t,r){return n=function(e,t){var r=e;function n(t){p.throwArgumentError("unexpected character at position ".concat(t),"param",e)}function i(e){var r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");for(var o={type:"",name:"",state:{allowType:!0}},a=o,s=0;s2&&p.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||p.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=c.BigNumber.from(r[1]),r[0]):e}function P(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((function(e){switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function O(e){var t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&p.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&p.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||p.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&p.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&p.throwArgumentError("unable to determine stateMutability","value",e),t}t.EventFragment=E;var B=function(e){(0,i.default)(r,e);var t=h(r);function r(){return(0,s.default)(this,r),t.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))}))});e===w.sighash&&p.throwError("cannot format a constructor for sighash",d.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var t="constructor("+this.inputs.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}}],[{key:"from",value:function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)}},{key:"fromObject",value:function(e){if(r.isConstructorFragment(e))return e;"constructor"!==e.type&&p.throwArgumentError("invalid constructor object","value",e);var t=O(e);t.constant&&p.throwArgumentError("constructor cannot be constant","value",e);var n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(k.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?c.BigNumber.from(e.gas):null};return new r(b,n)}},{key:"fromString",value:function(e){var t={type:"constructor"},n=(e=x(e,t)).match(j);return n&&"constructor"===n[1].trim()||p.throwArgumentError("invalid constructor string","value",e),t.inputs=_(n[2].trim(),!1),P(n[3].trim(),t),r.fromObject(t)}},{key:"isConstructorFragment",value:function(e){return e&&e._isFragment&&"constructor"===e.type}}]),r}(S);t.ConstructorFragment=B;var T=function(e){(0,i.default)(r,e);var t=h(r);function r(){return(0,s.default)(this,r),t.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))})),outputs:this.outputs.map((function(t){return JSON.parse(t.format(e))}))});var t="";return e!==w.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+") ",e!==w.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((function(t){return t.format(e)})).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}}],[{key:"from",value:function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)}},{key:"fromObject",value:function(e){if(r.isFunctionFragment(e))return e;"function"!==e.type&&p.throwArgumentError("invalid function object","value",e);var t=O(e),n={type:e.type,name:R(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(k.fromObject):[],outputs:e.outputs?e.outputs.map(k.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?c.BigNumber.from(e.gas):null};return new r(b,n)}},{key:"fromString",value:function(e){var t={type:"function"},n=(e=x(e,t)).split(" returns ");n.length>2&&p.throwArgumentError("invalid function string","value",e);var i=n[0].match(j);if(i||p.throwArgumentError("invalid function signature","value",e),t.name=i[1].trim(),t.name&&R(t.name),t.inputs=_(i[2],!1),P(i[3].trim(),t),n.length>1){var o=n[1].match(j);""==o[1].trim()&&""==o[3].trim()||p.throwArgumentError("unexpected tokens","value",e),t.outputs=_(o[2],!1)}else t.outputs=[];return r.fromObject(t)}},{key:"isFunctionFragment",value:function(e){return e&&e._isFragment&&"function"===e.type}}]),r}(B);function C(e){var t=e.format();return"Error(string)"!==t&&"Panic(uint256)"!==t||p.throwArgumentError("cannot specify user defined ".concat(t," error"),"fragment",e),e}t.FunctionFragment=T;var I=function(e){(0,i.default)(r,e);var t=h(r);function r(){return(0,s.default)(this,r),t.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(e){if(e||(e=w.sighash),w[e]||p.throwArgumentError("invalid format type","format",e),e===w.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))}))});var t="";return e!==w.sighash&&(t+="error "),(t+=this.name+"("+this.inputs.map((function(t){return t.format(e)})).join(e===w.full?", ":",")+") ").trim()}}],[{key:"from",value:function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)}},{key:"fromObject",value:function(e){if(r.isErrorFragment(e))return e;"error"!==e.type&&p.throwArgumentError("invalid error object","value",e);var t={type:e.type,name:R(e.name),inputs:e.inputs?e.inputs.map(k.fromObject):[]};return C(new r(b,t))}},{key:"fromString",value:function(e){var t={type:"error"},n=e.match(j);return n||p.throwArgumentError("invalid error signature","value",e),t.name=n[1].trim(),t.name&&R(t.name),t.inputs=_(n[2],!1),C(r.fromObject(t))}},{key:"isErrorFragment",value:function(e){return e&&e._isFragment&&"error"===e.type}}]),r}(S);function M(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}t.ErrorFragment=I;var U=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function R(e){return e&&e.match(U)||p.throwArgumentError('invalid identifier "'.concat(e,'"'),"value",e),e}var j=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")},2914:(e,t,r)=>{"use strict";Object.defineProperty(t,"RQ",{enumerable:!0,get:function(){return i.AbiCoder}}),Object.defineProperty(t,"_R",{enumerable:!0,get:function(){return n.ParamType}});var n=r(800),i=r(4937);r(9044)},9044:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionDescription=t.LogDescription=t.Interface=t.Indexed=t.ErrorDescription=void 0,Object.defineProperty(t,"checkResultErrors",{enumerable:!0,get:function(){return y.checkResultErrors}});var i=n(r(8985)),o=n(r(9721)),a=n(r(5163)),s=n(r(4650)),u=n(r(1949)),c=r(7921),f=r(4952),d=r(908),l=r(7515),h=r(4642),p=r(3694),b=r(4937),y=r(7316),m=r(800),v=r(4327),g=r(8067);function w(e){var t=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(e){return!1}}();return function(){var r,n=(0,u.default)(e);if(t){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 A=new v.Logger(g.version),k=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r)}(p.Description);t.LogDescription=k;var _=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r)}(p.Description);t.TransactionDescription=_;var S=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r)}(p.Description);t.ErrorDescription=S;var E=function(e){(0,a.default)(r,e);var t=w(r);function r(){return(0,o.default)(this,r),t.apply(this,arguments)}return(0,i.default)(r,null,[{key:"isIndexed",value:function(e){return!(!e||!e._isIndexed)}}]),r}(p.Description);t.Indexed=E;var x={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function P(e,t){var r=new Error("deferred error during ABI decoding triggered accessing ".concat(e));return r.error=t,r}var O=function(){function e(t){var r=this;(0,o.default)(this,e);var n=[];n="string"==typeof t?JSON.parse(t):t,(0,p.defineReadOnly)(this,"fragments",n.map((function(e){return m.Fragment.from(e)})).filter((function(e){return null!=e}))),(0,p.defineReadOnly)(this,"_abiCoder",(0,p.getStatic)(this instanceof e?this.constructor:void 0,"getAbiCoder")()),(0,p.defineReadOnly)(this,"functions",{}),(0,p.defineReadOnly)(this,"errors",{}),(0,p.defineReadOnly)(this,"events",{}),(0,p.defineReadOnly)(this,"structs",{}),this.fragments.forEach((function(e){var t=null;switch(e.type){case"constructor":return r.deploy?void A.warn("duplicate definition - constructor"):void(0,p.defineReadOnly)(r,"deploy",e);case"function":t=r.functions;break;case"event":t=r.events;break;case"error":t=r.errors;break;default:return}var n=e.format();t[n]?A.warn("duplicate definition - "+n):t[n]=e})),this.deploy||(0,p.defineReadOnly)(this,"deploy",m.ConstructorFragment.from({payable:!1,type:"constructor"})),(0,p.defineReadOnly)(this,"_isInterface",!0)}return(0,i.default)(e,[{key:"format",value:function(e){e||(e=m.FormatTypes.full),e===m.FormatTypes.sighash&&A.throwArgumentError("interface does not support formatting sighash","format",e);var t=this.fragments.map((function(t){return t.format(e)}));return e===m.FormatTypes.json?JSON.stringify(t.map((function(e){return JSON.parse(e)}))):t}},{key:"getFunction",value:function(e){if((0,d.isHexString)(e)){for(var t in this.functions)if(e===this.getSighash(t))return this.functions[t];A.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){var r=e.trim(),n=Object.keys(this.functions).filter((function(e){return e.split("(")[0]===r}));return 0===n.length?A.throwArgumentError("no matching function","name",r):n.length>1&&A.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[m.FunctionFragment.fromString(e).format()];return i||A.throwArgumentError("no matching function","signature",e),i}},{key:"getEvent",value:function(e){if((0,d.isHexString)(e)){var t=e.toLowerCase();for(var r in this.events)if(t===this.getEventTopic(r))return this.events[r];A.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){var n=e.trim(),i=Object.keys(this.events).filter((function(e){return e.split("(")[0]===n}));return 0===i.length?A.throwArgumentError("no matching event","name",n):i.length>1&&A.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var o=this.events[m.EventFragment.fromString(e).format()];return o||A.throwArgumentError("no matching event","signature",e),o}},{key:"getError",value:function(e){if((0,d.isHexString)(e)){var t=(0,p.getStatic)(this.constructor,"getSighash");for(var r in this.errors)if(e===t(this.errors[r]))return this.errors[r];A.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){var n=e.trim(),i=Object.keys(this.errors).filter((function(e){return e.split("(")[0]===n}));return 0===i.length?A.throwArgumentError("no matching error","name",n):i.length>1&&A.throwArgumentError("multiple matching errors","name",n),this.errors[i[0]]}var o=this.errors[m.FunctionFragment.fromString(e).format()];return o||A.throwArgumentError("no matching error","signature",e),o}},{key:"getSighash",value:function(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return(0,p.getStatic)(this.constructor,"getSighash")(e)}},{key:"getEventTopic",value:function(e){return"string"==typeof e&&(e=this.getEvent(e)),(0,p.getStatic)(this.constructor,"getEventTopic")(e)}},{key:"_decodeParams",value:function(e,t){return this._abiCoder.decode(e,t)}},{key:"_encodeParams",value:function(e,t){return this._abiCoder.encode(e,t)}},{key:"encodeDeploy",value:function(e){return this._encodeParams(this.deploy.inputs,e||[])}},{key:"decodeErrorResult",value:function(e,t){"string"==typeof e&&(e=this.getError(e));var r=(0,d.arrayify)(t);return(0,d.hexlify)(r.slice(0,4))!==this.getSighash(e)&&A.throwArgumentError("data signature does not match error ".concat(e.name,"."),"data",(0,d.hexlify)(r)),this._decodeParams(e.inputs,r.slice(4))}},{key:"encodeErrorResult",value:function(e,t){return"string"==typeof e&&(e=this.getError(e)),(0,d.hexlify)((0,d.concat)([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}},{key:"decodeFunctionData",value:function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=(0,d.arrayify)(t);return(0,d.hexlify)(r.slice(0,4))!==this.getSighash(e)&&A.throwArgumentError("data signature does not match function ".concat(e.name,"."),"data",(0,d.hexlify)(r)),this._decodeParams(e.inputs,r.slice(4))}},{key:"encodeFunctionData",value:function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),(0,d.hexlify)((0,d.concat)([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}},{key:"decodeFunctionResult",value:function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=(0,d.arrayify)(t),n=null,i="",o=null,a=null,s=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(f){}break;case 4:var u=(0,d.hexlify)(r.slice(0,4)),c=x[u];if(c)o=this._abiCoder.decode(c.inputs,r.slice(4)),a=c.name,s=c.signature,c.reason&&(n=o[0]),"Error"===a?i="; VM Exception while processing transaction: reverted with reason string ".concat(JSON.stringify(o[0])):"Panic"===a&&(i="; VM Exception while processing transaction: reverted with panic code ".concat(o[0]));else try{var f=this.getError(u);o=this._abiCoder.decode(f.inputs,r.slice(4)),a=f.name,s=f.format()}catch(f){}}return A.throwError("call revert exception"+i,v.Logger.errors.CALL_EXCEPTION,{method:e.format(),data:(0,d.hexlify)(t),errorArgs:o,errorName:a,errorSignature:s,reason:n})}},{key:"encodeFunctionResult",value:function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),(0,d.hexlify)(this._abiCoder.encode(e.outputs,t||[]))}},{key:"encodeFilterTopics",value:function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&A.throwError("too many arguments for "+e.format(),v.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});var n=[];e.anonymous||n.push(this.getEventTopic(e));var i=function(e,t){return"string"===e.type?(0,l.id)(t):"bytes"===e.type?(0,h.keccak256)((0,d.hexlify)(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=f.BigNumber.from(t).toHexString()),"address"===e.type&&r._abiCoder.encode(["address"],[t]),(0,d.hexZeroPad)((0,d.hexlify)(t),32))};for(t.forEach((function(t,r){var o=e.inputs[r];o.indexed?null==t?n.push(null):"array"===o.baseType||"tuple"===o.baseType?A.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):Array.isArray(t)?n.push(t.map((function(e){return i(o,e)}))):n.push(i(o,t)):null!=t&&A.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n}},{key:"encodeEventLog",value:function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e));var n=[],i=[],o=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&A.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((function(e,a){var s=t[a];if(e.indexed)if("string"===e.type)n.push((0,l.id)(s));else if("bytes"===e.type)n.push((0,h.keccak256)(s));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([e.type],[s]))}else i.push(e),o.push(s)})),{data:this._abiCoder.encode(i,o),topics:n}}},{key:"decodeEventLog",value:function(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){var n=this.getEventTopic(e);(0,d.isHexString)(r[0],32)&&r[0].toLowerCase()===n||A.throwError("fragment/topic mismatch",v.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],o=[],a=[];e.inputs.forEach((function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(i.push(m.ParamType.fromObject({type:"bytes32",name:e.name})),a.push(!0)):(i.push(e),a.push(!1)):(o.push(e),a.push(!1))}));var s=null!=r?this._abiCoder.decode(i,(0,d.concat)(r)):null,u=this._abiCoder.decode(o,t,!0),c=[],f=0,l=0;e.inputs.forEach((function(e,t){if(e.indexed)if(null==s)c[t]=new E({_isIndexed:!0,hash:null});else if(a[t])c[t]=new E({_isIndexed:!0,hash:s[l++]});else try{c[t]=s[l++]}catch(e){c[t]=e}else try{c[t]=u[f++]}catch(e){c[t]=e}if(e.name&&null==c[e.name]){var r=c[t];r instanceof Error?Object.defineProperty(c,e.name,{enumerable:!0,get:function(){throw P("property ".concat(JSON.stringify(e.name)),r)}}):c[e.name]=r}}));for(var h=function(e){var t=c[e];t instanceof Error&&Object.defineProperty(c,e,{enumerable:!0,get:function(){throw P("index ".concat(e),t)}})},p=0;p{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="address/5.7.0"},7921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAddress=m,t.getContractAddress=function(e){var t=null;try{t=m(e.from)}catch(t){c.throwArgumentError("missing from address","transaction",e)}var r=(0,n.stripZeros)((0,n.arrayify)(i.BigNumber.from(e.nonce).toHexString()));return m((0,n.hexDataSlice)((0,o.keccak256)((0,a.encode)([t,r])),12))},t.getCreate2Address=function(e,t,r){return 32!==(0,n.hexDataLength)(t)&&c.throwArgumentError("salt must be 32 bytes","salt",t),32!==(0,n.hexDataLength)(r)&&c.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),m((0,n.hexDataSlice)((0,o.keccak256)((0,n.concat)(["0xff",m(e),t,r])),12))},t.getIcapAddress=function(e){for(var t=(0,i._base16To36)(m(e).substring(2)).toUpperCase();t.length<30;)t="0"+t;return"XE"+y("XE00"+t)+t},t.isAddress=function(e){try{return m(e),!0}catch(e){}return!1};var n=r(908),i=r(4952),o=r(4642),a=r(5265),s=r(4327),u=r(8222),c=new s.Logger(u.version);function f(e){(0,n.isHexString)(e,20)||c.throwArgumentError("invalid address","address",e);for(var t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),i=0;i<40;i++)r[i]=t[i].charCodeAt(0);for(var a=(0,n.arrayify)((0,o.keccak256)(r)),s=0;s<40;s+=2)a[s>>1]>>4>=8&&(t[s]=t[s].toUpperCase()),(15&a[s>>1])>=8&&(t[s+1]=t[s+1].toUpperCase());return"0x"+t.join("")}for(var d={},l=0;l<10;l++)d[String(l)]=String(l);for(var h=0;h<26;h++)d[String.fromCharCode(65+h)]=String(10+h);var p,b=Math.floor((p=9007199254740991,Math.log10?Math.log10(p):Math.log(p)/Math.LN10));function y(e){for(var t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((function(e){return d[e]})).join("");t.length>=b;){var r=t.substring(0,b);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function m(e){var t=null;if("string"!=typeof e&&c.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=f(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&c.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==y(e)&&c.throwArgumentError("bad icap checksum","address",e),t=(0,i._base36To16)(e.substring(4));t.length<40;)t="0"+t;t=f("0x"+t)}else c.throwArgumentError("invalid address","address",e);return t}},5798:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){e=atob(e);for(var t=[],r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"decode",{enumerable:!0,get:function(){return n.decode}}),Object.defineProperty(t,"encode",{enumerable:!0,get:function(){return n.encode}});var n=r(5798)},3042:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="bignumber/5.7.0"},1872:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.BigNumber=void 0,t._base16To36=function(e){return new f(e,16).toString(36)},t._base36To16=function(e){return new f(e,36).toString(16)},t.isBigNumberish=function(e){return null!=e&&(b.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||(0,s.isHexString)(e)||"bigint"==typeof e||(0,s.isBytes)(e))};var i=n(r(9721)),o=n(r(8985)),a=n(r(1734)),s=r(908),u=r(4327),c=r(3042),f=a.default.BN,d=new u.Logger(c.version),l={},h=9007199254740991,p=!1,b=function(){function e(t,r){(0,i.default)(this,e),t!==l&&d.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)(e,[{key:"fromTwos",value:function(e){return m(v(this).fromTwos(e))}},{key:"toTwos",value:function(e){return m(v(this).toTwos(e))}},{key:"abs",value:function(){return"-"===this._hex[0]?e.from(this._hex.substring(1)):this}},{key:"add",value:function(e){return m(v(this).add(v(e)))}},{key:"sub",value:function(e){return m(v(this).sub(v(e)))}},{key:"div",value:function(t){return e.from(t).isZero()&&g("division-by-zero","div"),m(v(this).div(v(t)))}},{key:"mul",value:function(e){return m(v(this).mul(v(e)))}},{key:"mod",value:function(e){var t=v(e);return t.isNeg()&&g("division-by-zero","mod"),m(v(this).umod(t))}},{key:"pow",value:function(e){var t=v(e);return t.isNeg()&&g("negative-power","pow"),m(v(this).pow(t))}},{key:"and",value:function(e){var t=v(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","and"),m(v(this).and(t))}},{key:"or",value:function(e){var t=v(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","or"),m(v(this).or(t))}},{key:"xor",value:function(e){var t=v(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","xor"),m(v(this).xor(t))}},{key:"mask",value:function(e){return(this.isNegative()||e<0)&&g("negative-width","mask"),m(v(this).maskn(e))}},{key:"shl",value:function(e){return(this.isNegative()||e<0)&&g("negative-width","shl"),m(v(this).shln(e))}},{key:"shr",value:function(e){return(this.isNegative()||e<0)&&g("negative-width","shr"),m(v(this).shrn(e))}},{key:"eq",value:function(e){return v(this).eq(v(e))}},{key:"lt",value:function(e){return v(this).lt(v(e))}},{key:"lte",value:function(e){return v(this).lte(v(e))}},{key:"gt",value:function(e){return v(this).gt(v(e))}},{key:"gte",value:function(e){return v(this).gte(v(e))}},{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(e){g("overflow","toNumber",this.toString())}return null}},{key:"toBigInt",value:function(){try{return BigInt(this.toString())}catch(e){}return d.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]?p||(p=!0,d.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?d.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",u.Logger.errors.UNEXPECTED_ARGUMENT,{}):d.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(e){return{type:"BigNumber",hex:this.toHexString()}}}],[{key:"from",value:function(t){if(t instanceof e)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new e(l,y(t)):t.match(/^-?[0-9]+$/)?new e(l,y(new f(t))):d.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&g("underflow","BigNumber.from",t),(t>=h||t<=-h)&&g("overflow","BigNumber.from",t),e.from(String(t));var r=t;if("bigint"==typeof r)return e.from(r.toString());if((0,s.isBytes)(r))return e.from((0,s.hexlify)(r));if(r)if(r.toHexString){var n=r.toHexString();if("string"==typeof n)return e.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 e.from(i)}return d.throwArgumentError("invalid BigNumber value","value",t)}},{key:"isBigNumber",value:function(e){return!(!e||!e._isBigNumber)}}]),e}();function y(e){if("string"!=typeof e)return y(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&d.throwArgumentError("invalid hex","value",e),"0x00"===(e=y(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function m(e){return b.from(y(e))}function v(e){var t=b.from(e).toHexString();return"-"===t[0]?new f("-"+t.substring(3),16):new f(t.substring(2),16)}function g(e,t,r){var n={fault:e,operation:t};return null!=r&&(n.value=r),d.throwError(e,u.Logger.errors.NUMERIC_FAULT,n)}t.BigNumber=b},8390:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.FixedNumber=t.FixedFormat=void 0,t.formatFixed=v,t.parseFixed=g;var i=n(r(3355)),o=n(r(9721)),a=n(r(8985)),s=r(908),u=r(4327),c=r(3042),f=r(1872),d=new u.Logger(c.version),l={},h=f.BigNumber.from(0),p=f.BigNumber.from(-1);function b(e,t,r,n){var i={fault:t,operation:r};return void 0!==n&&(i.value=n),d.throwError(e,u.Logger.errors.NUMERIC_FAULT,i)}for(var y="0";y.length<256;)y+=y;function m(e){if("number"!=typeof e)try{e=f.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+y.substring(0,e):d.throwArgumentError("invalid decimal size","decimals",e)}function v(e,t){null==t&&(t=0);var r=m(t),n=(e=f.BigNumber.from(e)).lt(h);n&&(e=e.mul(p));for(var i=e.mod(r).toString();i.length2&&d.throwArgumentError("too many decimal points","value",e);var o=i[0],a=i[1];for(o||(o="0"),a||(a="0");"0"===a[a.length-1];)a=a.substring(0,a.length-1);for(a.length>r.length-1&&b("fractional component exceeds decimals","underflow","parseFixed"),""===a&&(a="0");a.length80&&d.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new e(l,r,n,o)}}]),e}();t.FixedFormat=w;var A=function(){function e(t,r,n,i){(0,o.default)(this,e),t!==l&&d.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)(e,[{key:"_checkFormat",value:function(e){this.format.name!==e.format.name&&d.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}},{key:"addUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.add(n),this.format.decimals,this.format)}},{key:"subUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.sub(n),this.format.decimals,this.format)}},{key:"mulUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}},{key:"divUnsafe",value:function(t){this._checkFormat(t);var r=g(this._value,this.format.decimals),n=g(t._value,t.format.decimals);return e.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}},{key:"floor",value:function(){var t=this.toString().split(".");1===t.length&&t.push("0");var r=e.from(t[0],this.format),n=!t[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(k.toFormat(r.format))),r}},{key:"ceiling",value:function(){var t=this.toString().split(".");1===t.length&&t.push("0");var r=e.from(t[0],this.format),n=!t[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(k.toFormat(r.format))),r}},{key:"round",value:function(t){null==t&&(t=0);var r=this.toString().split(".");if(1===r.length&&r.push("0"),(t<0||t>80||t%1)&&d.throwArgumentError("invalid decimal count","decimals",t),r[1].length<=t)return this;var n=e.from("1"+y.substring(0,t),this.format),i=_.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(i).floor().divUnsafe(n)}},{key:"isZero",value:function(){return"0.0"===this._value||"0"===this._value}},{key:"isNegative",value:function(){return"-"===this._value[0]}},{key:"toString",value:function(){return this._value}},{key:"toHexString",value:function(e){if(null==e)return this._hex;e%8&&d.throwArgumentError("invalid byte width","width",e);var t=f.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return(0,s.hexZeroPad)(t,e/8)}},{key:"toUnsafeFloat",value:function(){return parseFloat(this.toString())}},{key:"toFormat",value:function(t){return e.fromString(this._value,t)}}],[{key:"fromValue",value:function(t,r,n){return null!=n||null==r||(0,f.isBigNumberish)(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),e.fromString(v(t,r),w.from(n))}},{key:"fromString",value:function(t,r){null==r&&(r="fixed");var n=w.from(r),i=g(t,n.decimals);!n.signed&&i.lt(h)&&b("unsigned value cannot be negative","overflow","value",t);var o=null;n.signed?o=i.toTwos(n.width).toHexString():(o=i.toHexString(),o=(0,s.hexZeroPad)(o,n.width/8));var a=v(i,n.decimals);return new e(l,o,a,n)}},{key:"fromBytes",value:function(t,r){null==r&&(r="fixed");var n=w.from(r);if((0,s.arrayify)(t).length>n.width/8)throw new Error("overflow");var i=f.BigNumber.from(t);n.signed&&(i=i.fromTwos(n.width));var o=i.toTwos((n.signed?0:1)+n.width).toHexString(),a=v(i,n.decimals);return new e(l,o,a,n)}},{key:"from",value:function(t,r){if("string"==typeof t)return e.fromString(t,r);if((0,s.isBytes)(t))return e.fromBytes(t,r);try{return e.fromValue(t,0,r)}catch(e){if(e.code!==u.Logger.errors.INVALID_ARGUMENT)throw e}return d.throwArgumentError("invalid FixedNumber value","value",t)}},{key:"isFixedNumber",value:function(e){return!(!e||!e._isFixedNumber)}}]),e}();t.FixedNumber=A;var k=A.from(1),_=A.from("0.5")},4952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BigNumber",{enumerable:!0,get:function(){return n.BigNumber}}),Object.defineProperty(t,"FixedFormat",{enumerable:!0,get:function(){return i.FixedFormat}}),Object.defineProperty(t,"FixedNumber",{enumerable:!0,get:function(){return i.FixedNumber}}),Object.defineProperty(t,"_base16To36",{enumerable:!0,get:function(){return n._base16To36}}),Object.defineProperty(t,"_base36To16",{enumerable:!0,get:function(){return n._base36To16}}),Object.defineProperty(t,"formatFixed",{enumerable:!0,get:function(){return i.formatFixed}}),Object.defineProperty(t,"parseFixed",{enumerable:!0,get:function(){return i.parseFixed}});var n=r(1872),i=r(8390)},8729:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="bytes/5.7.0"},908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayify=d,t.concat=l,t.hexConcat=function(e){var t="0x";return e.forEach((function(e){t+=y(e).substring(2)})),t},t.hexDataLength=function(e){if("string"!=typeof e)e=y(e);else if(!p(e)||e.length%2)return null;return(e.length-2)/2},t.hexDataSlice=function(e,t,r){return"string"!=typeof e?e=y(e):(!p(e)||e.length%2)&&o.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)},t.hexStripZeros=m,t.hexValue=function(e){var t=m(y(e,{hexPad:"left"}));return"0x"===t?"0x0":t},t.hexZeroPad=v,t.hexlify=y,t.isBytes=f,t.isBytesLike=u,t.isHexString=p,t.joinSignature=function(e){return y(l([(e=g(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))},t.splitSignature=g,t.stripZeros=function(e){var t=d(e);if(0===t.length)return t;for(var r=0;r=256)return!1}return!0}function d(e,t){if(t||(t={}),"number"==typeof e){o.checkSafeUint53(e,"invalid arrayify value");for(var r=[];e;)r.unshift(255&e),e=parseInt(String(e/256));return 0===r.length&&r.push(0),s(new Uint8Array(r))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),a(e)&&(e=e.toHexString()),p(e)){var n=e.substring(2);n.length%2&&("left"===t.hexPad?n="0"+n:"right"===t.hexPad?n+="0":o.throwArgumentError("hex data is odd-length","value",e));for(var i=[],u=0;ut&&o.throwArgumentError("value out of range","value",arguments[0]);var r=new Uint8Array(t);return r.set(e,t-e.length),s(r)}function p(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}var b="0123456789abcdef";function y(e,t){if(t||(t={}),"number"==typeof e){o.checkSafeUint53(e,"invalid hexlify value");for(var r="";e;)r=b[15&e]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),a(e))return e.toHexString();if(p(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":o.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(f(e)){for(var n="0x",i=0;i>4]+b[15&s]}return n}return o.throwArgumentError("invalid hexlify value","value",e)}function m(e){"string"!=typeof e&&(e=y(e)),p(e)||o.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var t=0;t2*t+2&&o.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function g(e){var t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(u(e)){var r=d(e);64===r.length?(t.v=27+(r[32]>>7),r[32]&=127,t.r=y(r.slice(0,32)),t.s=y(r.slice(32,64))):65===r.length?(t.r=y(r.slice(0,32)),t.s=y(r.slice(32,64)),t.v=r[64]):o.throwArgumentError("invalid signature string","signature",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:o.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=y(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){var n=h(d(t._vs),32);t._vs=y(n);var i=n[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=i:t.recoveryParam!==i&&o.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),n[0]&=127;var a=y(n);null==t.s?t.s=a:t.s!==a&&o.throwArgumentError("signature v mismatch _vs","signature",e)}if(null==t.recoveryParam)null==t.v?o.throwArgumentError("signature missing v and recoveryParam","signature",e):0===t.v||1===t.v?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(null==t.v)t.v=27+t.recoveryParam;else{var s=0===t.v||1===t.v?t.v:1-t.v%2;t.recoveryParam!==s&&o.throwArgumentError("signature recoveryParam mismatch v","signature",e)}null!=t.r&&p(t.r)?t.r=v(t.r,32):o.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&p(t.s)?t.s=v(t.s,32):o.throwArgumentError("signature missing or invalid s","signature",e);var c=d(t.s);c[0]>=128&&o.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(c[0]|=128);var f=y(c);t._vs&&(p(t._vs)||o.throwArgumentError("signature invalid _vs","signature",e),t._vs=v(t._vs,32)),null==t._vs?t._vs=f:t._vs!==f&&o.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}},8721:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddressZero=void 0,t.AddressZero="0x0000000000000000000000000000000000000000"},2997:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Zero=t.WeiPerEther=t.Two=t.One=t.NegativeOne=t.MinInt256=t.MaxUint256=t.MaxInt256=void 0;var n=r(4952),i=n.BigNumber.from(-1);t.NegativeOne=i;var o=n.BigNumber.from(0);t.Zero=o;var a=n.BigNumber.from(1);t.One=a;var s=n.BigNumber.from(2);t.Two=s;var u=n.BigNumber.from("1000000000000000000");t.WeiPerEther=u;var c=n.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t.MaxUint256=c;var f=n.BigNumber.from("-0x8000000000000000000000000000000000000000000000000000000000000000");t.MinInt256=f;var d=n.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t.MaxInt256=d},396:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HashZero=void 0,t.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000"},5465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AddressZero",{enumerable:!0,get:function(){return n.AddressZero}}),Object.defineProperty(t,"EtherSymbol",{enumerable:!0,get:function(){return a.EtherSymbol}}),Object.defineProperty(t,"HashZero",{enumerable:!0,get:function(){return o.HashZero}}),Object.defineProperty(t,"MaxInt256",{enumerable:!0,get:function(){return i.MaxInt256}}),Object.defineProperty(t,"MaxUint256",{enumerable:!0,get:function(){return i.MaxUint256}}),Object.defineProperty(t,"MinInt256",{enumerable:!0,get:function(){return i.MinInt256}}),Object.defineProperty(t,"NegativeOne",{enumerable:!0,get:function(){return i.NegativeOne}}),Object.defineProperty(t,"One",{enumerable:!0,get:function(){return i.One}}),Object.defineProperty(t,"Two",{enumerable:!0,get:function(){return i.Two}}),Object.defineProperty(t,"WeiPerEther",{enumerable:!0,get:function(){return i.WeiPerEther}}),Object.defineProperty(t,"Zero",{enumerable:!0,get:function(){return i.Zero}});var n=r(8721),i=r(2997),o=r(396),a=r(8347)},8347:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EtherSymbol=void 0,t.EtherSymbol="Ξ"},3989:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="hash/5.7.0"},3731:(e,t)=>{"use strict";function r(e,t){null==t&&(t=1);var r=[],n=r.forEach;return function e(t,i){n.call(t,(function(t){i>0&&Array.isArray(t)?e(t,i-1):r.push(t)}))}(e,t),r}function n(e){var t=0;function r(){return e[t++]<<8|e[t++]}for(var n=r(),i=1,o=[0,1],a=1;a>--c&1}for(var l=Math.pow(2,31),h=l>>>1,p=h>>1,b=l-1,y=0,m=0;m<31;m++)y=y<<1|d();for(var v=[],g=0,w=l;;){for(var A=Math.floor(((y-g+1)*i-1)/w),k=0,_=n;_-k>1;){var S=k+_>>>1;A>>1|d(),E=E<<1^h,x=(x^h)<<1|h|1;g=E,w=1+x-E}var P=n-4;return v.map((function(t){switch(t-P){case 3:return P+65792+(e[u++]<<16|e[u++]<<8|e[u++]);case 2:return P+256+(e[u++]<<8|e[u++]);case 1:return P+e[u++];default:return t-1}}))}function i(e){var t=0;return function(){return e[t++]}}function o(e){return 1&e?~e>>1:e>>1}function a(e,t){for(var r=Array(e),n=0,i=-1;n>=1),check:2==o}}()},t.read_mapped_map=function(e){for(var t=[];;){var n=e();if(0==n)break;t.push(d(n,e))}for(;;){var i=e()-1;if(i<0)break;t.push(l(i,e))}return function(e){for(var t={},r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=function(){return(0,i.read_compressed_payload)((0,n.decode)("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"))};var n=r(997),i=r(3731)},7032:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.ens_normalize=function(e){return v(function(e,t){for(var r=y(e).reverse(),n=[];r.length;){var o=g(r);if(o)n.push.apply(n,(0,i.default)(t(o)));else{var a=r.pop();if(f.has(a))n.push(a);else if(!d.has(a)){var s=l[a];if(!s)throw new Error("Disallowed codepoint: 0x".concat(a.toString(16).toUpperCase()));n.push.apply(n,(0,i.default)(s))}}}return v(String.fromCodePoint.apply(String,n).normalize("NFC"))}(e,m))},t.ens_normalize_post_check=v;var i=n(r(3106)),o=r(8627),a=r(3961),s=r(3731);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(e.split("."));try{for(r.s();!(t=r.n()).done;){var n=t.value,i=y(n);try{for(var o=i.lastIndexOf(b)-1;o>=0;o--)if(i[o]!==b)throw new Error("underscore only allowed at start");if(i.length>=4&&i.every((function(e){return e<128}))&&i[2]===p&&i[3]===p)throw new Error("invalid label extension")}catch(e){throw new Error('Invalid label "'.concat(n,'": ').concat(e.message))}}}catch(e){r.e(e)}finally{r.f()}return e}function g(e,t){var r,n,o,a=h,s=[],u=e.length;t&&(t.length=0);for(var c=function(){var c=e[--u];if(!(a=null===(r=a.branches.find((function(e){return e.set.has(c)})))||void 0===r?void 0:r.node))return"break";if(a.save)o=c;else if(a.check&&c===o)return"break";s.push(c),a.fe0f&&(s.push(65039),u>0&&65039==e[u-1]&&u--),a.valid&&(n=s.slice(),2==a.valid&&n.splice(1,1),t&&t.push.apply(t,(0,i.default)(e.slice(u).reverse())),e.length=u)};u&&"break"!==c(););return n}},7901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.id=function(e){return(0,n.keccak256)((0,i.toUtf8Bytes)(e))};var n=r(4642),i=r(8627)},7515:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"_TypedDataEncoder",{enumerable:!0,get:function(){return a.TypedDataEncoder}}),Object.defineProperty(t,"dnsEncode",{enumerable:!0,get:function(){return i.dnsEncode}}),Object.defineProperty(t,"ensNormalize",{enumerable:!0,get:function(){return i.ensNormalize}}),Object.defineProperty(t,"hashMessage",{enumerable:!0,get:function(){return o.hashMessage}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return n.id}}),Object.defineProperty(t,"isValidName",{enumerable:!0,get:function(){return i.isValidName}}),Object.defineProperty(t,"messagePrefix",{enumerable:!0,get:function(){return o.messagePrefix}}),Object.defineProperty(t,"namehash",{enumerable:!0,get:function(){return i.namehash}});var n=r(7901),i=r(4898),o=r(4443),a=r(2171)},4443:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hashMessage=function(e){return"string"==typeof e&&(e=(0,o.toUtf8Bytes)(e)),(0,i.keccak256)((0,n.concat)([(0,o.toUtf8Bytes)(a),(0,o.toUtf8Bytes)(String(e.length)),e]))},t.messagePrefix=void 0;var n=r(908),i=r(4642),o=r(8627),a="Ethereum Signed Message:\n";t.messagePrefix=a},4898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dnsEncode=function(e){return(0,n.hexlify)((0,n.concat)(l(e).map((function(e){if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");var t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t}))))+"00"},t.ensNormalize=function(e){return l(e).map((function(e){return(0,i.toUtf8String)(e)})).join(".")},t.isValidName=function(e){try{return 0!==l(e).length}catch(e){}return!1},t.namehash=function(e){"string"!=typeof e&&c.throwArgumentError("invalid ENS name; not a string","name",e);for(var t=f,r=l(e);r.length;)t=(0,o.keccak256)((0,n.concat)([t,(0,o.keccak256)(r.pop())]));return(0,n.hexlify)(t)};var n=r(908),i=r(8627),o=r(4642),a=r(4327),s=r(3989),u=r(7032),c=new a.Logger(s.version),f=new Uint8Array(32);function d(e){if(0===e.length)throw new Error("invalid ENS name; empty component");return e}function l(e){var t=(0,i.toUtf8Bytes)((0,u.ens_normalize)(e)),r=[];if(0===e.length)return r;for(var n=0,o=0;o=t.length)throw new Error("invalid ENS name; empty component");return r.push(d(t.slice(n))),r}f.fill(0)},2171:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.TypedDataEncoder=void 0;var i=n(r(2247)),o=n(r(9721)),a=n(r(8985)),s=r(7921),u=r(4952),c=r(908),f=r(4642),d=r(3694),l=r(4327),h=r(3989),p=r(7901),b=new l.Logger(h.version),y=new Uint8Array(32);y.fill(0);var m=u.BigNumber.from(-1),v=u.BigNumber.from(0),g=u.BigNumber.from(1),w=u.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),A=(0,c.hexZeroPad)(g.toHexString(),32),k=(0,c.hexZeroPad)(v.toHexString(),32),_={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},S=["name","version","chainId","verifyingContract","salt"];function E(e){return function(t){return"string"!=typeof t&&b.throwArgumentError("invalid domain value for ".concat(JSON.stringify(e)),"domain.".concat(e),t),t}}var x={name:E("name"),version:E("version"),chainId:function(e){try{return u.BigNumber.from(e).toString()}catch(e){}return b.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return(0,s.getAddress)(e).toLowerCase()}catch(e){}return b.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{var t=(0,c.arrayify)(e);if(32!==t.length)throw new Error("bad length");return(0,c.hexlify)(t)}catch(e){}return b.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function P(e){var t=e.match(/^(u?)int(\d*)$/);if(t){var r=""===t[1],n=parseInt(t[2]||"256");(n%8!=0||n>256||t[2]&&t[2]!==String(n))&&b.throwArgumentError("invalid numeric width","type",e);var i=w.mask(r?n-1:n),o=r?i.add(g).mul(m):v;return function(t){var r=u.BigNumber.from(t);return(r.lt(o)||r.gt(i))&&b.throwArgumentError("value out-of-bounds for ".concat(e),"value",t),(0,c.hexZeroPad)(r.toTwos(256).toHexString(),32)}}var a=e.match(/^bytes(\d+)$/);if(a){var d=parseInt(a[1]);return(0===d||d>32||a[1]!==String(d))&&b.throwArgumentError("invalid bytes width","type",e),function(t){return(0,c.arrayify)(t).length!==d&&b.throwArgumentError("invalid length for ".concat(e),"value",t),function(e){var t=(0,c.arrayify)(e),r=t.length%32;return r?(0,c.hexConcat)([t,y.slice(r)]):(0,c.hexlify)(t)}(t)}}switch(e){case"address":return function(e){return(0,c.hexZeroPad)((0,s.getAddress)(e),32)};case"bool":return function(e){return e?A:k};case"bytes":return function(e){return(0,f.keccak256)(e)};case"string":return function(e){return(0,p.id)(e)}}return null}function O(e,t){return"".concat(e,"(").concat(t.map((function(e){var t=e.name;return e.type+" "+t})).join(","),")")}var B=function(){function e(t){(0,o.default)(this,e),(0,d.defineReadOnly)(this,"types",Object.freeze((0,d.deepCopy)(t))),(0,d.defineReadOnly)(this,"_encoderCache",{}),(0,d.defineReadOnly)(this,"_types",{});var r={},n={},i={};Object.keys(t).forEach((function(e){r[e]={},n[e]=[],i[e]={}}));var a=function(e){var i={};t[e].forEach((function(o){i[o.name]&&b.throwArgumentError("duplicate variable name ".concat(JSON.stringify(o.name)," in ").concat(JSON.stringify(e)),"types",t),i[o.name]=!0;var a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===e&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(a)),"types",t),P(a)||(n[a]||b.throwArgumentError("unknown type ".concat(JSON.stringify(a)),"types",t),n[a].push(e),r[e][a]=!0)}))};for(var s in t)a(s);var u=Object.keys(n).filter((function(e){return 0===n[e].length}));for(var c in 0===u.length?b.throwArgumentError("missing primary type","types",t):u.length>1&&b.throwArgumentError("ambiguous primary types or unused types: ".concat(u.map((function(e){return JSON.stringify(e)})).join(", ")),"types",t),(0,d.defineReadOnly)(this,"primaryType",u[0]),function e(o,a){a[o]&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(o)),"types",t),a[o]=!0,Object.keys(r[o]).forEach((function(t){n[t]&&(e(t,a),Object.keys(a).forEach((function(e){i[e][t]=!0})))})),delete a[o]}(this.primaryType,{}),i){var f=Object.keys(i[c]);f.sort(),this._types[c]=O(c,t[c])+f.map((function(e){return O(e,t[e])})).join("")}}return(0,a.default)(e,[{key:"getEncoder",value:function(e){var t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}},{key:"_getEncoder",value:function(e){var t=this,r=P(e);if(r)return r;var n=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){var i=n[1],o=this.getEncoder(i),a=parseInt(n[3]);return function(e){a>=0&&e.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);var r=e.map(o);return t._types[i]&&(r=r.map(f.keccak256)),(0,f.keccak256)((0,c.hexConcat)(r))}}var s=this.types[e];if(s){var u=(0,p.id)(this._types[e]);return function(e){var r=s.map((function(r){var n=r.name,i=r.type,o=t.getEncoder(i)(e[n]);return t._types[i]?(0,f.keccak256)(o):o}));return r.unshift(u),(0,c.hexConcat)(r)}}return b.throwArgumentError("unknown type: ".concat(e),"type",e)}},{key:"encodeType",value:function(e){var t=this._types[e];return t||b.throwArgumentError("unknown type: ".concat(JSON.stringify(e)),"name",e),t}},{key:"encodeData",value:function(e,t){return this.getEncoder(e)(t)}},{key:"hashStruct",value:function(e,t){return(0,f.keccak256)(this.encodeData(e,t))}},{key:"encode",value:function(e){return this.encodeData(this.primaryType,e)}},{key:"hash",value:function(e){return this.hashStruct(this.primaryType,e)}},{key:"_visit",value:function(e,t,r){var n=this;if(P(e))return r(e,t);var i=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){var o=i[1],a=parseInt(i[3]);return a>=0&&t.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map((function(e){return n._visit(o,e,r)}))}var s=this.types[e];return s?s.reduce((function(e,i){var o=i.name,a=i.type;return e[o]=n._visit(a,t[o],r),e}),{}):b.throwArgumentError("unknown type: ".concat(e),"type",e)}},{key:"visit",value:function(e,t){return this._visit(this.primaryType,e,t)}}],[{key:"from",value:function(t){return new e(t)}},{key:"getPrimaryType",value:function(t){return e.from(t).primaryType}},{key:"hashStruct",value:function(t,r,n){return e.from(r).hashStruct(t,n)}},{key:"hashDomain",value:function(t){var r=[];for(var n in t){var i=_[n];i||b.throwArgumentError("invalid typed-data domain key: ".concat(JSON.stringify(n)),"domain",t),r.push({name:n,type:i})}return r.sort((function(e,t){return S.indexOf(e.name)-S.indexOf(t.name)})),e.hashStruct("EIP712Domain",{EIP712Domain:r},t)}},{key:"encode",value:function(t,r,n){return(0,c.hexConcat)(["0x1901",e.hashDomain(t),e.from(r).hash(n)])}},{key:"hash",value:function(t,r,n){return(0,f.keccak256)(e.encode(t,r,n))}},{key:"resolveNames",value:function(t,r,n,o){return a=this,s=void 0,u=void 0,f=i.default.mark((function a(){var s,u,f;return i.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:t=(0,d.shallowCopy)(t),s={},t.verifyingContract&&!(0,c.isHexString)(t.verifyingContract,20)&&(s[t.verifyingContract]="0x"),(u=e.from(r)).visit(n,(function(e,t){return"address"!==e||(0,c.isHexString)(t,20)||(s[t]="0x"),t})),a.t0=i.default.keys(s);case 6:if((a.t1=a.t0()).done){a.next=13;break}return f=a.t1.value,a.next=10,o(f);case 10:s[f]=a.sent,a.next=6;break;case 13:return t.verifyingContract&&s[t.verifyingContract]&&(t.verifyingContract=s[t.verifyingContract]),n=u.visit(n,(function(e,t){return"address"===e&&s[t]?s[t]:t})),a.abrupt("return",{domain:t,value:n});case 16:case"end":return a.stop()}}),a)})),new(u||(u=Promise))((function(e,t){function r(e){try{i(f.next(e))}catch(e){t(e)}}function n(e){try{i(f.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):(i=t.value,i instanceof u?i:new u((function(e){e(i)}))).then(r,n)}i((f=f.apply(a,s||[])).next())}));var a,s,u,f}},{key:"getPayload",value:function(t,r,n){e.hashDomain(t);var i={},o=[];S.forEach((function(e){var r=t[e];null!=r&&(i[e]=x[e](r),o.push({name:e,type:_[e]}))}));var a=e.from(r),s=(0,d.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(e,t){if(e.match(/^bytes(\d*)/))return(0,c.hexlify)((0,c.arrayify)(t));if(e.match(/^u?int/))return u.BigNumber.from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&b.throwArgumentError("invalid string","value",t),t}return b.throwArgumentError("unsupported type","type",e)}))}}}]),e}();t.TypedDataEncoder=B},4642:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.keccak256=function(e){return"0x"+i.default.keccak_256((0,o.arrayify)(e))};var i=n(r(5975)),o=r(908)},5975:(e,t,r)=>{"use strict";e=r.nmd(e);var n,i=r(9142),o=r(8847)(r(3355));!function(){var a="input is invalid type",s="object"===("undefined"==typeof window?"undefined":(0,o.default)(window)),u=s?window:{};u.JS_SHA3_NO_WINDOW&&(s=!1);var c=!s&&"object"===("undefined"==typeof self?"undefined":(0,o.default)(self));!u.JS_SHA3_NO_NODE_JS&&"object"===(void 0===i?"undefined":(0,o.default)(i))&&i.versions&&i.versions.node?u=r.g:c&&(u=self);var f=!u.JS_SHA3_NO_COMMON_JS&&"object"===(0,o.default)(e)&&e.exports,d=r.amdO,l=!u.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[4,1024,262144,67108864],b=[0,8,16,24],y=[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],m=[224,256,384,512],v=[128,256],g=["hex","buffer","arrayBuffer","array","digest"],w={128:168,256:136};!u.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!l||!u.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===(0,o.default)(e)&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var A=function(e,t,r){return function(n){return new j(e,t,e).update(n)[r]()}},k=function(e,t,r){return function(n,i){return new j(e,t,i).update(n)[r]()}},_=function(e,t,r){return function(t,n,i,o){return O["cshake"+e].update(t,n,i,o)[r]()}},S=function(e,t,r){return function(t,n,i,o){return O["kmac"+e].update(t,n,i,o)[r]()}},E=function(e,t,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 N(e,t,r){j.call(this,e,t,r)}j.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}for(var n,i,s=this.blocks,u=this.byteCount,c=e.length,f=this.blockCount,d=0,h=this.s;d>2]|=e[d]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(s[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=s[f],n=0;n>=8);r>0;)i.unshift(r),r=255&(e>>=8),++n;return t?i.push(n):i.unshift(n),this.update(i),i.length},j.prototype.encodeString=function(e){var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}var n=0,i=e.length;if(t)n=i;else for(var s=0;s=57344?n+=3:(u=65536+((1023&u)<<10|1023&e.charCodeAt(++s)),n+=4)}return n+=this.encode(8*n),this.update(e),n},j.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+h[15&e]+h[e>>12&15]+h[e>>8&15]+h[e>>20&15]+h[e>>16&15]+h[e>>28&15]+h[e>>24&15];a%t==0&&(F(r),o=0)}return i&&(e=r[o],s+=h[e>>4&15]+h[15&e],i>1&&(s+=h[e>>12&15]+h[e>>8&15]),i>2&&(s+=h[e>>20&15]+h[e>>16&15])),s},j.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&F(n)}return o&&(e=s<<2,t=n[a],u[e]=255&t,o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u},N.prototype=new j,N.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var F=function(e){var t,r,n,i,o,a,s,u,c,f,d,l,h,p,b,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(l=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),r=(h=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(u<<1|c>>>31),r=o^(c<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(f<<1|d>>>31),r=s^(d<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(l<<1|h>>>31),r=c^(h<<1|l>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=d^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],b=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=p^~m&g,e[1]=b^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&p,e[7]=k^~S&b,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~p&m,e[9]=S^~b&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=y[n],e[1]^=y[n+1]};if(f)e.exports=O;else{for(T=0;T{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="logger/5.7.0"},4327:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LogLevel=t.ErrorCode=void 0;var i,o,a=n(r(9721)),s=n(r(8985)),u=r(7252),c=!1,f=!1,d={debug:1,default:2,info:2,warning:3,error:4,off:5},l=d.default,h=null,p=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(t){try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();t.LogLevel=i,function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(i||(t.LogLevel=i={})),t.ErrorCode=o,function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(o||(t.ErrorCode=o={}));var b="0123456789abcdef",y=function(){function e(t){(0,a.default)(this,e),Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}return(0,s.default)(e,[{key:"_log",value:function(e,t){var r=e.toLowerCase();null==d[r]&&this.throwArgumentError("invalid log level name","logLevel",e),l>d[r]||console.log.apply(console,t)}},{key:"debug",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n>4],r+=b[15&t[o]];i.push(e+"=Uint8Array(0x"+r+")")}else i.push(e+"="+JSON.stringify(t))}catch(t){i.push(e+"="+JSON.stringify(n[e].toString()))}})),i.push("code=".concat(r)),i.push("version=".concat(this.version));var a=t,s="";switch(r){case o.NUMERIC_FAULT:s="NUMERIC_FAULT";var u=t;switch(u){case"overflow":case"underflow":case"division-by-zero":s+="-"+u;break;case"negative-power":case"negative-width":s+="-unsupported";break;case"unbound-bitwise-result":s+="-unbound-result"}break;case o.CALL_EXCEPTION:case o.INSUFFICIENT_FUNDS:case o.MISSING_NEW:case o.NONCE_EXPIRED:case o.REPLACEMENT_UNDERPRICED:case o.TRANSACTION_REPLACED:case o.UNPREDICTABLE_GAS_LIMIT:s=r}s&&(t+=" [ See: https://links.ethers.org/v5-errors-"+s+" ]"),i.length&&(t+=" ("+i.join(", ")+")");var c=new Error(t);return c.reason=a,c.code=r,Object.keys(n).forEach((function(e){c[e]=n[e]})),c}},{key:"throwError",value:function(e,t,r){throw this.makeError(e,t,r)}},{key:"throwArgumentError",value:function(t,r,n){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:r,value:n})}},{key:"assert",value:function(e,t,r,n){e||this.throwError(t,r,n)}},{key:"assertArgument",value:function(e,t,r,n){e||this.throwArgumentError(t,r,n)}},{key:"checkNormalize",value:function(t){null==t&&(t="platform missing String.prototype.normalize"),p&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:p})}},{key:"checkSafeUint53",value:function(t,r){"number"==typeof t&&(null==r&&(r="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}},{key:"checkArgumentCount",value:function(t,r,n){n=n?": "+n:"",tr&&this.throwError("too many arguments"+n,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})}},{key:"checkNew",value:function(t,r){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})}},{key:"checkAbstract",value:function(t,r){t===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})}}],[{key:"globalLogger",value:function(){return h||(h=new e(u.version)),h}},{key:"setCensorship",value:function(t,r){if(!t&&r&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),c){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}f=!!t,c=!!r}},{key:"setLogLevel",value:function(t){var r=d[t.toLowerCase()];null!=r?l=r:e.globalLogger().warn("invalid log level - "+t)}},{key:"from",value:function(t){return new e(t)}}]),e}();t.Logger=y,y.errors=o,y.levels=i},4071:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="properties/5.7.0"},3694:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.Description=void 0,t.checkProperties=function(e,t){e&&"object"===(0,s.default)(e)||d.throwArgumentError("invalid object","object",e),Object.keys(e).forEach((function(r){t[r]||d.throwArgumentError("invalid object key - "+r,"transaction:"+r,e)}))},t.deepCopy=y,t.defineReadOnly=l,t.getStatic=function(e,t){for(var r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||"object"!==(0,s.default)(e.prototype))break;e=Object.getPrototypeOf(e.prototype).constructor}return null},t.resolveProperties=function(e){return f(this,void 0,void 0,i.default.mark((function t(){var r,n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Object.keys(e).map((function(t){var r=e[t];return Promise.resolve(r).then((function(e){return{key:t,value:e}}))})),t.next=3,Promise.all(r);case 3:return n=t.sent,t.abrupt("return",n.reduce((function(e,t){return e[t.key]=t.value,e}),{}));case 5:case"end":return t.stop()}}),t)})))},t.shallowCopy=function(e){var t={};for(var r in e)t[r]=e[r];return t};var i=n(r(2247)),o=n(r(8985)),a=n(r(9721)),s=n(r(3355)),u=r(4327),c=r(4071),f=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},d=new u.Logger(c.version);function l(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}var h={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function p(e){if(null==e||h[(0,s.default)(e)])return!0;if(Array.isArray(e)||"object"===(0,s.default)(e)){if(!Object.isFrozen(e))return!1;for(var t=Object.keys(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="rlp/5.7.0"},5265:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){var t=(0,n.arrayify)(e),r=d(t,0);return r.consumed!==t.length&&a.throwArgumentError("invalid rlp data","data",e),r.result},t.encode=function(e){return(0,n.hexlify)(c(e))};var n=r(908),i=r(4327),o=r(1466),a=new i.Logger(o.version);function s(e){for(var t=[];e;)t.unshift(255&e),e>>=8;return t}function u(e,t,r){for(var n=0,i=0;it+1+n&&a.throwError("child data too short",i.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:o}}function d(e,t){if(0===e.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),e[t]>=248){var r=e[t]-247;t+1+r>e.length&&a.throwError("data short segment too short",i.Logger.errors.BUFFER_OVERRUN,{});var o=u(e,t+1,r);return t+1+r+o>e.length&&a.throwError("data long segment too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(e,t,t+1+r,r+o)}if(e[t]>=192){var s=e[t]-192;return t+1+s>e.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(e,t,t+1,s)}if(e[t]>=184){var c=e[t]-183;t+1+c>e.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{});var d=u(e,t+1,c);return t+1+c+d>e.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+c+d,result:(0,n.hexlify)(e.slice(t+1+c,t+1+c+d))}}if(e[t]>=128){var l=e[t]-128;return t+1+l>e.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+l,result:(0,n.hexlify)(e.slice(t+1,t+1+l))}}return{consumed:1,result:(0,n.hexlify)(e[t])}}},8100:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="signing-key/5.7.0"},6918:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.EC=void 0;var i=n(r(3355)),o=n(r(1734)),a=n(r(7198));function s(e,t,r){return r={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&r.path)}},e(r,r.exports),r.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self&&self;var u=c;function c(e,t){if(!e)throw new Error(t||"Assertion failed")}c.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)};var f=s((function(e,t){var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}})),d=s((function(e,t){var r=t;r.assert=u,r.toArray=f.toArray,r.zero2=f.zero2,r.toHex=f.toHex,r.encode=f.encode,r.getNAF=function(e,t,r){var n=new Array(Math.max(e.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(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,u=e.andln(3)+i&3,c=t.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!=(n=e.andln(7)+i&7)&&5!==n||2!==c?u:-u,r[0].push(a),s=0==(1&c)?0:3!=(n=t.andln(7)+o&7)&&5!==n||2!==u?c:-c,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new o.default(e,"hex","le")}})),l=d.getNAF,h=d.getJSF,p=d.assert;function b(e,t){this.type=e,this.p=new o.default(t.p,16),this.red=t.prime?o.default.red(t.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=t.n&&new o.default(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.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 y=b;function m(e,t){this.curve=e,this.type=t,this.precomputed=null}b.prototype.point=function(){throw new Error("Not implemented")},b.prototype.validate=function(){throw new Error("Not implemented")},b.prototype._fixedNafMul=function(e,t){p(e.precomputed);var r=e._getDoubles(),n=l(t,1,this._bitLength),i=(1<=o;u--)a=(a<<1)+n[u];s.push(a)}for(var c=this.jpoint(null,null,null),f=this.jpoint(null,null,null),d=i;d>0;d--){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 c=o[s];p(0!==c),a="affine"===e.type?c>0?a.mixedAdd(i[c-1>>1]):a.mixedAdd(i[-c-1>>1].neg()):c>0?a.add(i[c-1>>1]):a.add(i[-c-1>>1].neg())}return"affine"===e.type?a.toP():a},b.prototype._wnafMulAdd=function(e,t,r,n,i){var o,a,s,u=this._wnafT1,c=this._wnafT2,f=this._wnafT3,d=0;for(o=0;o=1;o-=2){var b=o-1,y=o;if(1===u[b]&&1===u[y]){var m=[t[b],null,null,t[y]];0===t[b].y.cmp(t[y].y)?(m[1]=t[b].add(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg())):0===t[b].y.cmp(t[y].y.redNeg())?(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].add(t[y].neg())):(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=h(r[b],r[y]);for(d=Math.max(g[0].length,d),f[b]=new Array(d),f[y]=new Array(d),a=0;a=0;o--){for(var S=0;o>=0;){var E=!0;for(a=0;a=0&&S++,k=k.dblp(S),o<0)break;for(a=0;a0?s=c[a][x-1>>1]:x<0&&(s=c[a][-x-1>>1].neg()),k="affine"===s.type?k.mixedAdd(s):k.add(s))}}for(o=0;o=Math.ceil((e.bitLength()+1)/t.step)},m.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(a=t,s=r),n.negative&&(n=n.neg(),i=i.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:i},{a,b:s}]},w.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},w.prototype.pointFromX=function(e,t){(e=new o.default(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.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(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},w.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},w.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},k.prototype.isInfinity=function(){return this.inf},k.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},k.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).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(e){return e=new o.default(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},k.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},k.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},k.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},k.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.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 t},k.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},v(_,y.BasePoint),w.prototype.jpoint=function(e,t,r){return new _(this,e,t,r)},_.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},_.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},_.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.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 c=s.redSqr(),f=c.redMul(s),d=n.redMul(c),l=u.redSqr().redIAdd(f).redISub(d).redISub(d),h=u.redMul(d.redISub(l)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(l,h,p)},_.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).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(),c=u.redMul(a),f=r.redMul(u),d=s.redSqr().redIAdd(c).redISub(f).redISub(f),l=s.redMul(f.redISub(d)).redISub(i.redMul(c)),h=this.z.redMul(a);return this.curve.jpoint(d,l,h)},_.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},_.prototype.inspect=function(){return this.isInfinity()?"":""},_.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var S=s((function(e,t){var r=t;r.base=y,r.short=A,r.mont=null,r.edwards=null})),E=s((function(e,t){var r,n=t,i=d.assert;function o(e){"short"===e.type?this.curve=new S.short(e):"edwards"===e.type?this.curve=new S.edwards(e):this.curve=new S.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new o(t);return Object.defineProperty(n,e,{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(e){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(e){if(!(this instanceof x))return new x(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=f.toArray(e.entropy,e.entropyEnc||"hex"),r=f.toArray(e.nonce,e.nonceEnc||"hex"),n=f.toArray(e.pers,e.persEnc||"hex");u(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var P=x;x.prototype._init=function(e,t,r){var n=e.concat(t).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(e.concat(r||[])),this._reseed=1},x.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=f.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var C=d.assert;function I(e,t){if(e instanceof I)return e;this._importDER(e,t)||(C(e.r&&e.s,"Signature without r or s"),this.r=new o.default(e.r,16),this.s=new o.default(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var M=I;function U(){this.place=0}function R(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=t.place;o>>=0;return!(i<=127)&&(t.place=a,i)}function j(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}I.prototype._importDER=function(e,t){e=d.toArray(e,t);var r=new U;if(48!==e[r.place++])return!1;var n=R(e,r);if(!1===n)return!1;if(n+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var i=R(e,r);if(!1===i)return!1;var a=e.slice(r.place,i+r.place);if(r.place+=i,2!==e[r.place++])return!1;var s=R(e,r);if(!1===s)return!1;if(e.length!==s+r.place)return!1;var u=e.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},I.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=j(t),r=j(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];N(n,t.length),(n=n.concat(t)).push(2),N(n,r.length);var i=n.concat(r),o=[48];return N(o,i.length),o=o.concat(i),d.encode(o,e)};var F=function(){throw new Error("unsupported")},L=d.assert;function D(e){if(!(this instanceof D))return new D(e);"string"==typeof e&&(L(Object.prototype.hasOwnProperty.call(E,e),"Unknown curve "+e),e=E[e]),e instanceof E.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var H=D;D.prototype.keyPair=function(e){return new T(this,e)},D.prototype.keyFromPrivate=function(e,t){return T.fromPrivate(this,e,t)},D.prototype.keyFromPublic=function(e,t){return T.fromPublic(this,e,t)},D.prototype.genKeyPair=function(e){e||(e={});for(var t=new P({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||F(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new o.default(2));;){var i=new o.default(t.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},D.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},D.prototype.sign=function(e,t,r,n){"object"===(0,i.default)(r)&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new o.default(e,16));for(var a=this.n.byteLength(),s=t.getPrivate().toArray("be",a),u=e.toArray("be",a),c=new P({hash:this.hash,entropy:s,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),f=this.n.sub(new o.default(1)),d=0;;d++){var l=n.k?n.k(d):new o.default(c.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(f)>=0)){var h=this.g.mul(l);if(!h.isInfinity()){var p=h.getX(),b=p.umod(this.n);if(0!==b.cmpn(0)){var y=l.invm(this.n).mul(b.mul(t.getPrivate()).iadd(e));if(0!==(y=y.umod(this.n)).cmpn(0)){var m=(h.getY().isOdd()?1:0)|(0!==p.cmp(b)?2:0);return n.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),m^=1),new M({r:b,s:y,recoveryParam:m})}}}}}},D.prototype.verify=function(e,t,r,n){e=this._truncateToN(new o.default(e,16)),r=this.keyFromPublic(r,n);var i=(t=new M(t,"hex")).r,a=t.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),c=u.mul(e).umod(this.n),f=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),f)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(c,r.getPublic(),f)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},D.prototype.recoverPubKey=function(e,t,r,n){L((3&r)===r,"The recovery param is more than two bits"),t=new M(t,n);var i=this.n,a=new o.default(e),s=t.r,u=t.s,c=1&r,f=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw new Error("Unable to find sencond key candinate");s=f?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var d=t.r.invm(i),l=i.sub(a).mul(d).umod(i),h=u.mul(d).umod(i);return this.g.mulAdd(l,s,h)},D.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new M(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var q=s((function(e,t){var r=t;r.version="6.5.4",r.utils=d,r.rand=function(){throw new Error("unsupported")},r.curve=S,r.curves=E,r.ec=H,r.eddsa=null})),z=q.ec;t.EC=z},7612:(e,t,r)=>{"use strict";var n=r(8847);Object.defineProperty(t,"__esModule",{value:!0}),t.SigningKey=void 0,t.computePublicKey=b,t.recoverPublicKey=function(e,t){var r=(0,s.splitSignature)(t),n={r:(0,s.arrayify)(r.r),s:(0,s.arrayify)(r.s)};return"0x"+h().recoverPubKey((0,s.arrayify)(e),n,r.recoveryParam).encode("hex",!1)};var i=n(r(9721)),o=n(r(8985)),a=r(6918),s=r(908),u=r(3694),c=r(4327),f=r(8100),d=new c.Logger(f.version),l=null;function h(){return l||(l=new a.EC("secp256k1")),l}var p=function(){function e(t){(0,i.default)(this,e),(0,u.defineReadOnly)(this,"curve","secp256k1"),(0,u.defineReadOnly)(this,"privateKey",(0,s.hexlify)(t)),32!==(0,s.hexDataLength)(this.privateKey)&&d.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");var r=h().keyFromPrivate((0,s.arrayify)(this.privateKey));(0,u.defineReadOnly)(this,"publicKey","0x"+r.getPublic(!1,"hex")),(0,u.defineReadOnly)(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),(0,u.defineReadOnly)(this,"_isSigningKey",!0)}return(0,o.default)(e,[{key:"_addPoint",value:function(e){var t=h().keyFromPublic((0,s.arrayify)(this.publicKey)),r=h().keyFromPublic((0,s.arrayify)(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")}},{key:"signDigest",value:function(e){var t=h().keyFromPrivate((0,s.arrayify)(this.privateKey)),r=(0,s.arrayify)(e);32!==r.length&&d.throwArgumentError("bad digest length","digest",e);var n=t.sign(r,{canonical:!0});return(0,s.splitSignature)({recoveryParam:n.recoveryParam,r:(0,s.hexZeroPad)("0x"+n.r.toString(16),32),s:(0,s.hexZeroPad)("0x"+n.s.toString(16),32)})}},{key:"computeSharedSecret",value:function(e){var t=h().keyFromPrivate((0,s.arrayify)(this.privateKey)),r=h().keyFromPublic((0,s.arrayify)(b(e)));return(0,s.hexZeroPad)("0x"+t.derive(r.getPublic()).toString(16),32)}}],[{key:"isSigningKey",value:function(e){return!(!e||!e._isSigningKey)}}]),e}();function b(e,t){var r=(0,s.arrayify)(e);if(32===r.length){var n=new p(r);return t?"0x"+h().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}return 33===r.length?t?(0,s.hexlify)(r):"0x"+h().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+h().keyFromPublic(r).getPublic(!0,"hex"):(0,s.hexlify)(r):d.throwArgumentError("invalid public or private key","key","[REDACTED]")}t.SigningKey=p},6518:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="strings/5.7.0"},5856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes32String=function(e){var t=(0,o.toUtf8Bytes)(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return(0,i.hexlify)((0,i.concat)([t,n.HashZero]).slice(0,32))},t.parseBytes32String=function(e){var t=(0,i.arrayify)(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return(0,o.toUtf8String)(t.slice(0,r))};var n=r(5465),i=r(908),o=r(4997)},8645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._nameprepTableA1=p,t._nameprepTableB2=b,t._nameprepTableC=y,t.nameprep=function(e){if(e.match(/^[a-z0-9-]*$/i)&&e.length<=59)return e.toLowerCase();var t,r=(0,n.toUtf8CodePoints)(e);t=r.map((function(e){return u.indexOf(e)>=0||e>=65024&&e<=65039?[]:b(e)||[e]})),r=t.reduce((function(e,t){return t.forEach((function(t){e.push(t)})),e}),[]),(r=(0,n.toUtf8CodePoints)((0,n._toUtf8String)(r),n.UnicodeNormalizationForm.NFKC)).forEach((function(e){if(y(e))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),r.forEach((function(e){if(p(e))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var i=(0,n._toUtf8String)(r);if("-"===i.substring(0,1)||"--"===i.substring(2,4)||"-"===i.substring(i.length-1))throw new Error("invalid hyphen");return i};var n=r(4997);function i(e,t){t||(t=function(e){return[parseInt(e,16)]});var r=0,n={};return e.split(",").forEach((function(e){var i=e.split(":");r+=parseInt(i[0],16),n[r]=t(i[1])})),n}function o(e){var t=0;return e.split(",").map((function(e){var r=e.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:t+parseInt(r[0],16),h:t=parseInt(r[1],16)}}))}function a(e,t){for(var r=0,n=0;n=(r+=i.l)&&e<=r+i.h&&(e-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-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(e){return parseInt(e,16)})),c=[{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}],f=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"),d=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(e){if(e.length%4!=0)throw new Error("bad data");for(var t=[],r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"UnicodeNormalizationForm",{enumerable:!0,get:function(){return o.UnicodeNormalizationForm}}),Object.defineProperty(t,"Utf8ErrorFuncs",{enumerable:!0,get:function(){return o.Utf8ErrorFuncs}}),Object.defineProperty(t,"Utf8ErrorReason",{enumerable:!0,get:function(){return o.Utf8ErrorReason}}),Object.defineProperty(t,"_toEscapedUtf8String",{enumerable:!0,get:function(){return o._toEscapedUtf8String}}),Object.defineProperty(t,"formatBytes32String",{enumerable:!0,get:function(){return n.formatBytes32String}}),Object.defineProperty(t,"nameprep",{enumerable:!0,get:function(){return i.nameprep}}),Object.defineProperty(t,"parseBytes32String",{enumerable:!0,get:function(){return n.parseBytes32String}}),Object.defineProperty(t,"toUtf8Bytes",{enumerable:!0,get:function(){return o.toUtf8Bytes}}),Object.defineProperty(t,"toUtf8CodePoints",{enumerable:!0,get:function(){return o.toUtf8CodePoints}}),Object.defineProperty(t,"toUtf8String",{enumerable:!0,get:function(){return o.toUtf8String}});var n=r(5856),i=r(8645),o=r(4997)},4997:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ErrorReason=t.Utf8ErrorFuncs=t.UnicodeNormalizationForm=void 0,t._toEscapedUtf8String=function(e,t){return'"'+d(e,t).map((function(e){if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?h(e):h(55296+((e-=65536)>>10&1023))+h(56320+(1023&e))})).join("")+'"'},t._toUtf8String=p,t.toUtf8Bytes=l,t.toUtf8CodePoints=function(e){return d(l(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current))},t.toUtf8String=function(e,t){return p(d(e,t))};var n,i,o=r(908),a=r(4327),s=r(6518),u=new a.Logger(s.version);function c(e,t,r,n,o){if(e===i.BAD_PREFIX||e===i.UNEXPECTED_CONTINUE){for(var a=0,s=t+1;s>6==2;s++)a++;return a}return e===i.OVERRUN?r.length-t-1:0}t.UnicodeNormalizationForm=n,function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(n||(t.UnicodeNormalizationForm=n={})),t.Utf8ErrorReason=i,function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(i||(t.Utf8ErrorReason=i={}));var f=Object.freeze({error:function(e,t,r,n,i){return u.throwArgumentError("invalid codepoint at offset ".concat(t,"; ").concat(e),"bytes",r)},ignore:c,replace:function(e,t,r,n,o){return e===i.OVERLONG?(n.push(o),0):(n.push(65533),c(e,t,r))}});function d(e,t){null==t&&(t=f.error),e=(0,o.arrayify)(e);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+=t(128==(192&a)?i.UNEXPECTED_CONTINUE:i.BAD_PREFIX,n-1,e,r);continue}s=3,u=65535}if(n-1+s>=e.length)n+=t(i.OVERRUN,n-1,e,r);else{for(var c=a&(1<<8-s-1)-1,d=0;d1114111?n+=t(i.OUT_OF_RANGE,n-1-s,e,r,c):c>=55296&&c<=57343?n+=t(i.UTF16_SURROGATE,n-1-s,e,r,c):c<=u?n+=t(i.OVERLONG,n-1-s,e,r,c):r.push(c))}}else r.push(a)}return r}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;t!=n.current&&(u.checkNormalize(),e=e.normalize(t));for(var r=[],i=0;i>6|192),r.push(63&a|128);else if(55296==(64512&a)){i++;var s=e.charCodeAt(i);if(i>=e.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var c=65536+((1023&a)<<10)+(1023&s);r.push(c>>18|240),r.push(c>>12&63|128),r.push(c>>6&63|128),r.push(63&c|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)}return(0,o.arrayify)(r)}function h(e){var t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function p(e){return e.map((function(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))})).join("")}t.Utf8ErrorFuncs=f},6783:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="transactions/5.7.0"},1936:(e,t,r)=>{"use strict";var n=r(3355);Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionTypes=void 0,t.accessListify=E,t.computeAddress=A,t.parse=function(e){var t=(0,a.arrayify)(e);if(t[0]>127)return function(e){var t=f.decode(e);9!==t.length&&6!==t.length&&y.throwArgumentError("invalid raw transaction","rawTransaction",e);var r={nonce:v(t[0]).toNumber(),gasPrice:v(t[1]),gasLimit:v(t[2]),to:m(t[3]),value:v(t[4]),data:t[5],chainId:0};if(6===t.length)return r;try{r.v=o.BigNumber.from(t[6]).toNumber()}catch(e){return r}if(r.r=(0,a.hexZeroPad)(t[7],32),r.s=(0,a.hexZeroPad)(t[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=t.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)(f.encode(i));try{r.from=k(s,{r:(0,a.hexlify)(r.r),s:(0,a.hexlify)(r.s),recoveryParam:n})}catch(e){}r.hash=(0,u.keccak256)(e)}return r.type=null,r}(t);switch(t[0]){case 1:return function(e){var t=f.decode(e.slice(1));8!==t.length&&11!==t.length&&y.throwArgumentError("invalid component count for transaction type: 1","payload",(0,a.hexlify)(e));var r={type:1,chainId:v(t[0]).toNumber(),nonce:v(t[1]).toNumber(),gasPrice:v(t[2]),gasLimit:v(t[3]),to:m(t[4]),value:v(t[5]),data:t[6],accessList:E(t[7])};return 8===t.length||(r.hash=(0,u.keccak256)(e),B(r,t.slice(8),O)),r}(t);case 2:return function(e){var t=f.decode(e.slice(1));9!==t.length&&12!==t.length&&y.throwArgumentError("invalid component count for transaction type: 2","payload",(0,a.hexlify)(e));var r=v(t[2]),n=v(t[3]),i={type:2,chainId:v(t[0]).toNumber(),nonce:v(t[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:v(t[4]),to:m(t[5]),value:v(t[6]),data:t[7],accessList:E(t[8])};return 9===t.length||(i.hash=(0,u.keccak256)(e),B(i,t.slice(9),P)),i}(t)}return y.throwError("unsupported transaction type: ".concat(t[0]),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})},t.recoverAddress=k,t.serialize=function(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&y.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),function(e,t){(0,c.checkProperties)(e,w);var r=[];g.forEach((function(t){var n=e[t.name]||[],i={};t.numeric&&(i.hexPad="left"),n=(0,a.arrayify)((0,a.hexlify)(n,i)),t.length&&n.length!==t.length&&n.length>0&&y.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),t.maxLength&&(n=(0,a.stripZeros)(n)).length>t.maxLength&&y.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),r.push((0,a.hexlify)(n))}));var n=0;if(null!=e.chainId?"number"!=typeof(n=e.chainId)&&y.throwArgumentError("invalid transaction.chainId","transaction",e):t&&!(0,a.isBytesLike)(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push((0,a.hexlify)(n)),r.push("0x"),r.push("0x")),!t)return f.encode(r);var i=(0,a.splitSignature)(t),o=27+i.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&y.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==o&&y.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),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))),f.encode(r)}(e,t);switch(e.type){case 1:return O(e,t);case 2:return P(e,t)}return y.throwError("unsupported transaction type: ".concat(e.type),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})};var i=r(7921),o=r(4952),a=r(908),s=r(5465),u=r(4642),c=r(3694),f=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var s=o?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=e[a]}return i.default=e,r&&r.set(e,i),i}(r(5265)),d=r(7612),l=r(4327),h=r(6783);function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}var b,y=new l.Logger(h.version);function m(e){return"0x"===e?null:(0,i.getAddress)(e)}function v(e){return"0x"===e?s.Zero:o.BigNumber.from(e)}t.TransactionTypes=b,function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"}(b||(t.TransactionTypes=b={}));var g=[{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"}],w={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function A(e){var t=(0,d.computePublicKey)(e);return(0,i.getAddress)((0,a.hexDataSlice)((0,u.keccak256)((0,a.hexDataSlice)(t,1)),12))}function k(e,t){return A((0,d.recoverPublicKey)((0,a.arrayify)(e),t))}function _(e,t){var r=(0,a.stripZeros)(o.BigNumber.from(e).toHexString());return r.length>32&&y.throwArgumentError("invalid length for "+t,"transaction:"+t,e),r}function S(e,t){return{address:(0,i.getAddress)(e),storageKeys:(t||[]).map((function(t,r){return 32!==(0,a.hexDataLength)(t)&&y.throwArgumentError("invalid access list storageKey","accessList[".concat(e,":").concat(r,"]"),t),t.toLowerCase()}))}}function E(e){if(Array.isArray(e))return e.map((function(e,t){return Array.isArray(e)?(e.length>2&&y.throwArgumentError("access list expected to be [ address, storageKeys[] ]","value[".concat(t,"]"),e),S(e[0],e[1])):S(e.address,e.storageKeys)}));var t=Object.keys(e).map((function(t){var r=e[t].reduce((function(e,t){return e[t]=!0,e}),{});return S(t,Object.keys(r).sort())}));return t.sort((function(e,t){return e.address.localeCompare(t.address)})),t}function x(e){return E(e).map((function(e){return[e.address,e.storageKeys]}))}function P(e,t){if(null!=e.gasPrice){var r=o.BigNumber.from(e.gasPrice),n=o.BigNumber.from(e.maxFeePerGas||0);r.eq(n)||y.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:r,maxFeePerGas:n})}var s=[_(e.chainId||0,"chainId"),_(e.nonce||0,"nonce"),_(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),_(e.maxFeePerGas||0,"maxFeePerGas"),_(e.gasLimit||0,"gasLimit"),null!=e.to?(0,i.getAddress)(e.to):"0x",_(e.value||0,"value"),e.data||"0x",x(e.accessList||[])];if(t){var u=(0,a.splitSignature)(t);s.push(_(u.recoveryParam,"recoveryParam")),s.push((0,a.stripZeros)(u.r)),s.push((0,a.stripZeros)(u.s))}return(0,a.hexConcat)(["0x02",f.encode(s)])}function O(e,t){var r=[_(e.chainId||0,"chainId"),_(e.nonce||0,"nonce"),_(e.gasPrice||0,"gasPrice"),_(e.gasLimit||0,"gasLimit"),null!=e.to?(0,i.getAddress)(e.to):"0x",_(e.value||0,"value"),e.data||"0x",x(e.accessList||[])];if(t){var n=(0,a.splitSignature)(t);r.push(_(n.recoveryParam,"recoveryParam")),r.push((0,a.stripZeros)(n.r)),r.push((0,a.stripZeros)(n.s))}return(0,a.hexConcat)(["0x01",f.encode(r)])}function B(e,t,r){try{var n=v(t[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");e.v=n}catch(e){y.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=(0,a.hexZeroPad)(t[1],32),e.s=(0,a.hexZeroPad)(t[2],32);try{var i=(0,u.keccak256)(r(e));e.from=k(i,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}},3368:(e,t,r)=>{"use strict";var n,i,o=r(8847)(r(3355));void 0===(i="function"==typeof(n=function(){function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;r{"use strict";var n=t;n.bignum=r(1734),n.define=r(1568).define,n.base=r(2412),n.constants=r(9387),n.decoders=r(1500),n.encoders=r(7506)},1568:(e,t,r)=>{"use strict";var n=r(7506),i=r(1500),o=r(1736);function a(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new a(e,t)},a.prototype._createNamed=function(e){var t=this.name;function r(e){this._initNamed(e,t)}return o(r,e),r.prototype._initNamed=function(t,r){e.call(this,t,r)},new r(this)},a.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(i[e])),this.decoders[e]},a.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},a.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n[e])),this.encoders[e]},a.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},585:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1736),o=r(2719).b,a=r(1755).Buffer;function s(e,t){o.call(this,t),a.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function u(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return u.isEncoderBuffer(e)||(e=new u(e,t)),this.length+=e.length,e}),this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=a.byteLength(e);else{if(!a.isBuffer(e))return t.error("Unsupported type: "+(0,n.default)(e));this.value=e,this.length=e.length}}i(s,o),t.C=s,s.isDecoderBuffer=function(e){return e instanceof s||"object"===(0,n.default)(e)&&a.isBuffer(e.base)&&"DecoderBuffer"===e.constructor.name&&"number"==typeof e.offset&&"number"==typeof e.length&&"function"==typeof e.save&&"function"==typeof e.restore&&"function"==typeof e.isEmpty&&"function"==typeof e.readUInt8&&"function"==typeof e.skip&&"function"==typeof e.raw},s.prototype.save=function(){return{offset:this.offset,reporter:o.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,o.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.R=u,u.isEncoderBuffer=function(e){return e instanceof u||"object"===(0,n.default)(e)&&"EncoderBuffer"===e.constructor.name&&"number"==typeof e.length&&"function"==typeof e.join},u.prototype.join=function(e,t){return e||(e=a.alloc(this.length)),t||(t=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(e,t),t+=r.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):a.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},2412:(e,t,r)=>{"use strict";var n=t;n.Reporter=r(2719).b,n.DecoderBuffer=r(585).C,n.EncoderBuffer=r(585).R,n.Node=r(1371)},1371:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(2719).b,o=r(585).R,a=r(585).C,s=r(4504),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"],c=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(u);function f(e,t,r){var n={};this._baseState=n,n.name=r,n.enc=e,n.parent=t||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())}e.exports=f;var d=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];f.prototype.clone=function(){var e=this._baseState,t={};d.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);return r._baseState=t,r},f.prototype._wrap=function(){var e=this._baseState;c.forEach((function(t){this[t]=function(){var r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},f.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},f.prototype._useArgs=function(e){var t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(s(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!==(0,n.default)(e)||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);var n=e[r];t[n]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){f.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),u.forEach((function(e){f.prototype[e]=function(){var t=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(r),this}})),f.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},f.prototype.optional=function(){return this._baseState.optional=!0,this},f.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},f.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},f.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},f.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},f.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},f.prototype.any=function(){return this._baseState.any=!0,this},f.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},f.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},f.prototype._decode=function(e,t){var r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));var n,i=r.default,o=!0,s=null;if(null!==r.key&&(s=e.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(e,u,r.any),e.isError(o))return o}else{var c=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),o=!0}catch(e){o=!1}e.restore(c)}}if(r.obj&&o&&(n=e.enterObject()),o){if(null!==r.explicit){var f=this._decodeTag(e,r.explicit);if(e.isError(f))return f;e=f}var d=e.offset;if(null===r.use&&null===r.choice){var l;r.any&&(l=e.save());var h=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(h))return h;r.any?i=e.raw(l):e=h}if(t&&t.track&&null!==r.tag&&t.track(e.path(),d,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t)),e.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var p=new a(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(p,t)}}return r.obj&&o&&(i=e.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==s&&e.exitKey(s):e.leaveKey(s,r.key,i),i},f.prototype._decodeGeneric=function(e,t,r){var n=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},f.prototype._getUse=function(e,t){var r=this._baseState;return r.useDecoder=this._use(e,t),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},f.prototype._decodeChoice=function(e,t){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var a=e.save(),s=r.choice[o];try{var u=s._decode(e,t);if(e.isError(u))return!1;n={type:o,value:u},i=!0}catch(t){return e.restore(a),!1}return!0}),this),i?n:e.error("Choice not matched")},f.prototype._createEncoderBuffer=function(e){return new o(e,this.reporter)},f.prototype._encode=function(e,t,r){var n=this._baseState;if(null===n.default||n.default!==e){var i=this._encodeValue(e,t,r);if(void 0!==i&&!this._skipDefault(i,t,r))return i}},f.prototype._encodeValue=function(e,t,r){var o=this._baseState;if(null===o.parent)return o.children[0]._encode(e,t||new i);var a=null;if(this.reporter=t,o.optional&&void 0===e){if(null===o.default)return;e=o.default}var s=null,u=!1;if(o.any)a=this._createEncoderBuffer(e);else if(o.choice)a=this._encodeChoice(e,t);else if(o.contains)s=this._getUse(o.contains,r)._encode(e,t),u=!0;else if(o.children)s=o.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");var i=t.enterKey(r._baseState.key);if("object"!==(0,n.default)(e))return t.error("Child expected, but input is not object");var o=r._encode(e[r._baseState.key],t,e);return t.leaveKey(i),o}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===o.tag||"setof"===o.tag){if(!o.args||1!==o.args.length)return t.error("Too many args for : "+o.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var c=this.clone();c._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(r){var n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),c))}else null!==o.use?a=this._getUse(o.use,r)._encode(e,t):(s=this._encodePrimitive(o.tag,e),u=!0);if(!o.any&&null===o.choice){var f=null!==o.implicit?o.implicit:o.tag,d=null===o.implicit?"universal":"context";null===f?null===o.use&&t.error("Tag could be omitted only for .use()"):null===o.use&&(a=this._encodeComposite(f,u,d,s))}return null!==o.explicit&&(a=this._encodeComposite(o.explicit,!1,"context",a)),a},f.prototype._encodeChoice=function(e,t){var r=this._baseState,n=r.choice[e.type];return n||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},f.prototype._encodePrimitive=function(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},f.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},f.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},2719:(e,t,r)=>{"use strict";var n=r(1736);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.b=i,i.prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,r){var n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){var t=this._reporterState,r=t.obj;return t.obj=e,r},i.prototype.error=function(e){var t,r=this._reporterState,n=e instanceof o;if(t=n?e:new o(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},i.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},6520:(e,t)=>{"use strict";function r(e){var t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);var n=e[r];t[n]=r})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=r(t.tagClass),t.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"},t.tagByName=r(t.tag)},9387:(e,t,r)=>{"use strict";var n=t;n._reverse=function(e){var t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);var n=e[r];t[n]=r})),t},n.der=r(6520)},2387:(e,t,r)=>{"use strict";var n=r(1736),i=r(1734),o=r(585).C,a=r(1371),s=r(6520);function u(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){a.call(this,"der",e)}function f(e,t){var r=e.readUInt8(t);if(e.isError(r))return r;var n=s.tagClass[r>>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:s.tag[r]}}function d(e,t,r){var n=e.readUInt8(r);if(e.isError(n))return n;if(!t&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return e.error("length octect is too long");n=0;for(var o=0;o{"use strict";var n=t;n.der=r(2387),n.pem=r(529)},529:(e,t,r)=>{"use strict";var n=r(1736),i=r(1755).Buffer,o=r(2387);function a(e){o.call(this,e),this.enc="pem"}n(a,o),e.exports=a,a.prototype.decode=function(e,t){for(var r=e.toString().split(/[\r\n]+/g),n=t.label.toUpperCase(),a=/^-----(BEGIN|END) ([^-]+)-----$/,s=-1,u=-1,c=0;c{"use strict";var n=r(1736),i=r(1755).Buffer,o=r(1371),a=r(6520);function s(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){o.call(this,"der",e)}function c(e){return e<10?"0"+e:e}e.exports=s,s.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},n(u,o),u.prototype._encodeComposite=function(e,t,r,n){var o=function(e,t,r,n){var i;if("seqof"===e?e="seq":"setof"===e&&(e="set"),a.tagByName.hasOwnProperty(e))i=a.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return n.error("Unknown tag: "+e);i=e}return i>=31?n.error("Multi-octet tag encoding unsupported"):(t||(i|=32),i|=a.tagClassByName[r||"universal"]<<6)}(e,t,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,c=n.length;c>=256;c>>=8)u++;var f=i.alloc(2+u);f[0]=o,f[1]=128|u;for(var d=1+u,l=n.length;l>0;d--,l>>=8)f[d]=255&l;return this._createEncoderBuffer([f,n])},u.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var r=i.alloc(2*e.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}for(var a=0,s=0;s=128;u>>=7)a++}for(var c=i.alloc(a),f=c.length-1,d=e.length-1;d>=0;d--){var l=e[d];for(c[f--]=127&l;(l>>=7)>0;)c[f--]=128|127&l}return this._createEncoderBuffer(c)},u.prototype._encodeTime=function(e,t){var r,n=new Date(e);return"gentime"===t?r=[c(n.getUTCFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[c(n.getUTCFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var r=e.toArray();!e.sign&&128&r[0]&&r.unshift(0),e=i.from(r)}if(i.isBuffer(e)){var n=e.length;0===e.length&&n++;var o=i.alloc(n);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);for(var a=1,s=e;s>=256;s>>=8)a++;for(var u=new Array(a),c=u.length-1;c>=0;c--)u[c]=255&e,e>>=8;return 128&u[0]&&u.unshift(0),this._createEncoderBuffer(i.from(u))},u.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},u.prototype._skipDefault=function(e,t,r){var n,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n{"use strict";var n=t;n.der=r(1068),n.pem=r(8520)},8520:(e,t,r)=>{"use strict";var n=r(1736),i=r(1068);function o(e){i.call(this,e),this.enc="pem"}n(o,i),e.exports=o,o.prototype.encode=function(e,t){for(var r=i.prototype.encode.call(this,e).toString("base64"),n=["-----BEGIN "+t.label+"-----"],o=0;o{"use strict";var n=r(8847)(r(3355)),i=r(3103);function o(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i=0;u--)if(f[u]!==d[u])return!1;for(u=f.length-1;u>=0;u--)if(!w(e[a=f[u]],t[a],r,n))return!1;return!0}(e,t,r,i))}return r?e===t:e==t}function A(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function k(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function _(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&v(i,r,"Missing expected exception"+n);var o="string"==typeof n,a=!e&&i&&!r;if((!e&&s.isError(i)&&o&&k(i,r)||a)&&v(i,r,"Got unwanted exception"+n),e&&i&&r&&!k(i,r)||!e&&i)throw i}h.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return y(m(e.actual),128)+" "+e.operator+" "+y(m(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=b(t),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(h.AssertionError,Error),h.fail=v,h.ok=g,h.equal=function(e,t,r){e!=t&&v(e,t,r,"==",h.equal)},h.notEqual=function(e,t,r){e==t&&v(e,t,r,"!=",h.notEqual)},h.deepEqual=function(e,t,r){w(e,t,!1)||v(e,t,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(e,t,r){w(e,t,!0)||v(e,t,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(e,t,r){w(e,t,!1)&&v(e,t,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function e(t,r,n){w(t,r,!0)&&v(t,r,n,"notDeepStrictEqual",e)},h.strictEqual=function(e,t,r){e!==t&&v(e,t,r,"===",h.strictEqual)},h.notStrictEqual=function(e,t,r){e===t&&v(e,t,r,"!==",h.notStrictEqual)},h.throws=function(e,t,r){_(!0,e,t,r)},h.doesNotThrow=function(e,t,r){_(!1,e,t,r)},h.ifError=function(e){if(e)throw e},h.strict=i((function e(t,r){t||v(t,!0,r,"==",e)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var S=Object.keys||function(e){var t=[];for(var r in e)u.call(e,r)&&t.push(r);return t}},4074:e=>{"use strict";"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},6732:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(e){return e&&"object"===(0,n.default)(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},9954:(e,t,r)=>{"use strict";var n=r(9142),i=r(8847)(r(3355)),o=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),b(r)?n.showHidden=r:r&&t._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=c),d(n,e,n.depth)}function c(e,t){var r=u.styles[t];return r?"["+u.colors[r][0]+"m"+e+"["+u.colors[r][1]+"m":e}function f(e,t){return e}function d(e,r,n){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return v(i)||(i=d(e,i,n)),i}var o=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):b(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,r);if(o)return o;var a=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),_(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 e.stylize("[Function"+u+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(k(r))return e.stylize(Date.prototype.toString.call(r),"date");if(_(r))return l(r)}var c,f="",A=!1,E=["{","}"];return p(r)&&(A=!0,E=["[","]"]),S(r)&&(f=" [Function"+(r.name?": "+r.name:"")+"]"),w(r)&&(f=" "+RegExp.prototype.toString.call(r)),k(r)&&(f=" "+Date.prototype.toUTCString.call(r)),_(r)&&(f=" "+l(r)),0!==a.length||A&&0!=r.length?n<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=A?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,f,E)):E[0]+f+E[1]}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),O(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(u.value)<0?(s=y(r)?d(e,u.value,null):d(e,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.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=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function p(e){return Array.isArray(e)}function b(e){return"boolean"==typeof e}function y(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return A(e)&&"[object RegExp]"===E(e)}function A(e){return"object"===(0,i.default)(e)&&null!==e}function k(e){return A(e)&&"[object Date]"===E(e)}function _(e){return A(e)&&("[object Error]"===E(e)||e instanceof Error)}function S(e){return"function"==typeof e}function E(e){return Object.prototype.toString.call(e)}function x(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(a)&&(a=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(a)){var r=n.pid;s[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else s[e]=function(){};return s[e]},t.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"},t.isArray=p,t.isBoolean=b,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"===(0,i.default)(e)},t.isUndefined=g,t.isRegExp=w,t.isObject=A,t.isDate=k,t.isError=_,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===(0,i.default)(e)||void 0===e},t.isBuffer=r(6732);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,r;console.log("%s - %s",(r=[x((e=new Date).getHours()),x(e.getMinutes()),x(e.getSeconds())].join(":"),[e.getDate(),P[e.getMonth()],r].join(" ")),t.format.apply(t,arguments))},t.inherits=r(4074),t._extend=function(e,t){if(!t||!A(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}},7548:(e,t,r)=>{"use strict";var n=r(8850).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,f=new Uint8Array(a);e[r];){var d=t[e.charCodeAt(r)];if(255===d)return;for(var l=0,h=a-1;(0!==d||l>>0,f[h]=d%256>>>0,d=d/256>>>0;if(0!==d)throw new Error("Non-zero carry");o=l,r++}for(var p=a-o;p!==a&&0===f[p];)p++;var b=n.allocUnsafe(i+(a-p));b.fill(0,0,i);for(var y=i;p!==a;)b[y++]=f[p++];return b}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,i=0,o=0,a=t.length;o!==a&&0===t[o];)o++,r++;for(var c=(a-o)*f+1>>>0,d=new Uint8Array(c);o!==a;){for(var l=t[o],h=0,p=c-1;(0!==l||h>>0,d[p]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");i=h,o++}for(var b=c-i;b!==c&&0===d[b];)b++;for(var y=u.repeat(r);b{"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=u(e),a=o[0],s=o[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),f=0,d=s>0?a-4:a;for(r=0;r>16&255,c[f++]=t>>8&255,c[f++]=255&t;return 2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[f++]=255&t),1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[f++]=t>>8&255,c[f++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,s=0,u=n-i;su?u:s+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],s=t;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},1734:(e,t,r)=>{"use strict";e=r.nmd(e);var n=r(8847)(r(3355));!function(e,t){function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function o(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"===(0,n.default)(e)?e.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(9033).Buffer}catch(e){}function u(e,t){var r=e.charCodeAt(t);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 "+e)}function c(e,t,r){var n=u(e,r);return r-1>=t&&(n|=u(e,r-1)<<4),n}function f(e,t,r,n){for(var o=0,a=0,s=Math.min(e.length,r),u=t;u=49?c-49+10:c>=17?c-17+10:c,i(c>=0&&a0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"===(0,n.default)(e))return this._initArray(e,t,r);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var o=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=e[n]|e[n-1]<<8|e[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(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=c(e,t,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(e.length-t)%2==0?t+1:t;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.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},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(e){a.prototype.inspect=l}else a.prototype.inspect=l;function l(){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"],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],b=[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 y(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var c=1;c>>26,d=67108863&u,l=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=l;h++){var p=c-h|0;f+=(a=(i=0|e.words[p])*(o=0|t.words[h])+d)/67108864|0,d=67108863&a}r.words[c]=0|d,u=0|f}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,(n+=2)>=26&&(n-=26,a--),r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=p[e],f=b[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var l=d.modrn(f).toString(e);r=(d=d.idivn(f)).isZero()?l+r:h[c-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%t!=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 e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,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(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(e,t){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&&(e[r--]=a>>8&255),r>=0&&(e[r--]=a>>16&255),6===o?(r>=0&&(e[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,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(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,h=0|a[1],p=8191&h,b=h>>>13,y=0|a[2],m=8191&y,v=y>>>13,g=0|a[3],w=8191&g,A=g>>>13,k=0|a[4],_=8191&k,S=k>>>13,E=0|a[5],x=8191&E,P=E>>>13,O=0|a[6],B=8191&O,T=O>>>13,C=0|a[7],I=8191&C,M=C>>>13,U=0|a[8],R=8191&U,j=U>>>13,N=0|a[9],F=8191&N,L=N>>>13,D=0|s[0],H=8191&D,q=D>>>13,z=0|s[1],G=8191&z,K=z>>>13,V=0|s[2],J=8191&V,W=V>>>13,Y=0|s[3],X=8191&Y,Q=Y>>>13,Z=0|s[4],$=8191&Z,ee=Z>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,fe=0|s[8],de=8191&fe,le=fe>>>13,he=0|s[9],pe=8191&he,be=he>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(c+(n=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,q))+Math.imul(l,H)|0))<<13)|0;c=((o=Math.imul(l,q))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(p,H),i=(i=Math.imul(p,q))+Math.imul(b,H)|0,o=Math.imul(b,q);var me=(c+(n=n+Math.imul(d,G)|0)|0)+((8191&(i=(i=i+Math.imul(d,K)|0)+Math.imul(l,G)|0))<<13)|0;c=((o=o+Math.imul(l,K)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,H),i=(i=Math.imul(m,q))+Math.imul(v,H)|0,o=Math.imul(v,q),n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,K)|0;var ve=(c+(n=n+Math.imul(d,J)|0)|0)+((8191&(i=(i=i+Math.imul(d,W)|0)+Math.imul(l,J)|0))<<13)|0;c=((o=o+Math.imul(l,W)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(w,H),i=(i=Math.imul(w,q))+Math.imul(A,H)|0,o=Math.imul(A,q),n=n+Math.imul(m,G)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,n=n+Math.imul(p,J)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,W)|0;var ge=(c+(n=n+Math.imul(d,X)|0)|0)+((8191&(i=(i=i+Math.imul(d,Q)|0)+Math.imul(l,X)|0))<<13)|0;c=((o=o+Math.imul(l,Q)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(_,H),i=(i=Math.imul(_,q))+Math.imul(S,H)|0,o=Math.imul(S,q),n=n+Math.imul(w,G)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,W)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,W)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Q)|0)+Math.imul(b,X)|0,o=o+Math.imul(b,Q)|0;var we=(c+(n=n+Math.imul(d,$)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(l,$)|0))<<13)|0;c=((o=o+Math.imul(l,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(x,H),i=(i=Math.imul(x,q))+Math.imul(P,H)|0,o=Math.imul(P,q),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,K)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,K)|0,n=n+Math.imul(w,J)|0,i=(i=i+Math.imul(w,W)|0)+Math.imul(A,J)|0,o=o+Math.imul(A,W)|0,n=n+Math.imul(m,X)|0,i=(i=i+Math.imul(m,Q)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Q)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,ee)|0;var Ae=(c+(n=n+Math.imul(d,re)|0)|0)+((8191&(i=(i=i+Math.imul(d,ne)|0)+Math.imul(l,re)|0))<<13)|0;c=((o=o+Math.imul(l,ne)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,q))+Math.imul(T,H)|0,o=Math.imul(T,q),n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,n=n+Math.imul(_,J)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(S,J)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Q)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,Q)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(b,re)|0,o=o+Math.imul(b,ne)|0;var ke=(c+(n=n+Math.imul(d,oe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(l,oe)|0))<<13)|0;c=((o=o+Math.imul(l,ae)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(I,H),i=(i=Math.imul(I,q))+Math.imul(M,H)|0,o=Math.imul(M,q),n=n+Math.imul(B,G)|0,i=(i=i+Math.imul(B,K)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,K)|0,n=n+Math.imul(x,J)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(P,J)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(_,X)|0,i=(i=i+Math.imul(_,Q)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Q)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,ee)|0,n=n+Math.imul(m,re)|0,i=(i=i+Math.imul(m,ne)|0)+Math.imul(v,re)|0,o=o+Math.imul(v,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,ae)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,ae)|0;var _e=(c+(n=n+Math.imul(d,ue)|0)|0)+((8191&(i=(i=i+Math.imul(d,ce)|0)+Math.imul(l,ue)|0))<<13)|0;c=((o=o+Math.imul(l,ce)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(R,H),i=(i=Math.imul(R,q))+Math.imul(j,H)|0,o=Math.imul(j,q),n=n+Math.imul(I,G)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,n=n+Math.imul(B,J)|0,i=(i=i+Math.imul(B,W)|0)+Math.imul(T,J)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Q)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Q)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(A,re)|0,o=o+Math.imul(A,ne)|0,n=n+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,ae)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,ae)|0,n=n+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0;var Se=(c+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(l,de)|0))<<13)|0;c=((o=o+Math.imul(l,le)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,q))+Math.imul(L,H)|0,o=Math.imul(L,q),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,K)|0)+Math.imul(j,G)|0,o=o+Math.imul(j,K)|0,n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Q)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,Q)|0,n=n+Math.imul(x,$)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(S,re)|0,o=o+Math.imul(S,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,ae)|0)+Math.imul(A,oe)|0,o=o+Math.imul(A,ae)|0,n=n+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0,n=n+Math.imul(p,de)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(b,de)|0,o=o+Math.imul(b,le)|0;var Ee=(c+(n=n+Math.imul(d,pe)|0)|0)+((8191&(i=(i=i+Math.imul(d,be)|0)+Math.imul(l,pe)|0))<<13)|0;c=((o=o+Math.imul(l,be)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(F,G),i=(i=Math.imul(F,K))+Math.imul(L,G)|0,o=Math.imul(L,K),n=n+Math.imul(R,J)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,W)|0,n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,Q)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Q)|0,n=n+Math.imul(B,$)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(P,re)|0,o=o+Math.imul(P,ne)|0,n=n+Math.imul(_,oe)|0,i=(i=i+Math.imul(_,ae)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,ae)|0,n=n+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(A,ue)|0,o=o+Math.imul(A,ce)|0,n=n+Math.imul(m,de)|0,i=(i=i+Math.imul(m,le)|0)+Math.imul(v,de)|0,o=o+Math.imul(v,le)|0;var xe=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,be)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,W))+Math.imul(L,J)|0,o=Math.imul(L,W),n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Q)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Q)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,ee)|0,n=n+Math.imul(B,re)|0,i=(i=i+Math.imul(B,ne)|0)+Math.imul(T,re)|0,o=o+Math.imul(T,ne)|0,n=n+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,ae)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,ae)|0,n=n+Math.imul(_,ue)|0,i=(i=i+Math.imul(_,ce)|0)+Math.imul(S,ue)|0,o=o+Math.imul(S,ce)|0,n=n+Math.imul(w,de)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(A,de)|0,o=o+Math.imul(A,le)|0;var Pe=(c+(n=n+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,be)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,be)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,Q))+Math.imul(L,X)|0,o=Math.imul(L,Q),n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(j,$)|0,o=o+Math.imul(j,ee)|0,n=n+Math.imul(I,re)|0,i=(i=i+Math.imul(I,ne)|0)+Math.imul(M,re)|0,o=o+Math.imul(M,ne)|0,n=n+Math.imul(B,oe)|0,i=(i=i+Math.imul(B,ae)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,ae)|0,n=n+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(P,ue)|0,o=o+Math.imul(P,ce)|0,n=n+Math.imul(_,de)|0,i=(i=i+Math.imul(_,le)|0)+Math.imul(S,de)|0,o=o+Math.imul(S,le)|0;var Oe=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,be)|0)+Math.imul(A,pe)|0))<<13)|0;c=((o=o+Math.imul(A,be)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,ee))+Math.imul(L,$)|0,o=Math.imul(L,ee),n=n+Math.imul(R,re)|0,i=(i=i+Math.imul(R,ne)|0)+Math.imul(j,re)|0,o=o+Math.imul(j,ne)|0,n=n+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,ae)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,ae)|0,n=n+Math.imul(B,ue)|0,i=(i=i+Math.imul(B,ce)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,ce)|0,n=n+Math.imul(x,de)|0,i=(i=i+Math.imul(x,le)|0)+Math.imul(P,de)|0,o=o+Math.imul(P,le)|0;var Be=(c+(n=n+Math.imul(_,pe)|0)|0)+((8191&(i=(i=i+Math.imul(_,be)|0)+Math.imul(S,pe)|0))<<13)|0;c=((o=o+Math.imul(S,be)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(F,re),i=(i=Math.imul(F,ne))+Math.imul(L,re)|0,o=Math.imul(L,ne),n=n+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,ae)|0,n=n+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,n=n+Math.imul(B,de)|0,i=(i=i+Math.imul(B,le)|0)+Math.imul(T,de)|0,o=o+Math.imul(T,le)|0;var Te=(c+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,be)|0)+Math.imul(P,pe)|0))<<13)|0;c=((o=o+Math.imul(P,be)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(F,oe),i=(i=Math.imul(F,ae))+Math.imul(L,oe)|0,o=Math.imul(L,ae),n=n+Math.imul(R,ue)|0,i=(i=i+Math.imul(R,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,n=n+Math.imul(I,de)|0,i=(i=i+Math.imul(I,le)|0)+Math.imul(M,de)|0,o=o+Math.imul(M,le)|0;var Ce=(c+(n=n+Math.imul(B,pe)|0)|0)+((8191&(i=(i=i+Math.imul(B,be)|0)+Math.imul(T,pe)|0))<<13)|0;c=((o=o+Math.imul(T,be)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(F,ue),i=(i=Math.imul(F,ce))+Math.imul(L,ue)|0,o=Math.imul(L,ce),n=n+Math.imul(R,de)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(j,de)|0,o=o+Math.imul(j,le)|0;var Ie=(c+(n=n+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,be)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,be)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(F,de),i=(i=Math.imul(F,le))+Math.imul(L,de)|0,o=Math.imul(L,le);var Me=(c+(n=n+Math.imul(R,pe)|0)|0)+((8191&(i=(i=i+Math.imul(R,be)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,be)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Ue=(c+(n=Math.imul(F,pe))|0)+((8191&(i=(i=Math.imul(F,be))+Math.imul(L,pe)|0))<<13)|0;return c=((o=Math.imul(L,be))+(i>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,u[0]=ye,u[1]=me,u[2]=ve,u[3]=ge,u[4]=we,u[5]=Ae,u[6]=ke,u[7]=_e,u[8]=Se,u[9]=Ee,u[10]=xe,u[11]=Pe,u[12]=Oe,u[13]=Be,u[14]=Te,u[15]=Ce,u[16]=Ie,u[17]=Me,u[18]=Ue,0!==c&&(u[19]=c,r.length++),r};function v(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.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(e,t,r){return v(e,t,r)}function w(e,t){this.x=e,this.y=t}Math.imul||(m=y),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):r<63?y(this,e,t):r<1024?v(this,e,t):g(this,e,t)},w.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},w.prototype.permute=function(e,t,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*t;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),t?this.ineg():this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i&1}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,n=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t=0),n=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,c=0;c=0&&(0!==f||c>=n);c--){var d=0|this.words[c];this.words[c]=f<<26-o|d>>>o,f=d&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<=0);var t=e%26,r=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var n=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>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(e,t){var r=(this.length,e.length),n=this.clone(),i=e,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"!==t){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var l=67108864*(0|n.words[i.length+d])+(0|n.words[i.length+d-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,d);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,d),n.isZero()||(n.negative^=1);s&&(s.words[d]=l)}return s&&s._strip(),n._strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(e,t,r){return i(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:n,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modrn(e.words[0]))}:this._wordDiv(e,t);var n,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modrn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=(1<<26)%e,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%e;return t?-n:n},a.prototype.modn=function(e){return this.modrn(e)},a.prototype.idivn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/e|0,r=o%e}return this._strip(),t?this.ineg():this},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var f=r.clone(),d=t.clone();!t.isZero();){for(var l=0,h=1;0==(t.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(d)),n.iushrn(1),o.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(s),o.isub(u)):(r.isub(t),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(c)}},a.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var d=0,l=1;0==(r.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(r.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(n=0===t.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(e),n},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/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(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:ne.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new P(e)},a.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},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(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var A={k256:null,p224:null,p192:null,p25519:null};function k(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){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 E(){k.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){k.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function P(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function O(e){P.call(this,e),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 e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},k.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},k.prototype.split=function(e,t){e.iushrn(this.n,0,t)},k.prototype.imulK=function(e){return e.imul(this.k)},o(_,k),_.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,o=a}o>>>=22,e.words[i-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(A[e])return A[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new E;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new x}return A[e]=t,t},P.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},P.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},P.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(d(e,e.umod(this.m)._forceRed(this)),e)},P.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},P.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},P.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},P.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},P.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},P.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},P.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},P.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},P.prototype.isqr=function(e){return this.imul(e,e.clone())},P.prototype.sqr=function(e){return this.mul(e,e)},P.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,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(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new a(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var d=this.pow(f,n),l=this.pow(e,n.addn(1).iushrn(1)),h=this.pow(e,n),p=o;0!==h.cmp(s);){for(var b=h,y=0;0!==b.cmp(s);y++)b=b.redSqr();i(y=0;n--){for(var c=t.words[n],f=u-1;f>=0;f--){var d=c>>f&1;i!==r[0]&&(i=this.sqr(i)),0!==d||0!==o?(o<<=1,o|=d,(4==++s||0===n&&0===f)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},P.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},P.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new O(e)},o(O,P),O.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},O.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},O.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),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(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),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(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e)},2202:(e,t,r)=>{"use strict";var n,i=r(8847)(r(3355));function o(e){this.rand=e}if(e.exports=function(e){return n||(n=new o(null)),n.generate(e)},e.exports.Rand=o,o.prototype.generate=function(e){return this._rand(e)},o.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r{"use strict";var n=r(8850).Buffer;function i(e){n.isBuffer(e)||(e=n.from(e));for(var t=e.length/4|0,r=new Array(t),i=0;i>>24]^f[p>>>16&255]^d[b>>>8&255]^l[255&y]^t[m++],a=c[p>>>24]^f[b>>>16&255]^d[y>>>8&255]^l[255&h]^t[m++],s=c[b>>>24]^f[y>>>16&255]^d[h>>>8&255]^l[255&p]^t[m++],u=c[y>>>24]^f[h>>>16&255]^d[p>>>8&255]^l[255&b]^t[m++],h=o,p=a,b=s,y=u;return o=(n[h>>>24]<<24|n[p>>>16&255]<<16|n[b>>>8&255]<<8|n[255&y])^t[m++],a=(n[p>>>24]<<24|n[b>>>16&255]<<16|n[y>>>8&255]<<8|n[255&h])^t[m++],s=(n[b>>>24]<<24|n[y>>>16&255]<<16|n[h>>>8&255]<<8|n[255&p])^t[m++],u=(n[y>>>24]<<24|n[h>>>16&255]<<16|n[p>>>8&255]<<8|n[255&b])^t[m++],[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 e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var c=s^s<<1^s<<2^s<<3^s<<4;c=c>>>8^255&c^99,r[a]=c,n[c]=a;var f=e[a],d=e[f],l=e[d],h=257*e[c]^16843008*c;i[0][a]=h<<24|h>>>8,i[1][a]=h<<16|h>>>16,i[2][a]=h<<8|h>>>24,i[3][a]=h,h=16843009*l^65537*d^257*f^16843008*a,o[0][c]=h<<24|h>>>8,o[1][c]=h<<16|h>>>16,o[2][c]=h<<8|h>>>24,o[3][c]=h,0===a?a=s=1:(a=f^e[e[e[l^f]]],s^=e[e[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function c(e){this._key=i(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+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/t|0]<<24):t>6&&o%t==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-t]^a}for(var c=[],f=0;f>>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=c},c.prototype.encryptBlockRaw=function(e){return a(e=i(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=n.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},c.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var r=a(e,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},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},426:(e,t,r)=>{"use strict";var n=r(7494),i=r(8850).Buffer,o=r(3013),a=r(1736),s=r(6626),u=r(6316),c=r(7557);function f(e,t,r,a){o.call(this);var u=i.alloc(4,0);this._cipher=new n.AES(t);var f=this._cipher.encryptBlock(u);this._ghash=new s(f),r=function(e,t,r){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var n=new s(r),o=t.length,a=o%16;n.update(t),a&&(a=16-a,n.update(i.alloc(a,0))),n.update(i.alloc(8,0));var u=8*o,f=i.alloc(8);f.writeUIntBE(u,0,8),n.update(f),e._finID=n.state;var d=i.from(e._finID);return c(d),d}(this,r,f),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}a(f,o),f.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},f.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var n=Math.min(e.length,t.length),i=0;i{"use strict";var n=r(5478),i=r(2184),o=r(4946);t.createCipher=t.Cipher=n.createCipher,t.createCipheriv=t.Cipheriv=n.createCipheriv,t.createDecipher=t.Decipher=i.createDecipher,t.createDecipheriv=t.Decipheriv=i.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(o)}},2184:(e,t,r)=>{"use strict";var n=r(426),i=r(8850).Buffer,o=r(8408),a=r(1408),s=r(3013),u=r(7494),c=r(7085);function f(e,t,r){s.call(this),this._cache=new d,this._last=void 0,this._cipher=new u.AES(t),this._prev=i.from(r),this._mode=e,this._autopadding=!0}function d(){this.cache=i.allocUnsafe(0)}function l(e,t,r){var s=o[e.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 t&&(t=i.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===s.type?new a(s.module,t,r,!0):"auth"===s.type?new n(s.module,t,r,!0):new f(s.module,t,r)}r(1736)(f,s),f.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return i.concat(n)},f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");for(var r=-1;++r16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},d.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var r=o[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=c(t,!1,r.key,r.iv);return l(e,n.key,n.iv)},t.createDecipheriv=l},5478:(e,t,r)=>{"use strict";var n=r(8408),i=r(426),o=r(8850).Buffer,a=r(1408),s=r(3013),u=r(7494),c=r(7085);function f(e,t,r){s.call(this),this._cache=new l,this._cipher=new u.AES(t),this._prev=o.from(r),this._mode=e,this._autopadding=!0}r(1736)(f,s),f.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return o.concat(n)};var d=o.alloc(16,16);function l(){this.cache=o.allocUnsafe(0)}function h(e,t,r){var s=n[e.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=o.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===s.type?new a(s.module,t,r):"auth"===s.type?new i(s.module,t,r):new f(s.module,t,r)}f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(d))throw this._cipher.scrub(),new Error("data not multiple of block length")},f.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},l.prototype.add=function(e){this.cache=o.concat([this.cache,e])},l.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},l.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),r=-1;++r{"use strict";var n=r(8850).Buffer,i=n.alloc(16,0);function o(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function a(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(e){for(var t=-1;++t0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},a.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},a.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=a},7557:e=>{"use strict";e.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},7427:(e,t,r)=>{"use strict";var n=r(6316);t.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},t.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return n(i,r)}},4030:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(6316);function o(e,t,r){var o=t.length,a=i(t,e._cache);return e._cache=e._cache.slice(o),e._prev=n.concat([e._prev,r?t:a]),a}t.encrypt=function(e,t,r){for(var i,a=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){a=n.concat([a,o(e,t,r)]);break}i=e._cache.length,a=n.concat([a,o(e,t.slice(0,i),r)]),t=t.slice(i)}return a}},3206:(e,t,r)=>{"use strict";var n=r(8850).Buffer;function i(e,t,r){for(var n,i,a=-1,s=0;++a<8;)n=t&1<<7-a?128:0,s+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^n))>>a%8,e._prev=o(e._prev,r?n:i);return s}function o(e,t){var r=e.length,i=-1,o=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++i>7;return o}t.encrypt=function(e,t,r){for(var o=t.length,a=n.allocUnsafe(o),s=-1;++s{"use strict";var n=r(8850).Buffer;function i(e,t,r){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:i])]),i}t.encrypt=function(e,t,r){for(var o=t.length,a=n.allocUnsafe(o),s=-1;++s{"use strict";var n=r(6316),i=r(8850).Buffer,o=r(7557);function a(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var r=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*r)]);for(var s=0;s{"use strict";t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},8408:(e,t,r)=>{"use strict";var n={ECB:r(9297),CBC:r(7427),CFB:r(4030),CFB8:r(4726),CFB1:r(3206),OFB:r(1962),CTR:r(2802),GCM:r(2802)},i=r(4946);for(var o in i)i[o].module=n[i[o].mode];e.exports=i},1962:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(6316);function o(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(e,t){for(;e._cache.length{"use strict";var n=r(7494),i=r(8850).Buffer,o=r(3013);function a(e,t,r,a){o.call(this),this._cipher=new n.AES(t),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._mode=e}r(1736)(a,o),a.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},a.prototype._final=function(){this._cipher.scrub()},e.exports=a},6805:(e,t,r)=>{"use strict";var n=r(9120),i=r(8073),o=r(8408),a=r(867),s=r(7085);function u(e,t,r){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,r);if(a[e])return new n({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function c(e,t,r){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,r);if(a[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!a[e])throw new TypeError("invalid suite type");r=8*a[e].key,n=a[e].iv}var i=s(t,!1,r,n);return u(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!a[e])throw new TypeError("invalid suite type");r=8*a[e].key,n=a[e].iv}var i=s(t,!1,r,n);return c(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(a).concat(i.getCiphers())}},9120:(e,t,r)=>{"use strict";var n=r(3013),i=r(5626),o=r(1736),a=r(8850).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(e){n.call(this);var t,r=e.mode.toLowerCase(),i=s[r];t=e.decrypt?"decrypt":"encrypt";var o=e.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=e.iv;a.isBuffer(u)||(u=a.from(u)),this._des=i.create({key:o,iv:u,type:t})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],e.exports=u,o(u,n),u.prototype._update=function(e){return a.from(this._des.update(e))},u.prototype._final=function(){return a.from(this._des.final())}},867:(e,t)=>{"use strict";t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},9782:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(1734),o=r(5010);function a(e){var t,r=e.modulus.byteLength();do{t=new i(o(r))}while(t.cmp(e.modulus)>=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function s(e,t){var r=function(e){var t=a(e);return{blinder:t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(t),o=t.modulus.byteLength(),s=new i(e).mul(r.blinder).umod(t.modulus),u=s.toRed(i.mont(t.prime1)),c=s.toRed(i.mont(t.prime2)),f=t.coefficient,d=t.prime1,l=t.prime2,h=u.redPow(t.exponent1).fromRed(),p=c.redPow(t.exponent2).fromRed(),b=h.isub(p).imul(f).umod(d).imul(l);return p.iadd(b).imul(r.unblinder).umod(t.modulus).toArrayLike(n,"be",o)}s.getr=a,e.exports=s},6561:(e,t,r)=>{"use strict";e.exports=r(5207)},9527:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(5866),o=r(6505),a=r(1736),s=r(1628),u=r(5410),c=r(5207);function f(e){o.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function d(e){o.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function l(e){return new f(e)}function h(e){return new d(e)}Object.keys(c).forEach((function(e){c[e].id=n.from(c[e].id,"hex"),c[e.toLowerCase()]=c[e]})),a(f,o.Writable),f.prototype._write=function(e,t,r){this._hash.update(e),r()},f.prototype.update=function(e,t){return"string"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},f.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=s(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},a(d,o.Writable),d.prototype._write=function(e,t,r){this._hash.update(e),r()},d.prototype.update=function(e,t){return"string"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},d.prototype.verify=function(e,t,r){"string"==typeof t&&(t=n.from(t,r)),this.end();var i=this._hash.digest();return u(t,i,e,this._signType,this._tag)},e.exports={Sign:l,Verify:h,createSign:l,createVerify:h}},1628:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(4424),o=r(9782),a=r(6597).ec,s=r(1734),u=r(7552),c=r(1308);function f(e,t,r,o){if((e=n.from(e.toArray())).length0&&r.ishrn(n),r}function l(e,t,r){var o,a;do{for(o=n.alloc(0);8*o.length{"use strict";var n=r(8850).Buffer,i=r(1734),o=r(6597).ec,a=r(7552),s=r(1308);function u(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,t,r,c,f){var d=a(r);if("ec"===d.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,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(t,e,a)}(e,t,d)}if("dsa"===d.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,r){var n=r.data.p,o=r.data.q,s=r.data.g,c=r.data.pub_key,f=a.signature.decode(e,"der"),d=f.s,l=f.r;u(d,o),u(l,o);var h=i.mont(n),p=d.invm(o);return 0===s.toRed(h).redPow(new i(t).mul(p).mod(o)).fromRed().mul(c.toRed(h).redPow(l.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(l)}(e,t,d)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");t=n.concat([f,t]);for(var l=d.modulus.byteLength(),h=[1],p=0;t.length+h.length+2{"use strict";var n=r(9033).Buffer;e.exports=function(e,t){for(var r=Math.min(e.length,t.length),i=new n(r),o=0;o{"use strict";var n=r(4919),i=r(3226),o=r(9484);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return D(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(e).length;default:if(n)return D(e).length;t=(""+t).toLowerCase(),n=!0}}function b(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return B(this,t,r);case"base64":return E(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.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:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=u.from(t,n)),u.isBuffer(t))return 0===t.length?-1:v(e,t,r,n,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):v(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function v(e,t,r,n,i){var o,a=1,s=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var f=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var d=!0,l=0;li&&(n=i):n=i;var o=t.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}(t,e.length-r),e,r,n)}function E(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=r)switch(d){case 1:c<128&&(f=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(f=u)}null===f?(f=65533,d=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=d}return function(e){var t=e.length;if(t<=P)return String.fromCharCode.apply(String,e);for(var r="",n=0;n0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},u.prototype.compare=function(e,t,r,n,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),c=this.slice(n,i),f=e.slice(t,r),d=0;di)&&(r=i),e.length>0&&(r<0||t<0)||t>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,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return A(this,e,t,r);case"latin1":case"binary":return k(this,e,t,r);case"base64":return _(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,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)}};var P=4096;function O(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;ii)&&(r=i);for(var o="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,r,n,i,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function U(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function R(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function j(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(e,t,r,n,o){return o||j(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,o){return o||j(e,0,r,8),i.write(e,t,r,n,52,8),r+8}u.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},u.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},u.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||M(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},u.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):U(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):U(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);M(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},u.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);M(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},u.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):U(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):U(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,r){return N(this,e,t,!0,r)},u.prototype.writeFloatBE=function(e,t,r){return N(this,e,t,!1,r)},u.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},u.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},u.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=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),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=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((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function H(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}},3675:e=>{"use strict";e.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},593:(e,t,r)=>{"use strict";var n=r(7701),i=r(4373),o=i(n("String.prototype.indexOf"));e.exports=function(e,t){var r=n(e,!!t);return"function"==typeof r&&o(e,".prototype.")>-1?i(r):r}},4373:(e,t,r)=>{"use strict";var n=r(3767),i=r(7701),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(a,o),u=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(e){c=null}e.exports=function(e){var t=s(n,a,arguments);return u&&c&&u(t,"length").configurable&&c(t,"length",{value:1+f(0,e.length-(arguments.length-1))}),t};var d=function(){return s(n,o,arguments)};c?c(e.exports,"apply",{value:d}):e.exports.apply=d},7759:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(3630),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(9033).Buffer,i=r(6657),o=r(5262),a=r(1842),s=r(779);(t=e.exports).addPrefix=function(e,t){var r;if(n.isBuffer(e))r=s.varintBufferEncode(e);else{if(!a[e])throw new Error("multicodec not recognized");r=a[e]}return n.concat([r,t])},t.rmPrefix=function(e){return i.decode(e),e.slice(i.decode.bytes)},t.getCodec=function(e){var t=i.decode(e),r=o.get(t);if(void 0===r)throw new Error("Code ".concat(t," not found"));return r},t.getName=function(e){return o.get(e)},t.getNumber=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return s.varintBufferDecode(t)[0]},t.getCode=function(e){return i.decode(e)},t.getCodeVarint=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return t},t.getVarint=function(e){return i.encode(e)};var u=r(7759);Object.assign(t,u),t.print=r(9268)},5262:(e,t,r)=>{"use strict";var n=r(3630),i=new Map;for(var o in n){var a=n[o];i.set(a,o)}e.exports=Object.freeze(i)},9268:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(3630),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(6657),i=r(9033).Buffer;function o(e){return parseInt(e.toString("hex"),16)}function a(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),i.from(t,"hex")}e.exports={numberToBuffer:a,bufferToNumber:o,varintBufferEncode:function(e){return i.from(n.encode(o(e)))},varintBufferDecode:function(e){return a(n.decode(e))},varintEncode:function(e){return i.from(n.encode(e))}}},1842:(e,t,r)=>{"use strict";var n=r(3630),i=r(779).varintEncode,o={};for(var a in n){var s=n[a];o[a]=i(s)}e.exports=Object.freeze(o)},9976:(e,t,r)=>{"use strict";var n=r(7748),i=r(9033).Buffer,o={checkCIDComponents:function(e){if(null==e)return"null values are not valid CIDs";if(0!==e.version&&1!==e.version)return"Invalid version, must be a number equal to 1 or 0";if("string"!=typeof e.codec)return"codec must be string";if(0===e.version){if("dag-pb"!==e.codec)return"codec must be 'dag-pb' for CIDv0";if("base58btc"!==e.multibaseName)return"multibaseName must be 'base58btc' for CIDv0"}if(!i.isBuffer(e.multihash))return"multihash must be a Buffer";try{n.validate(e.multihash)}catch(e){var t=e.message;return t||(t="Multihash validation failed"),t}}};e.exports=o},2753:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=r(9033).Buffer,s=r(7748),u=r(6086),c=r(7223),f=r(3630),d=r(9976),l=r(3162)(function(e){function t(e,r,n,o){if((0,i.default)(this,t),l.isCID(e)){var f=e;return this.version=f.version,this.codec=f.codec,this.multihash=a.from(f.multihash),void(this.multibaseName=f.multibaseName||(0===f.version?"base58btc":"base32"))}if("string"==typeof e){var d=u.isEncoded(e);if(d){var h=u.decode(e);this.version=parseInt(h.slice(0,1).toString("hex"),16),this.codec=c.getCodec(h.slice(1)),this.multihash=c.rmPrefix(h.slice(1)),this.multibaseName=d}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),b=parseInt(p.toString("hex"),16);if(1===b){var y=e;this.version=b,this.codec=c.getCodec(y.slice(1)),this.multihash=c.rmPrefix(y.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 e=this._buffer;if(!e){if(0===this.version)e=this.multihash;else{if(1!==this.version)throw new Error("unsupported version");e=a.concat([a.from("01","hex"),c.getCodeVarint(this.codec),this.multihash])}Object.defineProperty(this,"_buffer",{value:e})}return e}},{key:"prefix",get:function(){return a.concat([a.from("0".concat(this.version),"hex"),c.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 e=s.decode(this.multihash),t=e.name,r=e.length;if("sha2-256"!==t)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 e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.multibaseName;if(this.string&&e===this.multibaseName)return this.string;var t=null;if(0===this.version){if("base58btc"!==e)throw new Error("not supported with CIDv0, to support different bases, please migrate the instance do CIDv1, you can do that through cid.toV1()");t=s.toB58String(this.multihash)}else{if(1!==this.version)throw new Error("unsupported version");t=u.encode(e,this.buffer).toString()}return e===this.multibaseName&&Object.defineProperty(this,"string",{value:t}),t}},{key:e,value:function(){return"CID("+this.toString()+")"}},{key:"toString",value:function(e){return this.toBaseEncodedString(e)}},{key:"toJSON",value:function(){return{codec:this.codec,version:this.version,hash:this.multihash}}},{key:"equals",value:function(e){return this.codec===e.codec&&this.version===e.version&&this.multihash.equals(e.multihash)}}],[{key:"validateCID",value:function(e){var t=d.checkCIDComponents(e);if(t)throw new Error(t)}}]),t}(Symbol.for("nodejs.util.inspect.custom")),{className:"CID",symbolName:"@ipld/js-cid/CID"});l.codecs=f,e.exports=l},3013:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(7245).Transform,o=r(3462).s;function a(e){i.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(1736)(a,i),a.prototype.update=function(e,t,r){"string"==typeof e&&(e=n.from(e,t));var i=this._update(e);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(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{r(n)}},a.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},a.prototype._finalOrDigest=function(e){var t=this.__final()||n.alloc(0);return e&&(t=this._toString(t,e,!0)),t},a.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},e.exports=a},3162:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(4727)),o=n(r(775)),a=n(r(9721)),s=n(r(8985)),u=n(r(8975)),c=n(r(5163)),f=n(r(4650)),d=n(r(1949));e.exports=function(e,t){var r=t.className,n=t.symbolName,i=Symbol.for(n),l=(0,o.default)({},r,function(e,t){(0,c.default)(h,e);var n,o,l=(n=h,o=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(e){return!1}}(),function(){var e,t=(0,d.default)(n);if(o){var r=(0,d.default)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,f.default)(this,e)});function h(){var e;(0,a.default)(this,h);for(var t=arguments.length,r=new Array(t),n=0;n{"use strict";var n=r(2753);t.cidV0ToV1Base32=function(e){var t=new n(e);return 0===t.version&&(t=t.toV1()),t.toString("base32")}},4308:(e,t,r)=>{"use strict";var n=r(9206),i=r(9512),o=i.hexStringToBuffer,a=i.profiles,s=r(6834).cidV0ToV1Base32;e.exports={helpers:{cidV0ToV1Base32:s},decode:function(e){var t=o(e),r=n.getCodec(t),i=n.rmPrefix(t),s=a[r];return s||(s=a.default),s.decode(i)},fromIpfs:function(e){return this.encode("ipfs-ns",e)},fromSwarm:function(e){return this.encode("swarm-ns",e)},encode:function(e,t){var r=a[e];r||(r=a.default);var i=r.encode(t);return n.addPrefix(e,i).toString("hex")},getCodec:function(e){var t=o(e);return n.getCodec(t)}}},9512:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(2753),o=r(7748),a=function(e){var t,r=e.slice(0,2),n=e.slice(2);return t="0x"===r?n:e,o.fromHexString(t)},s={swarm:function(e){var t=o.encode(a(e),"keccak-256");return new i(1,"swarm-manifest",t).buffer},ipfs:function(e){var t=o.fromB58String(e);return new i(1,"dag-pb",t).buffer},utf8:function(e){return n.from(e,"utf8")}},u={hexMultiHash:function(e){var t=new i(e);return o.decode(t.multihash).digest.toString("hex")},b58MultiHash:function(e){var t=new i(e);return o.toB58String(t.multihash)},utf8:function(e){return e.toString("utf8")}},c={"swarm-ns":{encode:s.swarm,decode:u.hexMultiHash},"ipfs-ns":{encode:s.ipfs,decode:u.b58MultiHash},"ipns-ns":{encode:s.ipfs,decode:u.b58MultiHash},default:{encode:s.utf8,decode:u.utf8}};t.hexStringToBuffer=a,t.profiles=c},4628:(e,t,r)=>{"use strict";var n,i,o=r(8847)(r(3355));i=function(e){e.version="1.2.2";var t=function(){for(var e=0,t=new Array(256),r=0;256!=r;++r)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=r)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[r]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}(),r=function(e){var t=0,r=0,n=0,i="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(n=0;256!=n;++n)i[n]=e[n];for(n=0;256!=n;++n)for(r=e[n],t=256+n;t<4096;t+=256)r=i[t]=r>>>8^e[255&r];var o=[];for(n=1;16!=n;++n)o[n-1]="undefined"!=typeof Int32Array?i.subarray(256*n,256*n+256):i.slice(256*n,256*n+256);return o}(t),n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],c=r[6],f=r[7],d=r[8],l=r[9],h=r[10],p=r[11],b=r[12],y=r[13],m=r[14];e.table=t,e.bstr=function(e,r){for(var n=-1^r,i=0,o=e.length;i>>8^t[255&(n^e.charCodeAt(i++))];return~n},e.buf=function(e,r){for(var v=-1^r,g=e.length-15,w=0;w>8&255]^b[e[w++]^v>>16&255]^p[e[w++]^v>>>24]^h[e[w++]]^l[e[w++]]^d[e[w++]]^f[e[w++]]^c[e[w++]]^u[e[w++]]^s[e[w++]]^a[e[w++]]^o[e[w++]]^i[e[w++]]^n[e[w++]]^t[e[w++]];for(g+=15;w>>8^t[255&(v^e[w++])];return~v},e.str=function(e,r){for(var n=-1^r,i=0,o=e.length,a=0,s=0;i>>8^t[255&(n^a)]:a<2048?n=(n=n>>>8^t[255&(n^(192|a>>6&31))])>>>8^t[255&(n^(128|63&a))]:a>=55296&&a<57344?(a=64+(1023&a),s=1023&e.charCodeAt(i++),n=(n=(n=(n=n>>>8^t[255&(n^(240|a>>8&7))])>>>8^t[255&(n^(128|a>>2&63))])>>>8^t[255&(n^(128|s>>6&15|(3&a)<<4))])>>>8^t[255&(n^(128|63&s))]):n=(n=(n=n>>>8^t[255&(n^(224|a>>12&15))])>>>8^t[255&(n^(128|a>>6&63))])>>>8^t[255&(n^(128|63&a))];return~n}},"undefined"==typeof DO_NOT_EXPORT_CRC?"object"===(0,o.default)(t)?i(t):(n=function(){var e={};return i(e),e}.call(t,r,t,e),void 0===n||(e.exports=n)):i({})},5102:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(6597),o=r(1734);e.exports=function(e){return new s(e)};var a={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function s(e){this.curveType=a[e],this.curveType||(this.curveType={name:e}),this.curve=new i.ec(this.curveType.name),this.keys=void 0}function u(e,t,r){Array.isArray(e)||(e=e.toArray());var i=new n(e);if(r&&i.length{"use strict";var n=r(1736),i=r(807),o=r(6707),a=r(1708),s=r(3013);function u(e){s.call(this,"digest"),this._hash=e}n(u,s),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new u(a(e))}},5349:(e,t,r)=>{"use strict";var n=r(807);e.exports=function(e){return(new n).update(e).digest()}},4424:(e,t,r)=>{"use strict";var n=r(1736),i=r(9956),o=r(3013),a=r(8850).Buffer,s=r(5349),u=r(6707),c=r(1708),f=a.alloc(128);function d(e,t){o.call(this,"digest"),"string"==typeof t&&(t=a.from(t));var r="sha512"===e||"sha384"===e?128:64;this._alg=e,this._key=t,t.length>r?t=("rmd160"===e?new u:c(e)).update(t).digest():t.length{"use strict";var n=r(1736),i=r(8850).Buffer,o=r(3013),a=i.alloc(128),s=64;function u(e,t){o.call(this,"digest"),"string"==typeof t&&(t=i.from(t)),this._alg=e,this._key=t,t.length>s?t=e(t):t.length{"use strict";!function(e){!function(t){var r={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(r.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],i=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1};function o(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function a(e){return"string"!=typeof e&&(e=String(e)),e}function s(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r.iterable&&(t[Symbol.iterator]=function(){return t}),t}function u(e){this.map={},e instanceof u?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function c(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function f(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function d(e){var t=new FileReader,r=f(t);return t.readAsArrayBuffer(e),r}function l(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function h(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:r.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:r.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():r.arrayBuffer&&r.blob&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=l(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||i(e))?this._bodyArrayBuffer=l(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var e=c(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var e,t,r,n=c(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=f(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function y(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function m(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new u(t.headers),this.url=t.url||"",this._initBody(e)}b.prototype.clone=function(){return new b(this,{body:this._bodyInit})},h.call(b.prototype),h.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new u(this.headers),url:this.url})},m.error=function(){var e=new m(null,{status:0,statusText:""});return e.type="error",e};var v=[301,302,303,307,308];m.redirect=function(e,t){if(-1===v.indexOf(t))throw new RangeError("Invalid status code");return new m(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function g(e,n){return new Promise((function(i,o){var a=new b(e,n);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new u,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var n="response"in s?s.response:s.responseText;i(new m(n,r))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&r.blob&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}g.polyfill=!0,e.fetch||(e.fetch=g,e.Headers=u,e.Request=b,e.Response=m),t.Headers=u,t.Request=b,t.Response=m,t.fetch=g,Object.defineProperty(t,"__esModule",{value:!0})}({})}("undefined"!=typeof self?self:void 0)},4293:(e,t,r)=>{"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=r(5010),t.createHash=t.Hash=r(5866),t.createHmac=t.Hmac=r(4424);var n=r(6561),i=Object.keys(n),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);t.getHashes=function(){return o};var a=r(4192);t.pbkdf2=a.pbkdf2,t.pbkdf2Sync=a.pbkdf2Sync;var s=r(6805);t.Cipher=s.Cipher,t.createCipher=s.createCipher,t.Cipheriv=s.Cipheriv,t.createCipheriv=s.createCipheriv,t.Decipher=s.Decipher,t.createDecipher=s.createDecipher,t.Decipheriv=s.Decipheriv,t.createDecipheriv=s.createDecipheriv,t.getCiphers=s.getCiphers,t.listCiphers=s.listCiphers;var u=r(8333);t.DiffieHellmanGroup=u.DiffieHellmanGroup,t.createDiffieHellmanGroup=u.createDiffieHellmanGroup,t.getDiffieHellman=u.getDiffieHellman,t.createDiffieHellman=u.createDiffieHellman,t.DiffieHellman=u.DiffieHellman;var c=r(9527);t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=r(5102);var f=r(6991);t.publicEncrypt=f.publicEncrypt,t.privateEncrypt=f.privateEncrypt,t.publicDecrypt=f.publicDecrypt,t.privateDecrypt=f.privateDecrypt;var d=r(6509);t.randomFill=d.randomFill,t.randomFillSync=d.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.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}},34:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i="%[a-f0-9]{2}",o=new RegExp("("+i+")|([^%]+?)","gi"),a=new RegExp("("+i+")+","gi");function s(e,t){try{return[decodeURIComponent(e.join(""))]}catch(e){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),n=e.slice(t);return Array.prototype.concat.call([],s(r),s(n))}function u(e){try{return decodeURIComponent(e)}catch(n){for(var t=e.match(o)||[],r=1;r{"use strict";t.utils=r(319),t.Cipher=r(9591),t.DES=r(3049),t.CBC=r(4375),t.EDE=r(9413)},4375:(e,t,r)=>{"use strict";var n=r(4504),i=r(1736),o={};function a(e){n.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t{"use strict";var n=r(4504);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),n=0;n0;n--)t+=this._buffer(e,t),r+=this._flushBuffer(i,r);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t{"use strict";var n=r(4504),i=r(1736),o=r(319),a=r(9591);function s(){this.tmp=new Array(2),this.keys=null}function u(e){a.call(this,e);var t=new s;this._desState=t,this.deriveKeys(t,e.key)}i(u,a),e.exports=u,u.create=function(e){return new u(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];u.prototype.deriveKeys=function(e,t){e.keys=new Array(32),n.equal(t.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(t,0),i=o.readUInt32BE(t,4);o.pc1(r,i,e.tmp,0),r=e.tmp[0],i=e.tmp[1];for(var a=0;a>>1];r=o.r28shl(r,s),i=o.r28shl(i,s),o.pc2(r,i,e.keys,a)}},u.prototype._update=function(e,t,r,n){var i=this._desState,a=o.readUInt32BE(e,t),s=o.readUInt32BE(e,t+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(e,t){for(var r=e.length-t,n=t;n>>0,a=l}o.rip(s,a,n,i)},u.prototype._decrypt=function(e,t,r,n,i){for(var a=r,s=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],f=e.keys[u+1];o.expand(a,e.tmp,0),c^=e.tmp[0],f^=e.tmp[1];var d=o.substitute(c,f),l=a;a=(s^o.permute(d))>>>0,s=l}o.rip(a,s,n,i)}},9413:(e,t,r)=>{"use strict";var n=r(4504),i=r(1736),o=r(9591),a=r(3049);function s(e,t){n.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),i=t.slice(8,16),o=t.slice(16,24);this.ciphers="encrypt"===e?[a.create({type:"encrypt",key:r}),a.create({type:"decrypt",key:i}),a.create({type:"encrypt",key:o})]:[a.create({type:"decrypt",key:o}),a.create({type:"encrypt",key:i}),a.create({type:"decrypt",key:r})]}function u(e){o.call(this,e);var t=new s(this.type,this.options.key);this._edeState=t}i(u,o),e.exports=u,u.create=function(e){return new u(e)},u.prototype._update=function(e,t,r,n){var i=this._edeState;i.ciphers[0]._update(e,t,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},u.prototype._pad=a.prototype._pad,u.prototype._unpad=a.prototype._unpad},319:(e,t)=>{"use strict";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},t.ip=function(e,t,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|=t>>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=e>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},t.rip=function(e,t,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)i<<=1,i|=t>>>s+a&1,i<<=1,i|=e>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=t>>>s+a&1,o<<=1,o|=e>>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},t.pc1=function(e,t,r,n){for(var i=0,o=0,a=7;a>=5;a--){for(var 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(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[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];t.pc2=function(e,t,n,i){for(var o=0,a=0,s=r.length>>>1,u=0;u>>r[u]&1;for(u=s;u>>r[u]&1;n[i+0]=o>>>0,n[i+1]=a>>>0},t.expand=function(e,t,r){var n=0,i=0;n=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[r+0]=n>>>0,t[r+1]=i>>>0};var n=[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];t.substitute=function(e,t){for(var r=0,i=0;i<4;i++)r<<=4,r|=n[64*i+(e>>>18-6*i&63)];for(i=0;i<4;i++)r<<=4,r|=n[256+64*i+(t>>>18-6*i&63)];return r>>>0};var i=[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];t.permute=function(e){for(var t=0,r=0;r>>i[r]&1;return t>>>0},t.padSplit=function(e,t,r){for(var n=e.toString(2);n.length{"use strict";var n=r(9033).Buffer,i=r(8557),o=r(9799),a=r(1592),s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(e){var t=new n(o[e].prime,"hex"),r=new n(o[e].gen,"hex");return new a(t,r)},t.createDiffieHellman=t.DiffieHellman=function e(t,r,o,u){return n.isBuffer(r)||void 0===s[r]?e(t,"binary",r,o):(r=r||"binary",u=u||"binary",o=o||new n([2]),n.isBuffer(o)||(o=new n(o,u)),"number"==typeof t?new a(i(t,o),o,!0):(n.isBuffer(t)||(t=new n(t,r)),new a(t,o,!0)))}},1592:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(1734),o=new(r(137)),a=new i(24),s=new i(11),u=new i(10),c=new i(3),f=new i(7),d=r(8557),l=r(5010);function h(e,t){return t=t||"utf8",n.isBuffer(e)||(e=new n(e,t)),this._pub=new i(e),this}function p(e,t){return t=t||"utf8",n.isBuffer(e)||(e=new n(e,t)),this._priv=new i(e),this}e.exports=y;var b={};function y(e,t,r){this.setGenerator(t),this.__prime=new i(e),this._prime=i.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=h,this.setPrivateKey=p):this._primeCode=8}function m(e,t){var r=new n(e.toArray());return t?r.toString(t):r}Object.defineProperty(y.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in b)return b[n];var i,l=0;if(e.isEven()||!d.simpleSieve||!d.fermatTest(e)||!o.test(e))return l+=1,l+="02"===r||"05"===r?8:4,b[n]=l,l;switch(o.test(e.shrn(1))||(l+=2),r){case"02":e.mod(a).cmp(s)&&(l+=8);break;case"05":(i=e.mod(u)).cmp(c)&&i.cmp(f)&&(l+=8);break;default:l+=4}return b[n]=l,l}(this.__prime,this.__gen)),this._primeCode}}),y.prototype.generateKeys=function(){return this._priv||(this._priv=new i(l(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},y.prototype.computeSecret=function(e){var t=(e=(e=new i(e)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new n(t.toArray()),o=this.getPrime();if(r.length{"use strict";var n=r(5010);e.exports=v,v.simpleSieve=y,v.fermatTest=m;var i=r(1734),o=new i(24),a=new(r(137)),s=new i(1),u=new i(2),c=new i(5),f=(new i(16),new i(8),new i(10)),d=new i(3),l=(new i(7),new i(11)),h=new i(4),p=(new i(12),null);function b(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;ie;)r.ishrn(1);if(r.isEven()&&r.iadd(s),r.testn(1)||r.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;r.mod(f).cmp(d);)r.iadd(h)}else for(;r.mod(o).cmp(l);)r.iadd(h);if(y(p=r.shrn(1))&&y(r)&&m(p)&&m(r)&&a.test(p)&&a.test(r))return r}}},6597:(e,t,r)=>{"use strict";var n=t;n.version=r(8597).i8,n.utils=r(7528),n.rand=r(2202),n.curve=r(6063),n.curves=r(506),n.ec=r(8320),n.eddsa=r(8027)},1249:(e,t,r)=>{"use strict";var n=r(1734),i=r(7528),o=i.getNAF,a=i.getJSF,s=i.assert;function u(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.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=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.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 c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){s(e.precomputed);var r=e._getDoubles(),n=o(t,1,this._bitLength),i=(1<=a;f--)u=(u<<1)+n[f];c.push(u)}for(var d=this.jpoint(null,null,null),l=this.jpoint(null,null,null),h=i;h>0;h--){for(a=0;a=0;c--){for(var f=0;c>=0&&0===a[c];c--)f++;if(c>=0&&f++,u=u.dblp(f),c<0)break;var d=a[c];s(0!==d),u="affine"===e.type?d>0?u.mixedAdd(i[d-1>>1]):u.mixedAdd(i[-d-1>>1].neg()):d>0?u.add(i[d-1>>1]):u.add(i[-d-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,i){var s,u,c,f=this._wnafT1,d=this._wnafT2,l=this._wnafT3,h=0;for(s=0;s=1;s-=2){var b=s-1,y=s;if(1===f[b]&&1===f[y]){var m=[t[b],null,null,t[y]];0===t[b].y.cmp(t[y].y)?(m[1]=t[b].add(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg())):0===t[b].y.cmp(t[y].y.redNeg())?(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].add(t[y].neg())):(m[1]=t[b].toJ().mixedAdd(t[y]),m[2]=t[b].toJ().mixedAdd(t[y].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[b],r[y]);for(h=Math.max(g[0].length,h),l[b]=new Array(h),l[y]=new Array(h),u=0;u=0;s--){for(var S=0;s>=0;){var E=!0;for(u=0;u=0&&S++,k=k.dblp(S),s<0)break;for(u=0;u0?c=d[u][x-1>>1]:x<0&&(c=d[u][-x-1>>1].neg()),k="affine"===c.type?k.mixedAdd(c):k.add(c))}}for(s=0;s=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i{"use strict";var n=r(7528),i=r(1734),o=r(1736),a=r(1249),s=n.assert;function u(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,a.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.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|e.c)}function c(e,t,r,n,o){a.BasePoint.call(this,e,"projective"),null===t&&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(t,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),e.exports=u,u.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},u.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},u.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.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(t&&!u||!t&&u)&&(s=s.redNeg()),this.point(e,s)},u.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.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(t)throw new Error("invalid point");return this.point(this.zero,e)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},u.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},o(c,a.BasePoint),u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},u.prototype.point=function(e,t,r,n){return new c(this,e,t,r,n)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),a=o.redSub(r),s=n.redSub(t),u=i.redMul(a),c=o.redMul(s),f=i.redMul(s),d=a.redMul(o);return this.curve.point(u,c,d,f)},c.prototype._projDbl=function(){var e,t,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(s)).redAdd(u);this.zOne?(e=a.redSub(s).redSub(u).redMul(c.redSub(this.curve.two)),t=c.redMul(n.redSub(u)),r=c.redSqr().redSub(c).redSub(c)):(i=this.z.redSqr(),o=c.redSub(i).redISub(i),e=a.redSub(s).redISub(u).redMul(o),t=c.redMul(n.redSub(u)),r=c.redMul(o))}else n=s.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),e=this.curve._mulC(a.redISub(n)).redMul(o),t=this.curve._mulC(n).redMul(s.redISub(u)),r=n.redMul(o);return this.curve.point(e,t,r)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),a=i.redSub(n),s=i.redAdd(n),u=r.redAdd(t),c=o.redMul(a),f=s.redMul(u),d=o.redMul(u),l=a.redMul(s);return this.curve.point(c,f,l,d)},c.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),o=this.x.redMul(e.x),a=this.y.redMul(e.y),s=this.curve.d.redMul(o).redMul(a),u=i.redSub(s),c=i.redAdd(s),f=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(a),d=n.redMul(u).redMul(f);return this.curve.twisted?(t=n.redMul(c).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(c)):(t=n.redMul(c).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(c)),this.curve.point(d,t,r)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},c.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},6063:(e,t,r)=>{"use strict";var n=t;n.base=r(1249),n.short=r(3148),n.mont=r(1105),n.edwards=r(1123)},1105:(e,t,r)=>{"use strict";var n=r(1734),i=r(1736),o=r(1249),a=r(7528);function s(e){o.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.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(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,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),e.exports=s,s.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},i(u,o.BasePoint),s.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},s.prototype.point=function(e,t){return new u(this,e,t)},s.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(e,t){return new u(e,t[0],t[1]||e.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.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(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),a=i.redMul(n),s=t.z.redMul(o.redAdd(a).redSqr()),u=t.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,u)},u.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.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(e){return 0===this.getX().cmp(e.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()}},3148:(e,t,r)=>{"use strict";var n=r(7528),i=r(1734),o=r(1736),a=r(1249),s=n.assert;function u(e){a.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.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(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,r,n){a.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,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 f(e,t,r,n){a.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,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),e.exports=u,u.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?r=o[0]:(r=o[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(r)}}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,r,n,o,a,s,u,c,f,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=e,h=this.n.clone(),p=new i(1),b=new i(0),y=new i(0),m=new i(1),v=0;0!==l.cmpn(0);){var g=h.div(l);c=h.sub(g.mul(l)),f=y.sub(g.mul(p));var w=m.sub(g.mul(b));if(!n&&c.cmp(d)<0)t=u.neg(),r=p,n=c.neg(),o=f;else if(n&&2==++v)break;u=c,h=l,l=c,y=p,p=f,m=b,b=w}a=c.neg(),s=f;var A=n.sqr().add(o.sqr());return a.sqr().add(s.sqr()).cmp(A)>=0&&(a=t,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a,b:s}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.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(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).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)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},c.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.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 t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(f,a.BasePoint),u.prototype.jpoint=function(e,t,r){return new f(this,e,t,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.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 c=s.redSqr(),f=c.redMul(s),d=n.redMul(c),l=u.redSqr().redIAdd(f).redISub(d).redISub(d),h=u.redMul(d.redISub(l)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(l,h,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).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(),c=u.redMul(a),f=r.redMul(u),d=s.redSqr().redIAdd(c).redISub(f).redISub(f),l=s.redMul(f.redISub(d)).redISub(i.redMul(c)),h=this.z.redMul(a);return this.curve.jpoint(d,l,h)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},506:(e,t,r)=>{"use strict";var n,i=t,o=r(7198),a=r(6063),s=r(7528).assert;function u(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,c("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"]}),c("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"]}),c("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"]}),c("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"]}),c("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"]}),c("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"]}),c("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(6401)}catch(e){n=void 0}c("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]})},8320:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(9410),a=r(7528),s=r(506),u=r(2202),c=a.assert,f=r(7791),d=r(488);function l(e){if(!(this instanceof l))return new l(e);"string"==typeof e&&(c(Object.prototype.hasOwnProperty.call(s,e),"Unknown curve "+e),e=s[e]),e instanceof s.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=l,l.prototype.keyPair=function(e){return new f(this,e)},l.prototype.keyFromPrivate=function(e,t){return f.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return f.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){e||(e={});for(var t=new o({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||u(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new i(2));;){var a=new i(t.generate(r));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}},l.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},l.prototype.sign=function(e,t,r,a){"object"===(0,n.default)(r)&&(a=r,r=null),a||(a={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new i(e,16));for(var s=this.n.byteLength(),u=t.getPrivate().toArray("be",s),c=e.toArray("be",s),f=new o({hash:this.hash,entropy:u,nonce:c,pers:a.pers,persEnc:a.persEnc||"utf8"}),l=this.n.sub(new i(1)),h=0;;h++){var p=a.k?a.k(h):new i(f.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(l)>=0)){var b=this.g.mul(p);if(!b.isInfinity()){var y=b.getX(),m=y.umod(this.n);if(0!==m.cmpn(0)){var v=p.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var g=(b.getY().isOdd()?1:0)|(0!==y.cmp(m)?2:0);return a.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),g^=1),new d({r:m,s:v,recoveryParam:g})}}}}}},l.prototype.verify=function(e,t,r,n){e=this._truncateToN(new i(e,16)),r=this.keyFromPublic(r,n);var o=(t=new d(t,"hex")).r,a=t.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),c=u.mul(e).umod(this.n),f=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),f)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(c,r.getPublic(),f)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(e,t,r,n){c((3&r)===r,"The recovery param is more than two bits"),t=new d(t,n);var o=this.n,a=new i(e),s=t.r,u=t.s,f=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),f):this.curve.pointFromX(s,f);var h=t.r.invm(o),p=o.sub(a).mul(h).umod(o),b=u.mul(h).umod(o);return this.g.mulAdd(p,s,b)},l.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new d(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},7791:(e,t,r)=>{"use strict";var n=r(1734),i=r(7528).assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.validate()||i(e.validate(),"public point not validated"),e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},488:(e,t,r)=>{"use strict";var n=r(1734),i=r(7528),o=i.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function u(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=t.place;o>>=0;return!(i<=127)&&(t.place=a,i)}function c(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=a,a.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new s;if(48!==e[r.place++])return!1;var o=u(e,r);if(!1===o)return!1;if(o+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var a=u(e,r);if(!1===a)return!1;var c=e.slice(r.place,a+r.place);if(r.place+=a,2!==e[r.place++])return!1;var f=u(e,r);if(!1===f)return!1;if(e.length!==f+r.place)return!1;var d=e.slice(r.place,f+r.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===d[0]){if(!(128&d[1]))return!1;d=d.slice(1)}return this.r=new n(c),this.s=new n(d),this.recoveryParam=null,!0},a.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=c(t),r=c(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];f(n,t.length),(n=n.concat(t)).push(2),f(n,r.length);var o=n.concat(r),a=[48];return f(a,o.length),a=a.concat(o),i.encode(a,e)}},8027:(e,t,r)=>{"use strict";var n=r(7198),i=r(506),o=r(7528),a=o.assert,s=o.parseBytes,u=r(7303),c=r(6646);function f(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof f))return new f(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=f,f.prototype.sign=function(e,t){e=s(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),u=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},f.prototype.verify=function(e,t,r){e=s(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(o)},f.prototype.hashInt=function(){for(var e=this.hash(),t=0;t{"use strict";var n=r(7528),i=n.assert,o=n.parseBytes,a=n.cachedProperty;function s(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}s.fromPublic=function(e,t){return t instanceof s?t:new s(e,{pub:t})},s.fromSecret=function(e,t){return t instanceof s?t:new s(e,{secret:t})},s.prototype.secret=function(){return this._secret},a(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),a(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),a(s,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),a(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),a(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),a(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(e){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},s.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},s.prototype.getSecret=function(e){return i(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},s.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=s},6646:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(7528),a=o.assert,s=o.cachedProperty,u=o.parseBytes;function c(e,t){this.eddsa=e,"object"!==(0,n.default)(t)&&(t=u(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),a(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof i&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(c,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),s(c,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),s(c,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),s(c,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),c.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},c.prototype.toHex=function(){return o.encode(this.toBytes(),"hex").toUpperCase()},e.exports=c},6401:e=>{"use strict";e.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"]]}}},7528:(e,t,r)=>{"use strict";var n=t,i=r(1734),o=r(4504),a=r(6580);n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.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(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,u=e.andln(3)+i&3,c=t.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!=(n=e.andln(7)+i&7)&&5!==n||2!==c?u:-u,r[0].push(a),s=0==(1&c)?0:3!=(n=t.andln(7)+o&7)&&5!==n||2!==u?c:-c,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},6464:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=function(){if("object"===("undefined"==typeof self?"undefined":(0,n.default)(self))&&self)return self;if("object"===("undefined"==typeof window?"undefined":(0,n.default)(window))&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===("undefined"==typeof globalThis?"undefined":(0,n.default)(globalThis))&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return i()}try{return __global__||i()}finally{delete Object.prototype.__global__}}()},4258:(e,t,r)=>{"use strict";var n,i,o,a=r(9142),s=r(8847)(r(3355));o=function(){function e(e){return"function"==typeof e}var t=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},n=0,i=void 0,o=void 0,u=function(e,t){b[n]=e,b[n+1]=t,2===(n+=2)&&(o?o(y):A())},c="undefined"!=typeof window?window:void 0,f=c||{},d=f.MutationObserver||f.WebKitMutationObserver,l="undefined"==typeof self&&void 0!==a&&"[object process]"==={}.toString.call(a),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function p(){var e=setTimeout;return function(){return e(y,1)}}var b=new Array(1e3);function y(){for(var e=0;e{"use strict";var n=r(9033).Buffer,i=r(4858).keccak_256,o=r(3956);function a(e){return e?o.toUnicode(e,{useStd3ASCII:!0,transitional:!1}):e}t.hash=function(e){for(var t="",r=0;r<32;r++)t+="00";if(name=a(e),name){var o=name.split(".");for(r=o.length-1;r>=0;r--){var s=i(o[r]);t=i(new n(t+s,"hex"))}}return"0x"+t},t.normalize=a},3058:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847)(r(4519)),o=r(6851),a=r(9733),s=r(6597),u=(r(6740),new s.ec("secp256k1")),c=r(2922),f=c.keccak256,d=c.keccak256s,l=function(e){for(var t=d(e.slice(2)),r="0x",n=0;n<40;n++)r+=parseInt(t[n+2],16)>7?e[n+2].toUpperCase():e[n+2];return r},h=function(e){var t=new n(e.slice(2),"hex"),r="0x"+u.keyFromPrivate(t).getPublic(!1,"hex").slice(2),i=f(r);return{address:l("0x"+i.slice(-40)),privateKey:e}},p=function(e){var t=(0,i.default)(e,3),r=t[0],n=t[1],a=t[2];return o.flatten([n,a,r])},b=function(e){return[o.slice(64,o.length(e),e),o.slice(0,32,e),o.slice(32,64,e)]},y=function(e){return function(t,r){var i=u.keyFromPrivate(new n(r.slice(2),"hex")).sign(new n(t.slice(2),"hex"),{canonical:!0});return p([a.fromString(o.fromNumber(e+i.recoveryParam)),o.pad(32,o.fromNat("0x"+i.r.toString(16))),o.pad(32,o.fromNat("0x"+i.s.toString(16)))])}},m=y(27);e.exports={create:function(e){var t=f(o.concat(o.random(32),e||o.random(32))),r=o.concat(o.concat(o.random(32),t),o.random(32)),n=f(r);return h(n)},toChecksum:l,fromPrivate:h,sign:m,makeSigner:y,recover:function(e,t){var r=b(t),i={v:o.toNumber(r[0]),r:r[1].slice(2),s:r[2].slice(2)},a="0x"+u.recoverPubKey(new n(e.slice(2),"hex"),i,i.v<2?i.v:1-i.v%2).encode("hex",!1).slice(2),s=f(a);return l("0x"+s.slice(-40))},encodeSignature:p,decodeSignature:b}},1376:e=>{"use strict";var t=function(e,t){for(var r=[],n=0;n{"use strict";r(1376);var n=function(e,t){return parseInt(e.slice(2*t+2,2*t+4),16)},i=function(e){return(e.length-2)/2},o=function(e){for(var t=[],r=2,n=e.length;r>6|192);else{if(i>55295&&i<56320){if(++n==e.length)return null;var o=e.charCodeAt(n);if(o<56320||o>57343)return null;r+=t((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=t(i>>12&63|128)}else r+=t(i>>12|224);r+=t(i>>6&63|128)}r+=t(63&i|128)}}return r},toString:function(e){for(var t="",r=0,o=i(e);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(e,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(e,r))<<6|63&n(e,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(e,r))<<12|(63&n(e,++r))<<6|63&n(e,++r)}++r}if(a<=65535)t+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,t+=String.fromCharCode(a>>10|55296),t+=String.fromCharCode(1023&a|56320)}}return t},fromNumber:function(e){var t=e.toString(16);return t.length%2==0?"0x"+t:"0x0"+t},toNumber:function(e){return parseInt(e.slice(2),16)},fromNat:function(e){return"0x0"===e?"0x":e.length%2==0?e:"0x0"+e.slice(2)},toNat:function(e){return"0"===e[2]?"0x"+e.slice(3):e},fromArray:a,toArray:o,fromUint8Array:function(e){return a([].slice.call(e,0))},toUint8Array:function(e){return new Uint8Array(o(e))}}},2922:e=>{"use strict";var t="0123456789abcdef".split(""),r=[1,256,65536,16777216],n=[0,8,16,24],i=[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],o=function(e){var t,r,n,o,a,s,u,c,f,d,l,h,p,b,y,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)o=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],f=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=o^(c<<1|f>>>31),r=a^(f<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(d<<1|l>>>31),r=u^(l<<1|d>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|p>>>31),r=f^(p<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=d^(o<<1|a>>>31),r=l^(a<<1|o>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,b=e[0],y=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=b^~m&g,e[1]=y^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&b,e[7]=k^~S&y,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~b&m,e[9]=S^~y&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=i[n],e[1]^=i[n+1]},a=function(e){return function(i){var a;if("0x"===i.slice(0,2)){a=[];for(var s=2,u=i.length;s>2]|=i[h]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|63&a)<=57344?(u[y>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<=c){for(e.start=y-c,e.block=u[f],y=0;y>2]|=r[3&y],e.lastByteIndex===c)for(u[0]=u[f],y=1;y>4&15]+t[15&p]+t[p>>12&15]+t[p>>8&15]+t[p>>20&15]+t[p>>16&15]+t[p>>28&15]+t[p>>24&15];m%f==0&&(o(l),y=0)}return"0x"+b}(function(e){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(e<<1)>>5,outputBlocks:e>>5,s:(t=[0,0,0,0,0,0,0,0,0,0],[].concat(t,t,t,t,t))};var t}(e),a)}};e.exports={keccak256:a(256),keccak512:a(512),keccak256s:a(256),keccak512s:a(512)}},9733:(e,t,r)=>{"use strict";var n=r(1734),i=r(6851),o=function(e){return new n(e.slice(2),16)},a=function(e){var t="0x"+("0x"===e.slice(0,2)?new n(e.slice(2),16):new n(e,10)).toString("hex");return"0x0"===t?"0x":t},s=function(e){return"string"==typeof e?/^0x/.test(e)?e:"0x"+e:"0x"+new n(e).toString("hex")},u=function(e){return o(e).toNumber()},c=function(e){return function(t,r){return"0x"+o(t)[e](o(r)).toString("hex")}},f=c("add"),d=c("mul"),l=c("div"),h=c("sub");e.exports={toString:function(e){return o(e).toString(10)},fromString:a,toNumber:u,fromNumber:s,toEther:function(e){return u(l(e,a("10000000000")))/1e8},fromEther:function(e){return d(s(Math.floor(1e8*e)),a("10000000000"))},toUint256:function(e){return i.pad(32,e)},add:f,mul:d,div:l,sub:h}},6740:e=>{"use strict";e.exports={encode:function(e){var t=function(e){return(t=e.toString(16)).length%2==0?t:"0"+t;var t},r=function(e,r){return e<56?t(r+e):t(r+t(e).length/2+55)+t(e)};return"0x"+function e(t){if("string"==typeof t){var n=t.slice(2);return(2!=n.length||n>="80"?r(n.length/2,128):"")+n}var i=t.map(e).join("");return r(i.length/2,192)+i}(e)},decode:function(e){var t=2,r=function(){if(t>=e.length)throw"";var r=e.slice(t,t+2);return r<"80"?(t+=2,"0x"+r):r<"c0"?i():o()},n=function(){var r=parseInt(e.slice(t,t+=2),16)%64;return r<56?r:parseInt(e.slice(t,t+=2*(r-55)),16)},i=function(){var r=n();return"0x"+e.slice(t,t+=2*r)},o=function(){for(var e=2*n()+t,i=[];t{"use strict";var n=r(8847)(r(3355));Object.defineProperty(t,"__esModule",{value:!0});var i=r(8179);function o(e){return!("string"!=typeof e||!/^(0x)?[0-9a-f]{512}$/i.test(e)||!/^(0x)?[0-9a-f]{512}$/.test(e)&&!/^(0x)?[0-9A-F]{512}$/.test(e))}function a(e,t){"object"===(0,n.default)(t)&&t.constructor===Uint8Array&&(t=i.bytesToHex(t));for(var r=i.keccak256(t).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&&e<=57)return e-48;if(e>=65&&e<=70)return e-55;if(e>=97&&e<=102)return e-87;throw new Error("invalid bloom")}function u(e){return!("string"!=typeof e||!/^(0x)?[0-9a-f]{64}$/i.test(e)||!/^(0x)?[0-9a-f]{64}$/.test(e)&&!/^(0x)?[0-9A-F]{64}$/.test(e))}function c(e){return!("string"!=typeof e||!e.match(/^(0x)?[0-9a-fA-F]{40}$/)&&!e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/))}t.isBloom=o,t.isInBloom=a,t.isUserEthereumAddressInBloom=function(e,t){if(!o(e))throw new Error("Invalid bloom given");if(!c(t))throw new Error('Invalid ethereum address given: "'.concat(t,'"'));return a(e,i.padLeft(t,64))},t.isContractAddressInBloom=function(e,t){if(!o(e))throw new Error("Invalid bloom given");if(!c(t))throw new Error('Invalid contract address given: "'.concat(t,'"'));return a(e,t)},t.isTopicInBloom=function(e,t){if(!o(e))throw new Error("Invalid bloom given");if(!u(t))throw new Error("Invalid topic");return a(e,t)},t.isTopic=u,t.isAddress=c},8179:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7286);function i(e){if(null==e)throw new Error("cannot convert null value to array");if("string"==typeof e){var t=e.match(/^(0x)?[0-9a-fA-F]*$/);if(!t)throw new Error("invalid hexidecimal string");if("0x"!==t[1])throw new Error("hex string must have 0x prefix");(e=e.substring(2)).length%2&&(e="0"+e);for(var r=[],n=0;n=256||parseInt(String(r))!=r)return!1}return!0}(e))return o(new Uint8Array(e));throw new Error("invalid arrayify value")}function o(e){var t=arguments;return void 0!==e.slice||(e.slice=function(){var r=Array.prototype.slice.call(t);return o(new Uint8Array(Array.prototype.slice.apply(e,r)))}),e}t.keccak256=function(e){return"0x"+n.keccak_256(i(e))},t.padLeft=function(e,t){var r=/^0x/i.test(e)||"number"==typeof e,n=t-(e=e.toString().replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(r?"0x":"")+new Array(n).join("0")+e},t.bytesToHex=function(e){for(var t=[],r=0;r>>4).toString(16)),t.push((15&e[r]).toString(16));return"0x".concat(t.join("").replace(/^0+/,""))},t.toByteArray=i},7286:(e,t,r)=>{"use strict";e=r.nmd(e);var n,i=r(9142),o=r(8847)(r(3355));!function(){var a="input is invalid type",s="object"===("undefined"==typeof window?"undefined":(0,o.default)(window)),u=s?window:{};u.JS_SHA3_NO_WINDOW&&(s=!1);var c=!s&&"object"===("undefined"==typeof self?"undefined":(0,o.default)(self));!u.JS_SHA3_NO_NODE_JS&&"object"===(void 0===i?"undefined":(0,o.default)(i))&&i.versions&&i.versions.node?u=r.g:c&&(u=self);var f=!u.JS_SHA3_NO_COMMON_JS&&"object"===(0,o.default)(e)&&e.exports,d=r.amdO,l=!u.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),p=[4,1024,262144,67108864],b=[0,8,16,24],y=[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],m=[224,256,384,512],v=[128,256],g=["hex","buffer","arrayBuffer","array","digest"],w={128:168,256:136};!u.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!l||!u.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===(0,o.default)(e)&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var A=function(e,t,r){return function(n){return new j(e,t,e).update(n)[r]()}},k=function(e,t,r){return function(n,i){return new j(e,t,i).update(n)[r]()}},_=function(e,t,r){return function(t,n,i,o){return O["cshake"+e].update(t,n,i,o)[r]()}},S=function(e,t,r){return function(t,n,i,o){return O["kmac"+e].update(t,n,i,o)[r]()}},E=function(e,t,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 N(e,t,r){j.call(this,e,t,r)}j.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}for(var n,i,s=this.blocks,u=this.byteCount,c=e.length,f=this.blockCount,d=0,h=this.s;d>2]|=e[d]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(s[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=s[f],n=0;n>=8);r>0;)i.unshift(r),r=255&(e>>=8),++n;return t?i.push(n):i.unshift(n),this.update(i),i.length},j.prototype.encodeString=function(e){var t,r=(0,o.default)(e);if("string"!==r){if("object"!==r)throw new Error(a);if(null===e)throw new Error(a);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||l&&ArrayBuffer.isView(e)))throw new Error(a);t=!0}var n=0,i=e.length;if(t)n=i;else for(var s=0;s=57344?n+=3:(u=65536+((1023&u)<<10|1023&e.charCodeAt(++s)),n+=4)}return n+=this.encode(8*n),this.update(e),n},j.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+h[15&e]+h[e>>12&15]+h[e>>8&15]+h[e>>20&15]+h[e>>16&15]+h[e>>28&15]+h[e>>24&15];a%t==0&&(F(r),o=0)}return i&&(e=r[o],s+=h[e>>4&15]+h[15&e],i>1&&(s+=h[e>>12&15]+h[e>>8&15]),i>2&&(s+=h[e>>20&15]+h[e>>16&15])),s},j.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&F(n)}return o&&(e=s<<2,t=n[a],u[e]=255&t,o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u},N.prototype=new j,N.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var F=function(e){var t,r,n,i,o,a,s,u,c,f,d,l,h,p,b,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(l=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),r=(h=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(u<<1|c>>>31),r=o^(c<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(f<<1|d>>>31),r=s^(d<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(l<<1|h>>>31),r=c^(h<<1|l>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=d^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],b=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=p^~m&g,e[1]=b^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&p,e[7]=k^~S&b,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~p&m,e[9]=S^~b&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=y[n],e[1]^=y[n+1]};if(f)e.exports=O;else{for(T=0;T{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.createHashFunction=function(e){return function(t){var r=e();return r.update(t),n.from(r.digest())}}},1243:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(9989),i=r(3135);t.keccak224=n.createHashFunction((function(){return i("keccak224")})),t.keccak256=n.createHashFunction((function(){return i("keccak256")})),t.keccak384=n.createHashFunction((function(){return i("keccak384")})),t.keccak512=n.createHashFunction((function(){return i("keccak512")}))},4893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5010);t.getRandomBytes=function(e){return new Promise((function(t,r){n(e,(function(e,n){e?r(e):t(n)}))}))},t.getRandomBytesSync=function(e){return n(e)}},6992:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(7902),i=r(4893);t.createPrivateKey=function(){return e=this,t=void 0,o=function(){var e;return function(e,t){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=(i=a.trys).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]{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.isZeroAddress=t.zeroAddress=t.importPublic=t.privateToAddress=t.privateToPublic=t.publicToAddress=t.pubToAddress=t.isValidPublic=t.isValidPrivate=t.generateAddress2=t.generateAddress=t.isValidChecksumAddress=t.toChecksumAddress=t.isValidAddress=t.Account=void 0;var i,o=(i=r(3894))&&i.__esModule?i:{default:i},a=r(9100),s=r(6992),u=r(3271),c=r(986),f=r(3464),d=r(9808),l=r(5725),h=r(5513),p=function(){function e(e,t,r,n){void 0===e&&(e=new a.BN(0)),void 0===t&&(t=new a.BN(0)),void 0===r&&(r=c.KECCAK256_RLP),void 0===n&&(n=c.KECCAK256_NULL),this.nonce=e,this.balance=t,this.stateRoot=r,this.codeHash=n,this._validate()}return e.fromAccountData=function(t){var r=t.nonce,n=t.balance,i=t.stateRoot,o=t.codeHash;return new e(r?new a.BN((0,f.toBuffer)(r)):void 0,n?new a.BN((0,f.toBuffer)(n)):void 0,i?(0,f.toBuffer)(i):void 0,o?(0,f.toBuffer)(o):void 0)},e.fromRlpSerializedAccount=function(e){var t=a.rlp.decode(e);if(!Array.isArray(t))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(t)},e.fromValuesArray=function(t){var r=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}(t,4),n=r[0],i=r[1],o=r[2],s=r[3];return new e(new a.BN(n),new a.BN(i),o,s)},e.prototype._validate=function(){if(this.nonce.lt(new a.BN(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new a.BN(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")},e.prototype.raw=function(){return[(0,h.bnToUnpaddedBuffer)(this.nonce),(0,h.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},e.prototype.serialize=function(){return a.rlp.encode(this.raw())},e.prototype.isContract=function(){return!this.codeHash.equals(c.KECCAK256_NULL)},e.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(c.KECCAK256_NULL)},e}();t.Account=p,t.isValidAddress=function(e){try{(0,l.assertIsString)(e)}catch(e){return!1}return/^0x[0-9a-fA-F]{40}$/.test(e)},t.toChecksumAddress=function(e,t){(0,l.assertIsHexString)(e);var r=(0,u.stripHexPrefix)(e).toLowerCase(),n="";t&&(n=(0,h.toType)(t,h.TypeOutput.BN).toString()+"0x");for(var i=(0,d.keccakFromString)(n+r).toString("hex"),o="0x",a=0;a=8?o+=r[a].toUpperCase():o+=r[a];return o},t.isValidChecksumAddress=function(e,r){return(0,t.isValidAddress)(e)&&(0,t.toChecksumAddress)(e,r)===e},t.generateAddress=function(e,t){(0,l.assertIsBuffer)(e),(0,l.assertIsBuffer)(t);var r=new a.BN(t);return r.isZero()?(0,d.rlphash)([e,null]).slice(-20):(0,d.rlphash)([e,n.from(r.toArray())]).slice(-20)},t.generateAddress2=function(e,t,r){return(0,l.assertIsBuffer)(e),(0,l.assertIsBuffer)(t),(0,l.assertIsBuffer)(r),(0,o.default)(20===e.length),(0,o.default)(32===t.length),(0,d.keccak256)(n.concat([n.from("ff","hex"),e,t,(0,d.keccak256)(r)])).slice(-20)},t.isValidPrivate=function(e){return(0,s.privateKeyVerify)(e)},t.isValidPublic=function(e,t){return void 0===t&&(t=!1),(0,l.assertIsBuffer)(e),64===e.length?(0,s.publicKeyVerify)(n.concat([n.from([4]),e])):!!t&&(0,s.publicKeyVerify)(e)},t.pubToAddress=function(e,t){return void 0===t&&(t=!1),(0,l.assertIsBuffer)(e),t&&64!==e.length&&(e=n.from((0,s.publicKeyConvert)(e,!1).slice(1))),(0,o.default)(64===e.length),(0,d.keccak)(e).slice(-20)},t.publicToAddress=t.pubToAddress,t.privateToPublic=function(e){return(0,l.assertIsBuffer)(e),n.from((0,s.publicKeyCreate)(e,!1)).slice(1)},t.privateToAddress=function(e){return(0,t.publicToAddress)((0,t.privateToPublic)(e))},t.importPublic=function(e){return(0,l.assertIsBuffer)(e),64!==e.length&&(e=n.from((0,s.publicKeyConvert)(e,!1).slice(1))),e},t.zeroAddress=function(){var e=(0,f.zeros)(20);return(0,f.bufferToHex)(e)},t.isZeroAddress=function(e){try{(0,l.assertIsString)(e)}catch(e){return!1}return(0,t.zeroAddress)()===e}},1984:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.Address=void 0;var i,o=(i=r(3894))&&i.__esModule?i:{default:i},a=r(9100),s=r(3464),u=r(1968),c=function(){function e(e){(0,o.default)(20===e.length,"Invalid address length"),this.buf=e}return e.zero=function(){return new e((0,s.zeros)(20))},e.fromString=function(t){return(0,o.default)((0,u.isValidAddress)(t),"Invalid address"),new e((0,s.toBuffer)(t))},e.fromPublicKey=function(t){return(0,o.default)(n.isBuffer(t),"Public key should be Buffer"),new e((0,u.pubToAddress)(t))},e.fromPrivateKey=function(t){return(0,o.default)(n.isBuffer(t),"Private key should be Buffer"),new e((0,u.privateToAddress)(t))},e.generate=function(t,r){return(0,o.default)(a.BN.isBN(r)),new e((0,u.generateAddress)(t.buf,r.toArrayLike(n)))},e.generate2=function(t,r,i){return(0,o.default)(n.isBuffer(r)),(0,o.default)(n.isBuffer(i)),new e((0,u.generateAddress2)(t.buf,r,i))},e.prototype.equals=function(e){return this.buf.equals(e.buf)},e.prototype.isZero=function(){return this.equals(e.zero())},e.prototype.isPrecompileOrSystemAddress=function(){var e=new a.BN(this.buf),t=new a.BN(0),r=new a.BN("ffff","hex");return e.gte(t)&&e.lte(r)},e.prototype.toString=function(){return"0x"+this.buf.toString("hex")},e.prototype.toBuffer=function(){return n.from(this.buf)},e}();t.Address=c},3464:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(t,"__esModule",{value:!0}),t.bufArrToArr=t.arrToBufArr=t.validateNoLeadingZeroes=t.baToJSON=t.toUtf8=t.addHexPrefix=t.toUnsigned=t.fromSigned=t.bufferToHex=t.bufferToInt=t.toBuffer=t.unpadHexString=t.unpadArray=t.unpadBuffer=t.setLengthRight=t.setLengthLeft=t.zeros=t.intToBuffer=t.intToHex=void 0;var o=r(9100),a=r(3271),s=r(5725);t.intToHex=function(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("Received an invalid integer type: ".concat(e));return"0x".concat(e.toString(16))},t.intToBuffer=function(e){var r=(0,t.intToHex)(e);return n.from((0,a.padToEven)(r.slice(2)),"hex")},t.zeros=function(e){return n.allocUnsafe(e).fill(0)};var u=function(e,r,n){var i=(0,t.zeros)(r);return n?e.length0&&"0"===t.toString();)t=(e=e.slice(1))[0];return e};t.unpadBuffer=function(e){return(0,s.assertIsBuffer)(e),c(e)},t.unpadArray=function(e){return(0,s.assertIsArray)(e),c(e)},t.unpadHexString=function(e){return(0,s.assertIsHexString)(e),e=(0,a.stripHexPrefix)(e),c(e)},t.toBuffer=function(e){if(null==e)return n.allocUnsafe(0);if(n.isBuffer(e))return n.from(e);if(Array.isArray(e)||e instanceof Uint8Array)return n.from(e);if("string"==typeof e){if(!(0,a.isHexString)(e))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(e));return n.from((0,a.padToEven)((0,a.stripHexPrefix)(e)),"hex")}if("number"==typeof e)return(0,t.intToBuffer)(e);if(o.BN.isBN(e)){if(e.isNeg())throw new Error("Cannot convert negative BN to buffer. Given: ".concat(e));return e.toArrayLike(n)}if(e.toArray)return n.from(e.toArray());if(e.toBuffer)return n.from(e.toBuffer());throw new Error("invalid type")},t.bufferToInt=function(e){return new o.BN((0,t.toBuffer)(e)).toNumber()},t.bufferToHex=function(e){return"0x"+(e=(0,t.toBuffer)(e)).toString("hex")},t.fromSigned=function(e){return new o.BN(e).fromTwos(256)},t.toUnsigned=function(e){return n.from(e.toTwos(256).toArray())},t.addHexPrefix=function(e){return"string"!=typeof e||(0,a.isHexPrefixed)(e)?e:"0x"+e},t.toUtf8=function(e){if((e=(0,a.stripHexPrefix)(e)).length%2!=0)throw new Error("Invalid non-even hex string input for toUtf8() provided");return n.from(e.replace(/^(00)+|(00)+$/g,""),"hex").toString("utf8")},t.baToJSON=function(e){if(n.isBuffer(e))return"0x".concat(e.toString("hex"));if(e instanceof Array){for(var r=[],i=0;i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(Object.entries(e)),o=n.next();!o.done;o=n.next()){var a=i(o.value,2),s=a[0],u=a[1];if(void 0!==u&&u.length>0&&0===u[0])throw new Error("".concat(s," cannot have leading zeroes, received: ").concat(u.toString("hex")))}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},t.arrToBufArr=function e(t){return Array.isArray(t)?t.map((function(t){return e(t)})):n.from(t)},t.bufArrToArr=function e(t){return Array.isArray(t)?t.map((function(t){return e(t)})):Uint8Array.from(null!=t?t:[])}},986:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KECCAK256_RLP=t.KECCAK256_RLP_S=t.KECCAK256_RLP_ARRAY=t.KECCAK256_RLP_ARRAY_S=t.KECCAK256_NULL=t.KECCAK256_NULL_S=t.TWO_POW256=t.MAX_INTEGER=t.MAX_UINT64=void 0;var n=r(9033),i=r(9100);t.MAX_UINT64=new i.BN("ffffffffffffffff",16),t.MAX_INTEGER=new i.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),t.TWO_POW256=new i.BN("10000000000000000000000000000000000000000000000000000000000000000",16),t.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",t.KECCAK256_NULL=n.Buffer.from(t.KECCAK256_NULL_S,"hex"),t.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",t.KECCAK256_RLP_ARRAY=n.Buffer.from(t.KECCAK256_RLP_ARRAY_S,"hex"),t.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",t.KECCAK256_RLP=n.Buffer.from(t.KECCAK256_RLP_S,"hex")},9100:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};Object.defineProperty(t,"__esModule",{value:!0}),t.rlp=t.BN=void 0;var o,a=(o=r(1734))&&o.__esModule?o:{default:o};t.BN=a.default;var s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t}(r(6905));t.rlp=s},9808:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.rlphash=t.ripemd160FromArray=t.ripemd160FromString=t.ripemd160=t.sha256FromArray=t.sha256FromString=t.sha256=t.keccakFromArray=t.keccakFromHexString=t.keccakFromString=t.keccak256=t.keccak=void 0;var i=r(1243),o=r(5866),a=r(9100),s=r(3464),u=r(5725);t.keccak=function(e,t){switch(void 0===t&&(t=256),(0,u.assertIsBuffer)(e),t){case 224:return(0,i.keccak224)(e);case 256:return(0,i.keccak256)(e);case 384:return(0,i.keccak384)(e);case 512:return(0,i.keccak512)(e);default:throw new Error("Invald algorithm: keccak".concat(t))}},t.keccak256=function(e){return(0,t.keccak)(e)},t.keccakFromString=function(e,r){void 0===r&&(r=256),(0,u.assertIsString)(e);var i=n.from(e,"utf8");return(0,t.keccak)(i,r)},t.keccakFromHexString=function(e,r){return void 0===r&&(r=256),(0,u.assertIsHexString)(e),(0,t.keccak)((0,s.toBuffer)(e),r)},t.keccakFromArray=function(e,r){return void 0===r&&(r=256),(0,u.assertIsArray)(e),(0,t.keccak)((0,s.toBuffer)(e),r)};var c=function(e){return e=(0,s.toBuffer)(e),o("sha256").update(e).digest()};t.sha256=function(e){return(0,u.assertIsBuffer)(e),c(e)},t.sha256FromString=function(e){return(0,u.assertIsString)(e),c(e)},t.sha256FromArray=function(e){return(0,u.assertIsArray)(e),c(e)};var f=function(e,t){e=(0,s.toBuffer)(e);var r=o("rmd160").update(e).digest();return!0===t?(0,s.setLengthLeft)(r,32):r};t.ripemd160=function(e,t){return(0,u.assertIsBuffer)(e),f(e,t)},t.ripemd160FromString=function(e,t){return(0,u.assertIsString)(e),f(e,t)},t.ripemd160FromArray=function(e,t){return(0,u.assertIsArray)(e),f(e,t)},t.rlphash=function(e){return(0,t.keccak)(a.rlp.encode(e))}},5725:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.assertIsString=t.assertIsArray=t.assertIsBuffer=t.assertIsHexString=void 0;var i=r(3271);t.assertIsHexString=function(e){if(!(0,i.isHexString)(e)){var t="This method only supports 0x-prefixed hex strings but input was: ".concat(e);throw new Error(t)}},t.assertIsBuffer=function(e){if(!n.isBuffer(e)){var t="This method only supports Buffer but input was: ".concat(e);throw new Error(t)}},t.assertIsArray=function(e){if(!Array.isArray(e)){var t="This method only supports number arrays but input was: ".concat(e);throw new Error(t)}},t.assertIsString=function(e){if("string"!=typeof e){var t="This method only supports strings but input was: ".concat(e);throw new Error(t)}}},3062:(e,t,r)=>{"use strict";var n=Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]},i=function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.isHexString=t.getKeys=t.fromAscii=t.fromUtf8=t.toAscii=t.arrayContainsArray=t.getBinarySize=t.padToEven=t.stripHexPrefix=t.isHexPrefixed=void 0,i(r(986),t),i(r(1968),t),i(r(1984),t),i(r(9808),t),i(r(6081),t),i(r(3464),t),i(r(1677),t),i(r(9100),t),i(r(5513),t);var o=r(3271);Object.defineProperty(t,"isHexPrefixed",{enumerable:!0,get:function(){return o.isHexPrefixed}}),Object.defineProperty(t,"stripHexPrefix",{enumerable:!0,get:function(){return o.stripHexPrefix}}),Object.defineProperty(t,"padToEven",{enumerable:!0,get:function(){return o.padToEven}}),Object.defineProperty(t,"getBinarySize",{enumerable:!0,get:function(){return o.getBinarySize}}),Object.defineProperty(t,"arrayContainsArray",{enumerable:!0,get:function(){return o.arrayContainsArray}}),Object.defineProperty(t,"toAscii",{enumerable:!0,get:function(){return o.toAscii}}),Object.defineProperty(t,"fromUtf8",{enumerable:!0,get:function(){return o.fromUtf8}}),Object.defineProperty(t,"fromAscii",{enumerable:!0,get:function(){return o.fromAscii}}),Object.defineProperty(t,"getKeys",{enumerable:!0,get:function(){return o.getKeys}}),Object.defineProperty(t,"isHexString",{enumerable:!0,get:function(){return o.isHexString}})},3271:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847)(r(3355));function o(e){if("string"!=typeof e)throw new Error("[isHexPrefixed] input must be type 'string', received type ".concat((0,i.default)(e)));return"0"===e[0]&&"x"===e[1]}function a(e){var t=e;if("string"!=typeof t)throw new Error("[padToEven] value must be type 'string', received ".concat((0,i.default)(t)));return t.length%2&&(t="0".concat(t)),t}Object.defineProperty(t,"__esModule",{value:!0}),t.isHexString=t.getKeys=t.fromAscii=t.fromUtf8=t.toAscii=t.arrayContainsArray=t.getBinarySize=t.padToEven=t.stripHexPrefix=t.isHexPrefixed=void 0,t.isHexPrefixed=o,t.stripHexPrefix=function(e){if("string"!=typeof e)throw new Error("[stripHexPrefix] input must be type 'string', received ".concat((0,i.default)(e)));return o(e)?e.slice(2):e},t.padToEven=a,t.getBinarySize=function(e){if("string"!=typeof e)throw new Error("[getBinarySize] method requires input type 'string', recieved ".concat((0,i.default)(e)));return n.byteLength(e,"utf8")},t.arrayContainsArray=function(e,t,r){if(!0!==Array.isArray(e))throw new Error("[arrayContainsArray] method requires input 'superset' to be an array, got type '".concat((0,i.default)(e),"'"));if(!0!==Array.isArray(t))throw new Error("[arrayContainsArray] method requires input 'subset' to be an array, got type '".concat((0,i.default)(t),"'"));return t[r?"some":"every"]((function(t){return e.indexOf(t)>=0}))},t.toAscii=function(e){var t="",r=0,n=e.length;for("0x"===e.substring(0,2)&&(r=2);r{"use strict";var n=r(9033).Buffer,i=r(8847)(r(3355));Object.defineProperty(t,"__esModule",{value:!0}),t.defineProperties=void 0;var o,a=(o=r(3894))&&o.__esModule?o:{default:o},s=r(3271),u=r(9100),c=r(3464);t.defineProperties=function(e,t,r){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".concat(e[t].toString("hex"))})),r}return(0,c.baToJSON)(e.raw)},e.serialize=function(){return u.rlp.encode(e.raw)},t.forEach((function(t,r){function i(){return e.raw[r]}function o(i){"00"!==(i=(0,c.toBuffer)(i)).toString("hex")||t.allowZero||(i=n.allocUnsafe(0)),t.allowLess&&t.length?(i=(0,c.unpadBuffer)(i),(0,a.default)(t.length>=i.length,"The field ".concat(t.name," must not have more ").concat(t.length," bytes"))):t.allowZero&&0===i.length||!t.length||(0,a.default)(t.length===i.length,"The field ".concat(t.name," must have byte length of ").concat(t.length)),e.raw[r]=i}e._fields.push(t.name),Object.defineProperty(e,t.name,{enumerable:!0,configurable:!0,get:i,set:o}),t.default&&(e[t.name]=t.default),t.alias&&Object.defineProperty(e,t.alias,{enumerable:!1,configurable:!0,set:o,get:i})})),r)if("string"==typeof r&&(r=n.from((0,s.stripHexPrefix)(r),"hex")),n.isBuffer(r)&&(r=u.rlp.decode(r)),Array.isArray(r)){if(r.length>e._fields.length)throw new Error("wrong number of fields in data");r.forEach((function(t,r){e[e._fields[r]]=(0,c.toBuffer)(t)}))}else{if("object"!==(0,i.default)(r))throw new Error("invalid data");var o=Object.keys(r);t.forEach((function(t){-1!==o.indexOf(t.name)&&(e[t.name]=r[t.name]),-1!==o.indexOf(t.alias)&&(e[t.alias]=r[t.alias])}))}}},6081:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.hashPersonalMessage=t.isValidSignature=t.fromRpcSig=t.toCompactSig=t.toRpcSig=t.ecrecover=t.ecsign=void 0;var i=r(6992),o=r(9100),a=r(3464),s=r(9808),u=r(5725),c=r(5513);function f(e,t){var r=(0,c.toType)(e,c.TypeOutput.BN);if(r.eqn(0)||r.eqn(1))return(0,c.toType)(e,c.TypeOutput.BN);if(!t)return r.subn(27);var n=(0,c.toType)(t,c.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function d(e){var t=new o.BN(e);return t.eqn(0)||t.eqn(1)}t.ecsign=function(e,t,r){var o=(0,i.ecdsaSign)(e,t),a=o.signature,s=o.recid,u=n.from(a.slice(0,32)),f=n.from(a.slice(32,64));if(!r||"number"==typeof r){if(r&&!Number.isSafeInteger(r))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:u,s:f,v:r?s+(2*r+35):s+27}}return{r:u,s:f,v:(0,c.toType)(r,c.TypeOutput.BN).muln(2).addn(35).addn(s).toArrayLike(n)}},t.ecrecover=function(e,t,r,o,s){var u=n.concat([(0,a.setLengthLeft)(r,32),(0,a.setLengthLeft)(o,32)],64),c=f(t,s);if(!d(c))throw new Error("Invalid signature v value");var l=(0,i.ecdsaRecover)(u,c.toNumber(),e);return n.from((0,i.publicKeyConvert)(l,!1).slice(1))},t.toRpcSig=function(e,t,r,i){if(!d(f(e,i)))throw new Error("Invalid signature v value");return(0,a.bufferToHex)(n.concat([(0,a.setLengthLeft)(t,32),(0,a.setLengthLeft)(r,32),(0,a.toBuffer)(e)]))},t.toCompactSig=function(e,t,r,i){if(!d(f(e,i)))throw new Error("Invalid signature v value");var o=(0,c.toType)(e,c.TypeOutput.Number),s=r;return(o>28&&o%2==1||1===o||28===o)&&((s=n.from(r))[0]|=128),(0,a.bufferToHex)(n.concat([(0,a.setLengthLeft)(t,32),(0,a.setLengthLeft)(s,32)]))},t.fromRpcSig=function(e){var t,r,n,i=(0,a.toBuffer)(e);if(i.length>=65)t=i.slice(0,32),r=i.slice(32,64),n=(0,a.bufferToInt)(i.slice(64));else{if(64!==i.length)throw new Error("Invalid signature length");t=i.slice(0,32),r=i.slice(32,64),n=(0,a.bufferToInt)(i.slice(32,33))>>7,r[0]&=127}return n<27&&(n+=27),{v:n,r:t,s:r}},t.isValidSignature=function(e,t,r,n,i){void 0===n&&(n=!0);var a=new o.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new o.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==t.length||32!==r.length)return!1;if(!d(f(e,i)))return!1;var u=new o.BN(t),c=new o.BN(r);return!(u.isZero()||u.gt(s)||c.isZero()||c.gt(s)||n&&1===c.cmp(a))},t.hashPersonalMessage=function(e){(0,u.assertIsBuffer)(e);var t=n.from("Ethereum Signed Message:\n".concat(e.length),"utf-8");return(0,s.keccak)(n.concat([t,e]))}},5513:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.toType=t.TypeOutput=t.bnToRlp=t.bnToUnpaddedBuffer=t.bnToHex=void 0;var i,o=r(9100),a=r(3271),s=r(3464);function u(e){return(0,s.unpadBuffer)(e.toArrayLike(n))}t.bnToHex=function(e){return"0x".concat(e.toString(16))},t.bnToUnpaddedBuffer=u,t.bnToRlp=function(e){return u(e)},function(e){e[e.Number=0]="Number",e[e.BN=1]="BN",e[e.Buffer=2]="Buffer",e[e.PrefixedHexString=3]="PrefixedHexString"}(i=t.TypeOutput||(t.TypeOutput={})),t.toType=function(e,t){if(null===e)return null;if(void 0!==e){if("string"==typeof e&&!(0,a.isHexString)(e))throw new Error("A string must be provided with a 0x-prefix, given: ".concat(e));if("number"==typeof e&&!Number.isSafeInteger(e))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");var r=(0,s.toBuffer)(e);if(t===i.Buffer)return r;if(t===i.BN)return new o.BN(r);if(t===i.Number){var n=new o.BN(r),u=new o.BN(Number.MAX_SAFE_INTEGER.toString());if(n.gt(u))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return n.toNumber()}return"0x".concat(r.toString("hex"))}}},7130:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(7277),a=new i(0),s=new i(-1),u={noether:"0",wei:"1",kwei:"1000",Kwei:"1000",babbage:"1000",femtoether:"1000",mwei:"1000000",Mwei:"1000000",lovelace:"1000000",picoether:"1000000",gwei:"1000000000",Gwei:"1000000000",shannon:"1000000000",nanoether:"1000000000",nano:"1000000000",szabo:"1000000000000",microether:"1000000000000",micro:"1000000000000",finney:"1000000000000000",milliether:"1000000000000000",milli:"1000000000000000",ether:"1000000000000000000",kether:"1000000000000000000000",grand:"1000000000000000000000",mether:"1000000000000000000000000",gether:"1000000000000000000000000000",tether:"1000000000000000000000000000000"};function c(e){var t=e?e.toLowerCase():"ether",r=u[t];if("string"!=typeof r)throw new Error("[ethjs-unit] the unit provided "+e+" doesn't exists, please use the one of the following units "+JSON.stringify(u,null,2));return new i(r,10)}function f(e){if("string"==typeof e){if(!e.match(/^-?[0-9.]+$/))throw new Error("while converting number to string, invalid number value '"+e+"', should be a number matching (^-?[0-9.]+).");return e}if("number"==typeof e)return String(e);if("object"===(0,n.default)(e)&&e.toString&&(e.toTwos||e.dividedToIntegerBy))return e.toPrecision?String(e.toPrecision()):e.toString(10);throw new Error("while converting number to string, invalid number value '"+e+"' type "+(0,n.default)(e)+".")}e.exports={unitMap:u,numberToString:f,getValueOfUnit:c,fromWei:function(e,t,r){var n=o(e),i=n.lt(a),f=c(t),d=u[t].length-1||1,l=r||{};i&&(n=n.mul(s));for(var h=n.mod(f).toString(10);h.length2)throw new Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal points");var l=d[0],h=d[1];if(l||(l="0"),h||(h="0"),h.length>o)throw new Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal places");for(;h.length{"use strict";var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function o(e,t,n,o,a){if("function"!=typeof n)throw new TypeError("The listener must be a function");var s=new i(n,o||e,a),u=r?r+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],s]:e._events[u].push(s):(e._events[u]=s,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function s(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),s.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},s.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,a=new Array(o);i{"use strict";var n=r(8847)(r(3355)),i=Object.create||function(e){var t=function(){};return t.prototype=e,new t},o=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return r},a=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=i(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;var u,c=10;try{var f={};Object.defineProperty&&Object.defineProperty(f,"x",{value:0}),u=0===f.x}catch(e){u=!1}function d(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function l(e,t,r,o){var a,s,u;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),u=s[t]):(s=e._events=i(null),e._eventsCount=0),u){if("function"==typeof u?u=s[t]=o?[r,u]:[u,r]:o?u.unshift(r):u.push(r),!u.warned&&(a=d(e))&&a>0&&u.length>a){u.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+u.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=u.length,"object"===("undefined"==typeof console?"undefined":(0,n.default)(console))&&console.warn&&console.warn("%s: %s",c.name,c.message)}}else u=s[t]=r,++e._eventsCount;return e}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t1&&(t=arguments[1]),t instanceof Error)throw t;var u=new Error('Unhandled "error" event. ('+t+")");throw u.context=t,u}if(!(r=a[e]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(e,t,r){if(t)e.call(r);else for(var n=e.length,i=m(e,n),o=0;o=0;a--)if(r[a]===t||r[a].listener===t){s=r[a].listener,o=a;break}if(o<0)return this;0===o?r.shift():function(e,t){for(var r=t,n=r+1,i=e.length;n=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return b(this,e,!0)},s.prototype.rawListeners=function(e){return b(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):y.call(e,t)},s.prototype.listenerCount=y,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},7085:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(807);e.exports=function(e,t,r,o){if(n.isBuffer(e)||(e=n.from(e,"binary")),t&&(n.isBuffer(t)||(t=n.from(t,"binary")),8!==t.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),c=n.alloc(0);a>0||o>0;){var f=new i;f.update(c),f.update(e),t&&f.update(t),c=f.digest();var d=0;if(a>0){var l=s.length-a;d=Math.min(a,c.length),c.copy(s,l,0,d),a-=d}if(d0){var h=u.length-o,p=Math.min(o,c.length-d);c.copy(u,h,d,d+p),o-=p}}return c.fill(0),{key:s,iv:u}}},8184:(e,t,r)=>{"use strict";var n=r(1493),i=Object.prototype.toString,o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){if(!n(t))throw new TypeError("iterator must be a function");var a;arguments.length>=3&&(a=r),"[object Array]"===i.call(e)?function(e,t,r){for(var n=0,i=e.length;n{"use strict";var t=Array.prototype.slice,r=Object.prototype.toString;e.exports=function(e){var n=this;if("function"!=typeof n||"[object Function]"!==r.call(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var i,o=t.call(arguments,1),a=Math.max(0,n.length-o.length),s=[],u=0;u{"use strict";var n=r(3161);e.exports=Function.prototype.bind||n},7701:(e,t,r)=>{"use strict";var n,i=r(8847)(r(3355)),o=SyntaxError,a=Function,s=TypeError,u=function(e){try{return a('"use strict"; return ('+e+").constructor;")()}catch(e){}},c=Object.getOwnPropertyDescriptor;if(c)try{c({},"")}catch(e){c=null}var f=function(){throw new s},d=c?function(){try{return f}catch(e){try{return c(arguments,"callee").get}catch(e){return f}}}():f,l=r(8489)(),h=Object.getPrototypeOf||function(e){return e.__proto__},p={},b="undefined"==typeof Uint8Array?n:h(Uint8Array),y={"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":l?h([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":p,"%AsyncGenerator%":p,"%AsyncGeneratorFunction%":p,"%AsyncIteratorPrototype%":p,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":p,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":l?h(h([][Symbol.iterator]())):n,"%JSON%":"object"===("undefined"==typeof JSON?"undefined":(0,i.default)(JSON))?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&l?h((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&l?h((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":l?h(""[Symbol.iterator]()):n,"%Symbol%":l?Symbol:n,"%SyntaxError%":o,"%ThrowTypeError%":d,"%TypedArray%":b,"%TypeError%":s,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet},m=function e(t){var r;if("%AsyncFunction%"===t)r=u("async function () {}");else if("%GeneratorFunction%"===t)r=u("function* () {}");else if("%AsyncGeneratorFunction%"===t)r=u("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var i=e("%AsyncGenerator%");i&&(r=h(i.prototype))}return y[t]=r,r},v={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},g=r(3767),w=r(1888),A=g.call(Function.call,Array.prototype.concat),k=g.call(Function.apply,Array.prototype.splice),_=g.call(Function.call,String.prototype.replace),S=g.call(Function.call,String.prototype.slice),E=g.call(Function.call,RegExp.prototype.exec),x=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,P=/\\(\\)?/g,O=function(e,t){var r,n=e;if(w(v,n)&&(n="%"+(r=v[n])[0]+"%"),w(y,n)){var i=y[n];if(i===p&&(i=m(n)),void 0===i&&!t)throw new s("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new o("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new s('"allowMissing" argument must be a boolean');if(null===E(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(e){var t=S(e,0,1),r=S(e,-1);if("%"===t&&"%"!==r)throw new o("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new o("invalid intrinsic syntax, expected opening `%`");var n=[];return _(e,x,(function(e,t,r,i){n[n.length]=r?_(i,P,"$1"):t||e})),n}(e),n=r.length>0?r[0]:"",i=O("%"+n+"%",t),a=i.name,u=i.value,f=!1,d=i.alias;d&&(n=d[0],k(r,A([0,1],d)));for(var l=1,h=!0;l=r.length){var v=c(u,p);u=(h=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:u[p]}else h=w(u,p),u=u[p];h&&!f&&(y[a]=u)}}return u}},2948:(e,t,r)=>{"use strict";var n;n="undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{},e.exports=n},3820:(e,t,r)=>{"use strict";var n=r(7701)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(e){n=null}e.exports=n},8489:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i="undefined"!=typeof Symbol&&Symbol,o=r(7027);e.exports=function(){return"function"==typeof i&&"function"==typeof Symbol&&"symbol"===(0,n.default)(i("foo"))&&"symbol"===(0,n.default)(Symbol("bar"))&&o()}},7027:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"===(0,n.default)(Symbol.iterator))return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},1191:(e,t,r)=>{"use strict";var n=r(7027);e.exports=function(){return n()&&!!Symbol.toStringTag}},1888:(e,t,r)=>{"use strict";var n=r(3767);e.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},2353:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=r(6505).Transform;function o(e){i.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(1736)(o,i),o.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer")}(e),this._finalized)throw new Error("Digest already called");n.isBuffer(e)||(e=n.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.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(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},7198:(e,t,r)=>{"use strict";var n=t;n.utils=r(4268),n.common=r(4696),n.sha=r(9310),n.ripemd=r(9294),n.hmac=r(3201),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},4696:(e,t,r)=>{"use strict";var n=r(4268),i=r(4504);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}t.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o{"use strict";var n=r(4268),i=r(4504);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t{"use strict";var n=r(4268),i=r(4696),o=n.rotl32,a=n.sum32,s=n.sum32_3,u=n.sum32_4,c=i.BlockHash;function f(){if(!(this instanceof f))return new f;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function d(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function l(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(f,c),t.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],c=this.h[3],f=this.h[4],v=r,g=n,w=i,A=c,k=f,_=0;_<80;_++){var S=a(o(u(r,d(_,n,i,c),e[p[_]+t],l(_)),y[_]),f);r=f,f=c,c=o(i,10),i=n,n=S,S=a(o(u(v,d(79-_,g,w,A),e[b[_]+t],h(_)),m[_]),k),v=k,k=A,A=o(w,10),w=g,g=S}S=s(this.h[1],i,A),this.h[1]=s(this.h[2],c,k),this.h[2]=s(this.h[3],f,v),this.h[3]=s(this.h[4],r,g),this.h[4]=s(this.h[0],n,w),this.h[0]=S},f.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[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],b=[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],y=[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],m=[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]},9310:(e,t,r)=>{"use strict";t.sha1=r(8142),t.sha224=r(4909),t.sha256=r(7682),t.sha384=r(4532),t.sha512=r(6515)},8142:(e,t,r)=>{"use strict";var n=r(4268),i=r(4696),o=r(70),a=n.rotl32,s=n.sum32,u=n.sum32_5,c=o.ft_1,f=i.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function l(){if(!(this instanceof l))return new l;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(l,f),e.exports=l,l.blockSize=512,l.outSize=160,l.hmacStrength=80,l.padLength=64,l.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(4268),i=r(7682);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},7682:(e,t,r)=>{"use strict";var n=r(4268),i=r(4696),o=r(70),a=r(4504),s=n.sum32,u=n.sum32_4,c=n.sum32_5,f=o.ch32,d=o.maj32,l=o.s0_256,h=o.s1_256,p=o.g0_256,b=o.g1_256,y=i.BlockHash,m=[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 v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=new Array(64)}n.inherits(v,y),e.exports=v,v.blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(4268),i=r(6515);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},6515:(e,t,r)=>{"use strict";var n=r(4268),i=r(4696),o=r(4504),a=n.rotr64_hi,s=n.rotr64_lo,u=n.shr64_hi,c=n.shr64_lo,f=n.sum64,d=n.sum64_hi,l=n.sum64_lo,h=n.sum64_4_hi,p=n.sum64_4_lo,b=n.sum64_5_hi,y=n.sum64_5_lo,m=i.BlockHash,v=[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];function g(){if(!(this instanceof g))return new g;m.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}function w(e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function A(e,t,r,n,i,o){var a=t&n^~t&o;return a<0&&(a+=4294967296),a}function k(e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function _(e,t,r,n,i,o){var a=t&n^t&o^n&o;return a<0&&(a+=4294967296),a}function S(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function E(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function P(e,t){var r=a(e,t,1)^a(e,t,8)^u(e,t,7);return r<0&&(r+=4294967296),r}function O(e,t){var r=s(e,t,1)^s(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function B(e,t){var r=s(e,t,19)^s(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(g,m),e.exports=g,g.blockSize=1024,g.outSize=512,g.hmacStrength=192,g.padLength=128,g.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(4268).rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}function a(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?a(t,r,n):2===e?o(t,r,n):void 0},t.ch32=i,t.maj32=o,t.p32=a,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},4268:(e,t,r)=>{"use strict";var n=r(4504),i=r(1736);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,r[n++]=63&a|128):o(e,i)?(a=65536+((1023&a)<<10)+(1023&e.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},t.split32=function(e,t){for(var r=new Array(4*e.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},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},t.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,i,o,a,s){var u=0,c=t;return u+=(c=c+n>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},t.sum64_5_hi=function(e,t,r,n,i,o,a,s,u,c){var f=0,d=t;return f+=(d=d+n>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,r,n,i,o,a,s,u,c){return t+n+o+s+c>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},9410:(e,t,r)=>{"use strict";var n=r(7198),i=r(6580),o=r(4504);function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}e.exports=a,a.prototype._init=function(e,t,r){var n=e.concat(t).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(e.concat(r||[])),this._reseed=1},a.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length{"use strict";var n=r(9519),i=r(1143),o=e.exports;for(var a in n)n.hasOwnProperty(a)&&(o[a]=n[a]);function s(e){if("string"==typeof e&&(e=i.parse(e)),e.protocol||(e.protocol="https:"),"https:"!==e.protocol)throw new Error('Protocol "'+e.protocol+'" not supported. Expected "https:"');return e}o.request=function(e,t){return e=s(e),n.request.call(this,e,t)},o.get=function(e,t){return e=s(e),n.get.call(this,e,t)}},2996:(e,t,r)=>{"use strict";var n;r(8847)(r(3355)),void 0===(n=function(){return e=[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])],t=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:e[t[r>>4]][15&r]}};var e,t}.apply(t,[]))||(e.exports=n)},4489:(e,t,r)=>{"use strict";var n=r(8847)(r(3106));function i(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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 a,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,h=String.fromCharCode;function p(e){throw new RangeError(d[e])}function b(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]);var i=function(e,t){for(var r=[],n=e.length;n--;)r[n]=t(e[n]);return r}((e=e.replace(f,".")).split("."),t).join(".");return n+i}function y(e){for(var t=[],r=0,n=e.length;r=55296&&i<=56319&&r>1,e+=l(e/t);e>455;n+=s)e=l(e/35);return l(n+36*e/(e+38))},g=function(e){var t,r=[],n=e.length,i=0,o=128,u=72,c=e.lastIndexOf("-");c<0&&(c=0);for(var f=0;f=128&&p("not-basic"),r.push(e.charCodeAt(f));for(var d=c>0?c+1:0;d=n&&p("invalid-input");var m=(t=e.charCodeAt(d++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:s;(m>=s||m>l((a-i)/b))&&p("overflow"),i+=m*b;var g=y<=u?1:y>=u+26?26:y-u;if(ml(a/w)&&p("overflow"),b*=w}var A=r.length+1;u=v(i-h,A,0==h),l(i/A)>a-o&&p("overflow"),o+=l(i/A),i%=A,r.splice(i++,0,o)}return String.fromCodePoint.apply(String,r)},w=function(e){var t,r=[],n=(e=y(e)).length,o=128,u=0,c=72,f=i(e);try{for(f.s();!(t=f.n()).done;){var d=t.value;d<128&&r.push(h(d))}}catch(e){f.e(e)}finally{f.f()}var b=r.length,g=b;for(b&&r.push("-");g=o&&_l((a-u)/S)&&p("overflow"),u+=(A-o)*S,o=A;var E,x=i(e);try{for(x.s();!(E=x.n()).done;){var P=E.value;if(Pa&&p("overflow"),P==o){for(var O=u,B=s;;B+=s){var T=B<=c?1:B>=c+26?26:B-c;if(O{"use strict";var n,i;r(8847)(r(3355)),n=[r(4489),r(2996)],void 0===(i=function(e,t){return function(e,t){function r(r,n,i){for(var o=[],a=e.ucs2.decode(r),s=0;s>23,l=f>>21&3,h=f>>5&65535,p=31&f,b=t.mapStr.substr(h,p);if(0===l||n&&1&d)throw new Error("Illegal char "+c);1===l?o.push(b):2===l?o.push(i?b:c):3===l&&o.push(c)}return o.join("").normalize("NFC")}function n(t,n,o){void 0===o&&(o=!1);var a=r(t,o,n).split(".");return(a=a.map((function(t){return t.startsWith("xn--")?i(t=e.decode(t.substring(4)),o,!1):i(t,o,n),t}))).join(".")}function i(e,n,i){if("-"===e[2]&&"-"===e[3])throw new Error("Failed to validate "+e);if(e.startsWith("-")||e.endsWith("-"))throw new Error("Failed to validate "+e);if(e.includes("."))throw new Error("Failed to validate "+e);if(r(e,n,i)!==e)throw new Error("Failed to validate "+e);var o=e.codePointAt(0);if(t.mapChar(o)&2<<23)throw new Error("Label contains illegal character: "+o)}return{toUnicode:function(e,t){return void 0===t&&(t={}),n(e,!1,"useStd3ASCII"in t&&t.useStd3ASCII)},toAscii:function(t,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(t,o,a).split(".").map(e.toASCII),c=u.join(".");if(s){if(c.length<1||c.length>253)throw new Error("DNS name has wrong length: "+c);for(i=0;i63)throw new Error("DNS label has wrong length: "+f)}}return c}}}(e,t)}.apply(t,n))||(e.exports=i)},3226:(e,t)=>{"use strict";t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,f=-7,d=r?i-1:0,l=r?-1:1,h=e[t+d];for(d+=l,o=h&(1<<-f)-1,h>>=-f,f+=s;f>0;o=256*o+e[t+d],d+=l,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=n;f>0;a=256*a+e[t+d],d+=l,f-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,n),o-=c}return(h?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,u,c=8*o-i-1,f=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+d>=1?l/u:l*Math.pow(2,1-d))*u>=2&&(a++,u/=2),a+d>=f?(s=0,a=f):a+d>=1?(s=(t*u-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+h]=255&s,h+=p,s/=256,i-=8);for(a=a<0;e[r+h]=255&a,h+=p,a/=256,c-=8);e[r+h-p]|=128*b}},1736:e=>{"use strict";"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},9446:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1191)(),o=r(593)("Object.prototype.toString"),a=function(e){return!(i&&e&&"object"===(0,n.default)(e)&&Symbol.toStringTag in e)&&"[object Arguments]"===o(e)},s=function(e){return!!a(e)||null!==e&&"object"===(0,n.default)(e)&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==o(e)&&"[object Function]"===o(e.callee)},u=function(){return a(arguments)}();a.isLegacyArguments=s,e.exports=u?a:s},1493:(e,t,r)=>{"use strict";var n,i,o=r(8847)(r(3355)),a=Function.prototype.toString,s="object"===("undefined"==typeof Reflect?"undefined":(0,o.default)(Reflect))&&null!==Reflect&&Reflect.apply;if("function"==typeof s&&"function"==typeof Object.defineProperty)try{n=Object.defineProperty({},"length",{get:function(){throw i}}),i={},s((function(){throw 42}),null,n)}catch(e){e!==i&&(s=null)}else s=null;var u=/^\s*class\b/,c=function(e){try{var t=a.call(e);return u.test(t)}catch(e){return!1}},f=function(e){try{return!c(e)&&(a.call(e),!0)}catch(e){return!1}},d=Object.prototype.toString,l="function"==typeof Symbol&&!!Symbol.toStringTag,h=!(0 in[,]),p=function(){return!1};if("object"===("undefined"==typeof document?"undefined":(0,o.default)(document))){var b=document.all;d.call(b)===d.call(document.all)&&(p=function(e){if((h||!e)&&(void 0===e||"object"===(0,o.default)(e)))try{var t=d.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=s?function(e){if(p(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!==(0,o.default)(e))return!1;try{s(e,null,n)}catch(e){if(e!==i)return!1}return!c(e)&&f(e)}:function(e){if(p(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!==(0,o.default)(e))return!1;if(l)return f(e);if(c(e))return!1;var t=d.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&f(e)}},4339:e=>{"use strict";e.exports=function(e){if(!e)return!1;var r=t.call(e);return"[object Function]"===r||"function"==typeof e&&"[object RegExp]"!==r||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)};var t=Object.prototype.toString},4477:(e,t,r)=>{"use strict";var n,i=Object.prototype.toString,o=Function.prototype.toString,a=/^\s*(?:function)?\*/,s=r(1191)(),u=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(a.test(o.call(e)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(e);if(!u)return!1;if(void 0===n){var t=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(e){}}();n=!!t&&u(t)}return u(e)===n}},8619:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(e){if("string"!=typeof e)throw new Error("[is-hex-prefixed] value must be type 'string', is currently type "+(0,n.default)(e)+", while checking isHexPrefixed.");return"0x"===e.slice(0,2)}},8915:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(8184),o=r(3604),a=r(593),s=a("Object.prototype.toString"),u=r(1191)(),c=r(3820),f="undefined"==typeof globalThis?r.g:globalThis,d=o(),l=a("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1}return!!c&&function(e){var t=!1;return i(p,(function(r,n){if(!t)try{t=r.call(e)===n}catch(e){}})),t}(e)}},9484:e=>{"use strict";var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},4858:(e,t,r)=>{"use strict";e=r.nmd(e);var n=r(9142),i=r(8847)(r(3355));!function(){var t="object"===("undefined"==typeof window?"undefined":(0,i.default)(window))?window:{};!t.JS_SHA3_NO_NODE_JS&&"object"===(void 0===n?"undefined":(0,i.default)(n))&&n.versions&&n.versions.node&&(t=r.g);for(var o=!t.JS_SHA3_NO_COMMON_JS&&"object"===(0,i.default)(e)&&e.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],c=[224,256,384,512],f=["hex","buffer","arrayBuffer","array"],d=function(e,t,r){return function(n){return new k(e,t,e).update(n)[r]()}},l=function(e,t,r){return function(n,i){return new k(e,t,i).update(n)[r]()}},h=function(e,t){var r=d(e,t,"hex");r.create=function(){return new k(e,t,e)},r.update=function(e){return r.create().update(e)};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(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,o=this.blocks,a=this.byteCount,u=this.blockCount,c=0,f=this.s;c>2]|=e[c]<>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&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+a[15&e]+a[e>>12&15]+a[e>>8&15]+a[e>>20&15]+a[e>>16&15]+a[e>>28&15]+a[e>>24&15];s%t==0&&(_(r),o=0)}return i&&(e=r[o],i>0&&(u+=a[e>>4&15]+a[15&e]),i>1&&(u+=a[e>>12&15]+a[e>>8&15]),i>2&&(u+=a[e>>20&15]+a[e>>16&15])),u},k.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&_(n)}return o&&(e=s<<2,t=n[a],o>0&&(u[e]=255&t),o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u};var _=function(e){var t,r,n,i,o,a,s,c,f,d,l,h,p,b,y,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],f=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(c<<1|f>>>31),r=o^(f<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(d<<1|l>>>31),r=s^(l<<1|d>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|p>>>31),r=f^(p<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=d^(i<<1|o>>>31),r=l^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,b=e[0],y=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=b^~m&g,e[1]=y^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&b,e[7]=k^~S&y,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~b&m,e[9]=S^~y&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=u[n],e[1]^=u[n+1]};if(o)e.exports=b;else for(m=0;m{"use strict";e.exports=r(2109)(r(801))},2109:(e,t,r)=>{"use strict";var n=r(6543),i=r(274);e.exports=function(e){var t=n(e),r=i(e);return function(e,n){switch("string"==typeof e?e.toLowerCase():e){case"keccak224":return new t(1152,448,null,224,n);case"keccak256":return new t(1088,512,null,256,n);case"keccak384":return new t(832,768,null,384,n);case"keccak512":return new t(576,1024,null,512,n);case"sha3-224":return new t(1152,448,6,224,n);case"sha3-256":return new t(1088,512,6,256,n);case"sha3-384":return new t(832,768,6,384,n);case"sha3-512":return new t(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: "+e)}}}},6543:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(9721)),a=i(r(8985)),s=i(r(5163)),u=i(r(4650)),c=i(r(1949));var f=r(6505).Transform;e.exports=function(e){return function(t){(0,s.default)(d,t);var r,i,f=(r=d,i=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(e){return!1}}(),function(){var e,t=(0,c.default)(r);if(i){var n=(0,c.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,u.default)(this,e)});function d(t,r,n,i,a){var s;return(0,o.default)(this,d),(s=f.call(this,a))._rate=t,s._capacity=r,s._delimitedSuffix=n,s._hashBitLength=i,s._options=a,s._state=new e,s._state.initialize(t,r),s._finalized=!1,s}return(0,a.default)(d,[{key:"_transform",value:function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)}},{key:"_flush",value:function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)}},{key:"update",value:function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return n.isBuffer(e)||(e=n.from(e,t)),this._state.absorb(e),this}},{key:"digest",value:function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);var t=this._state.squeeze(this._hashBitLength/8);return void 0!==e&&(t=t.toString(e)),this._resetState(),t}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var e=new d(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}]),d}(f)}},274:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(9721)),a=i(r(8985)),s=i(r(5163)),u=i(r(4650)),c=i(r(1949));var f=r(6505).Transform;e.exports=function(e){return function(t){(0,s.default)(d,t);var r,i,f=(r=d,i=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(e){return!1}}(),function(){var e,t=(0,c.default)(r);if(i){var n=(0,c.default)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,u.default)(this,e)});function d(t,r,n,i){var a;return(0,o.default)(this,d),(a=f.call(this,i))._rate=t,a._capacity=r,a._delimitedSuffix=n,a._options=i,a._state=new e,a._state.initialize(t,r),a._finalized=!1,a}return(0,a.default)(d,[{key:"_transform",value:function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)}},{key:"_flush",value:function(){}},{key:"_read",value:function(e){this.push(this.squeeze(e))}},{key:"update",value:function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return n.isBuffer(e)||(e=n.from(e,t)),this._state.absorb(e),this}},{key:"squeeze",value:function(e,t){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));var r=this._state.squeeze(e);return void 0!==t&&(r=r.toString(t)),r}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var e=new d(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}]),d}(f)}},5612:(e,t)=>{"use strict";var r=[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];t.p1600=function(e){for(var t=0;t<24;++t){var n=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],a=e[3]^e[13]^e[23]^e[33]^e[43],s=e[4]^e[14]^e[24]^e[34]^e[44],u=e[5]^e[15]^e[25]^e[35]^e[45],c=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],d=e[8]^e[18]^e[28]^e[38]^e[48],l=e[9]^e[19]^e[29]^e[39]^e[49],h=d^(o<<1|a>>>31),p=l^(a<<1|o>>>31),b=e[0]^h,y=e[1]^p,m=e[10]^h,v=e[11]^p,g=e[20]^h,w=e[21]^p,A=e[30]^h,k=e[31]^p,_=e[40]^h,S=e[41]^p;h=n^(s<<1|u>>>31),p=i^(u<<1|s>>>31);var E=e[2]^h,x=e[3]^p,P=e[12]^h,O=e[13]^p,B=e[22]^h,T=e[23]^p,C=e[32]^h,I=e[33]^p,M=e[42]^h,U=e[43]^p;h=o^(c<<1|f>>>31),p=a^(f<<1|c>>>31);var R=e[4]^h,j=e[5]^p,N=e[14]^h,F=e[15]^p,L=e[24]^h,D=e[25]^p,H=e[34]^h,q=e[35]^p,z=e[44]^h,G=e[45]^p;h=s^(d<<1|l>>>31),p=u^(l<<1|d>>>31);var K=e[6]^h,V=e[7]^p,J=e[16]^h,W=e[17]^p,Y=e[26]^h,X=e[27]^p,Q=e[36]^h,Z=e[37]^p,$=e[46]^h,ee=e[47]^p;h=c^(n<<1|i>>>31),p=f^(i<<1|n>>>31);var te=e[8]^h,re=e[9]^p,ne=e[18]^h,ie=e[19]^p,oe=e[28]^h,ae=e[29]^p,se=e[38]^h,ue=e[39]^p,ce=e[48]^h,fe=e[49]^p,de=b,le=y,he=v<<4|m>>>28,pe=m<<4|v>>>28,be=g<<3|w>>>29,ye=w<<3|g>>>29,me=k<<9|A>>>23,ve=A<<9|k>>>23,ge=_<<18|S>>>14,we=S<<18|_>>>14,Ae=E<<1|x>>>31,ke=x<<1|E>>>31,_e=O<<12|P>>>20,Se=P<<12|O>>>20,Ee=B<<10|T>>>22,xe=T<<10|B>>>22,Pe=I<<13|C>>>19,Oe=C<<13|I>>>19,Be=M<<2|U>>>30,Te=U<<2|M>>>30,Ce=j<<30|R>>>2,Ie=R<<30|j>>>2,Me=N<<6|F>>>26,Ue=F<<6|N>>>26,Re=D<<11|L>>>21,je=L<<11|D>>>21,Ne=H<<15|q>>>17,Fe=q<<15|H>>>17,Le=G<<29|z>>>3,De=z<<29|G>>>3,He=K<<28|V>>>4,qe=V<<28|K>>>4,ze=W<<23|J>>>9,Ge=J<<23|W>>>9,Ke=Y<<25|X>>>7,Ve=X<<25|Y>>>7,Je=Q<<21|Z>>>11,We=Z<<21|Q>>>11,Ye=ee<<24|$>>>8,Xe=$<<24|ee>>>8,Qe=te<<27|re>>>5,Ze=re<<27|te>>>5,$e=ne<<20|ie>>>12,et=ie<<20|ne>>>12,tt=ae<<7|oe>>>25,rt=oe<<7|ae>>>25,nt=se<<8|ue>>>24,it=ue<<8|se>>>24,ot=ce<<14|fe>>>18,at=fe<<14|ce>>>18;e[0]=de^~_e&Re,e[1]=le^~Se&je,e[10]=He^~$e&be,e[11]=qe^~et&ye,e[20]=Ae^~Me&Ke,e[21]=ke^~Ue&Ve,e[30]=Qe^~he&Ee,e[31]=Ze^~pe&xe,e[40]=Ce^~ze&tt,e[41]=Ie^~Ge&rt,e[2]=_e^~Re&Je,e[3]=Se^~je&We,e[12]=$e^~be&Pe,e[13]=et^~ye&Oe,e[22]=Me^~Ke&nt,e[23]=Ue^~Ve&it,e[32]=he^~Ee&Ne,e[33]=pe^~xe&Fe,e[42]=ze^~tt&me,e[43]=Ge^~rt&ve,e[4]=Re^~Je&ot,e[5]=je^~We&at,e[14]=be^~Pe&Le,e[15]=ye^~Oe&De,e[24]=Ke^~nt&ge,e[25]=Ve^~it&we,e[34]=Ee^~Ne&Ye,e[35]=xe^~Fe&Xe,e[44]=tt^~me&Be,e[45]=rt^~ve&Te,e[6]=Je^~ot&de,e[7]=We^~at&le,e[16]=Pe^~Le&He,e[17]=Oe^~De&qe,e[26]=nt^~ge&Ae,e[27]=it^~we&ke,e[36]=Ne^~Ye&Qe,e[37]=Fe^~Xe&Ze,e[46]=me^~Be&Ce,e[47]=ve^~Te&Ie,e[8]=ot^~de&_e,e[9]=at^~le&Se,e[18]=Le^~He&$e,e[19]=De^~qe&et,e[28]=ge^~Ae&Me,e[29]=we^~ke&Ue,e[38]=Ye^~Qe&he,e[39]=Xe^~Ze&pe,e[48]=Be^~Ce&ze,e[49]=Te^~Ie&Ge,e[0]^=r[2*t],e[1]^=r[2*t+1]}}},801:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(5612);function o(){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}o.prototype.initialize=function(e,t){for(var r=0;r<50;++r)this.state[r]=0;this.blockSize=e/8,this.count=0,this.squeezing=!1},o.prototype.absorb=function(e){for(var t=0;t>>this.count%4*8&255,this.count+=1,this.count===this.blockSize&&(i.p1600(this.state),this.count=0);return t},o.prototype.copy=function(e){for(var t=0;t<50;++t)e.state[t]=this.state[t];e.blockSize=this.blockSize,e.count=this.count,e.squeezing=this.squeezing},e.exports=o},807:(e,t,r)=>{"use strict";var n=r(1736),i=r(2353),o=r(8850).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(e,t){return e<>>32-t}function c(e,t,r,n,i,o,a){return u(e+(t&r|~t&n)+i+o|0,a)+t|0}function f(e,t,r,n,i,o,a){return u(e+(t&n|r&~n)+i+o|0,a)+t|0}function d(e,t,r,n,i,o,a){return u(e+(t^r^n)+i+o|0,a)+t|0}function l(e,t,r,n,i,o,a){return u(e+(r^(t|~n))+i+o|0,a)+t|0}n(s,i),s.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,n=this._b,i=this._c,o=this._d;r=c(r,n,i,o,e[0],3614090360,7),o=c(o,r,n,i,e[1],3905402710,12),i=c(i,o,r,n,e[2],606105819,17),n=c(n,i,o,r,e[3],3250441966,22),r=c(r,n,i,o,e[4],4118548399,7),o=c(o,r,n,i,e[5],1200080426,12),i=c(i,o,r,n,e[6],2821735955,17),n=c(n,i,o,r,e[7],4249261313,22),r=c(r,n,i,o,e[8],1770035416,7),o=c(o,r,n,i,e[9],2336552879,12),i=c(i,o,r,n,e[10],4294925233,17),n=c(n,i,o,r,e[11],2304563134,22),r=c(r,n,i,o,e[12],1804603682,7),o=c(o,r,n,i,e[13],4254626195,12),i=c(i,o,r,n,e[14],2792965006,17),r=f(r,n=c(n,i,o,r,e[15],1236535329,22),i,o,e[1],4129170786,5),o=f(o,r,n,i,e[6],3225465664,9),i=f(i,o,r,n,e[11],643717713,14),n=f(n,i,o,r,e[0],3921069994,20),r=f(r,n,i,o,e[5],3593408605,5),o=f(o,r,n,i,e[10],38016083,9),i=f(i,o,r,n,e[15],3634488961,14),n=f(n,i,o,r,e[4],3889429448,20),r=f(r,n,i,o,e[9],568446438,5),o=f(o,r,n,i,e[14],3275163606,9),i=f(i,o,r,n,e[3],4107603335,14),n=f(n,i,o,r,e[8],1163531501,20),r=f(r,n,i,o,e[13],2850285829,5),o=f(o,r,n,i,e[2],4243563512,9),i=f(i,o,r,n,e[7],1735328473,14),r=d(r,n=f(n,i,o,r,e[12],2368359562,20),i,o,e[5],4294588738,4),o=d(o,r,n,i,e[8],2272392833,11),i=d(i,o,r,n,e[11],1839030562,16),n=d(n,i,o,r,e[14],4259657740,23),r=d(r,n,i,o,e[1],2763975236,4),o=d(o,r,n,i,e[4],1272893353,11),i=d(i,o,r,n,e[7],4139469664,16),n=d(n,i,o,r,e[10],3200236656,23),r=d(r,n,i,o,e[13],681279174,4),o=d(o,r,n,i,e[0],3936430074,11),i=d(i,o,r,n,e[3],3572445317,16),n=d(n,i,o,r,e[6],76029189,23),r=d(r,n,i,o,e[9],3654602809,4),o=d(o,r,n,i,e[12],3873151461,11),i=d(i,o,r,n,e[15],530742520,16),r=l(r,n=d(n,i,o,r,e[2],3299628645,23),i,o,e[0],4096336452,6),o=l(o,r,n,i,e[7],1126891415,10),i=l(i,o,r,n,e[14],2878612391,15),n=l(n,i,o,r,e[5],4237533241,21),r=l(r,n,i,o,e[12],1700485571,6),o=l(o,r,n,i,e[3],2399980690,10),i=l(i,o,r,n,e[10],4293915773,15),n=l(n,i,o,r,e[1],2240044497,21),r=l(r,n,i,o,e[8],1873313359,6),o=l(o,r,n,i,e[15],4264355552,10),i=l(i,o,r,n,e[6],2734768916,15),n=l(n,i,o,r,e[13],1309151649,21),r=l(r,n,i,o,e[4],4149444226,6),o=l(o,r,n,i,e[11],3174756917,10),i=l(i,o,r,n,e[2],718787259,15),n=l(n,i,o,r,e[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 e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},137:(e,t,r)=>{"use strict";var n=r(1734),i=r(2202);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},o.prototype.test=function(e,t,r){var i=e.bitLength(),o=n.mont(e),a=new n(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var s=e.subn(1),u=0;!s.testn(u);u++);for(var c=e.shrn(u),f=s.toRed(o);t>0;t--){var d=this._randrange(new n(2),s);r&&r(d);var l=d.toRed(o).redPow(c);if(0!==l.cmp(a)&&0!==l.cmp(f)){for(var h=1;h0;t--){var f=this._randrange(new n(2),a),d=e.gcd(f);if(0!==d.cmpn(1))return d;var l=f.toRed(i).redPow(u);if(0!==l.cmp(o)&&0!==l.cmp(c)){for(var h=1;h{"use strict";function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},6580:(e,t)=>{"use strict";var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}},6565:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=function(){function e(t,r,n,o){(0,i.default)(this,e),this.name=t,this.code=r,this.alphabet=o,n&&o&&(this.engine=n(o))}return(0,o.default)(e,[{key:"encode",value:function(e){return this.engine.encode(e)}},{key:"decode",value:function(e){return this.engine.decode(e)}},{key:"isImplemented",value:function(){return this.engine}}]),e}();e.exports=a},2642:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base16 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"hex")}}}},6494:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=5;)s+=t[a>>>o-5&31],o-=5;if(o>0&&(s+=t[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}("string"==typeof t?Uint8Array.from(t):t,e)},decode:function(r){var n,i=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}(r);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(e.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(e){i.e(e)}finally{i.f()}return function(e,t){for(var r=(e=e.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}(r,e)}}}},6627:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r-1,r=e.indexOf("-")>-1&&e.indexOf("_")>-1;return{encode:function(e){var n="";n="string"==typeof e?i.from(e).toString("base64"):e.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var o=n.indexOf("=");return o>0&&!t&&(n=n.substring(0,o)),n},decode:function(t){var r,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"base64")}}}},7905:(e,t,r)=>{"use strict";var n=r(6565),i=r(7548),o=r(2642),a=r(6494),s=r(6627),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-_="]],c=u.reduce((function(e,t){return e[t[0]]=new n(t[0],t[1],t[2],t[3]),e}),{}),f=u.reduce((function(e,t){return e[t[1]]=c[t[0]],e}),{});e.exports={names:c,codes:f}},6086:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(7905);(t=e.exports=a).encode=function(e,t){var r=s(e);return a(r.name,n.from(r.encode(t)))},t.decode=function(e){n.isBuffer(e)&&(e=e.toString());var t=e.substring(0,1);"string"==typeof(e=e.substring(1,e.length))&&(e=n.from(e));var r=s(t);return n.from(r.decode(e.toString()))},t.isEncoded=function(e){if(n.isBuffer(e)&&(e=e.toString()),"[object String]"!==Object.prototype.toString.call(e))return!1;var t=e.substring(0,1);try{return s(t).name}catch(e){return!1}},t.names=Object.freeze(Object.keys(i.names)),t.codes=Object.freeze(Object.keys(i.codes));var o=new Error("Unsupported encoding");function a(e,t){if(!t)throw new Error("requires an encoded buffer");var r=s(e),i=n.from(r.code);return function(e,t){s(e).decode(t.toString())}(r.name,t),n.concat([i,t])}function s(e){var t;if(i.names[e])t=i.names[e];else{if(!i.codes[e])throw o;t=i.codes[e]}if(!t.isImplemented())throw new Error("Base "+e+" is not implemented yet");return t}},4093:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(4070),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(9033).Buffer,i=r(6657),o=r(7054),a=r(6002),s=r(5576);(t=e.exports).addPrefix=function(e,t){var r;if(n.isBuffer(e))r=s.varintBufferEncode(e);else{if(!a[e])throw new Error("multicodec not recognized");r=a[e]}return n.concat([r,t])},t.rmPrefix=function(e){return i.decode(e),e.slice(i.decode.bytes)},t.getCodec=function(e){var t=i.decode(e),r=o.get(t);if(void 0===r)throw new Error("Code ".concat(t," not found"));return r},t.getName=function(e){return o.get(e)},t.getNumber=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return s.varintBufferDecode(t)[0]},t.getCode=function(e){return i.decode(e)},t.getCodeVarint=function(e){var t=a[e];if(void 0===t)throw new Error("Codec `"+e+"` not found");return t},t.getVarint=function(e){return i.encode(e)};var u=r(4093);Object.assign(t,u),t.print=r(1032)},7054:(e,t,r)=>{"use strict";var n=r(4070),i=new Map;for(var o in n){var a=n[o];i.set(a,o)}e.exports=Object.freeze(i)},1032:(e,t,r)=>{"use strict";for(var n=r(8847)(r(4519)),i=r(4070),o={},a=0,s=Object.entries(i);a{"use strict";var n=r(9033).Buffer,i=r(6657);function o(e){return parseInt(e.toString("hex"),16)}function a(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),n.from(t,"hex")}e.exports={numberToBuffer:a,bufferToNumber:o,varintBufferEncode:function(e){return n.from(i.encode(o(e)))},varintBufferDecode:function(e){return a(i.decode(e))},varintEncode:function(e){return n.from(i.encode(e))}}},6002:(e,t,r)=>{"use strict";var n=r(4070),i=r(5576).varintEncode,o={};for(var a in n){var s=n[a];o[a]=i(s)}e.exports=Object.freeze(o)},1786:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=function(){function e(t,r,n,o){(0,i.default)(this,e),this.name=t,this.code=r,this.alphabet=o,n&&o&&(this.engine=n(o))}return(0,o.default)(e,[{key:"encode",value:function(e){return this.engine.encode(e)}},{key:"decode",value:function(e){return this.engine.decode(e)}},{key:"isImplemented",value:function(){return this.engine}}]),e}();e.exports=a},7739:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base16 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"hex")}}}},976:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=5;)s+=t[a>>>o-5&31],o-=5;if(o>0&&(s+=t[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}("string"==typeof t?Uint8Array.from(t):t,e)},decode:function(r){var n,i=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}(r);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(e.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(e){i.e(e)}finally{i.f()}return function(e,t){for(var r=(e=e.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}(r,e)}}}},8504:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r-1,r=e.indexOf("-")>-1&&e.indexOf("_")>-1;return{encode:function(e){var n="";n="string"==typeof e?i.from(e).toString("base64"):e.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var o=n.indexOf("=");return o>0&&!t&&(n=n.substring(0,o)),n},decode:function(t){var r,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(e.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(e){o.e(e)}finally{o.f()}return i.from(t,"base64")}}}},2263:(e,t,r)=>{"use strict";var n=r(1786),i=r(7548),o=r(7739),a=r(976),s=r(8504),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-_="]],c=u.reduce((function(e,t){return e[t[0]]=new n(t[0],t[1],t[2],t[3]),e}),{}),f=u.reduce((function(e,t){return e[t[1]]=c[t[0]],e}),{});e.exports={names:c,codes:f}},2592:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(2263);function o(e,t){if(!t)throw new Error("requires an encoded buffer");var r=a(e),i=n.from(r.code);return function(e,t){a(e).decode(t.toString())}(r.name,t),n.concat([i,t])}function a(e){var t;if(i.names[e])t=i.names[e];else{if(!i.codes[e])throw new Error("Unsupported encoding");t=i.codes[e]}if(!t.isImplemented())throw new Error("Base "+e+" is not implemented yet");return t}(t=e.exports=o).encode=function(e,t){var r=a(e);return o(r.name,n.from(r.encode(t)))},t.decode=function(e){n.isBuffer(e)&&(e=e.toString());var t=e.substring(0,1);"string"==typeof(e=e.substring(1,e.length))&&(e=n.from(e));var r=a(t);return n.from(r.decode(e.toString()))},t.isEncoded=function(e){if(n.isBuffer(e)&&(e=e.toString()),"[object String]"!==Object.prototype.toString.call(e))return!1;var t=e.substring(0,1);try{return a(t).name}catch(e){return!1}},t.names=Object.freeze(Object.keys(i.names)),t.codes=Object.freeze(Object.keys(i.codes))},1269:(e,t)=>{"use strict";t.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}),t.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"}),t.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})},7748:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(2592),o=r(6657),a=r(1269);function s(e){t.decode(e)}t.names=a.names,t.codes=a.codes,t.defaultLengths=a.defaultLengths,t.toHexString=function(e){if(!n.isBuffer(e))throw new Error("must be passed a buffer");return e.toString("hex")},t.fromHexString=function(e){return n.from(e,"hex")},t.toB58String=function(e){if(!n.isBuffer(e))throw new Error("must be passed a buffer");return i.encode("base58btc",e).toString().slice(1)},t.fromB58String=function(e){var t=e;return n.isBuffer(e)&&(t=e.toString()),i.decode("z"+t)},t.decode=function(e){if(!n.isBuffer(e))throw new Error("multihash must be a Buffer");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");var r=o.decode(e);if(!t.isValidCode(r))throw new Error("multihash unknown function code: 0x".concat(r.toString(16)));e=e.slice(o.decode.bytes);var i=o.decode(e);if(i<0)throw new Error("multihash invalid length: ".concat(i));if((e=e.slice(o.decode.bytes)).length!==i)throw new Error("multihash length inconsistent: 0x".concat(e.toString("hex")));return{code:r,name:a.codes[r],length:i,digest:e}},t.encode=function(e,r,i){if(!e||void 0===r)throw new Error("multihash encode requires at least two args: digest, code");var a=t.coerceCode(r);if(!n.isBuffer(e))throw new Error("digest should be a Buffer");if(null==i&&(i=e.length),i&&e.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)),e])},t.coerceCode=function(e){var r=e;if("string"==typeof e){if(void 0===a.names[e])throw new Error("Unrecognized hash function named: ".concat(e));r=a.names[e]}if("number"!=typeof r)throw new Error("Hash function code should be a number. Got: ".concat(r));if(void 0===a.codes[r]&&!t.isAppCode(r))throw new Error("Unrecognized function code: ".concat(r));return r},t.isAppCode=function(e){return e>0&&e<16},t.isValidCode=function(e){return!!t.isAppCode(e)||!!a.codes[e]},t.validate=s,t.prefix=function(e){return s(e),e.slice(0,2)}},7277:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(6931);e.exports=function(e){if("string"==typeof e||"number"==typeof e){var t=new i(1),r=String(e).toLowerCase().trim(),a="0x"===r.substr(0,2)||"-0x"===r.substr(0,3),s=o(r);if("-"===s.substr(0,1)&&(s=o(s.slice(1)),t=new i(-1,10)),!(s=""===s?"0":s).match(/^-?[0-9]+$/)&&s.match(/^[0-9A-Fa-f]+$/)||s.match(/^[a-fA-F]+$/)||!0===a&&s.match(/^[0-9A-Fa-f]+$/))return new i(s,16).mul(t);if((s.match(/^-?[0-9]+$/)||""===s)&&!1===a)return new i(s,10).mul(t)}else if("object"===(0,n.default)(e)&&e.toString&&!e.pop&&!e.push&&e.toString(10).match(/^-?[0-9]+$/)&&(e.mul||e.dividedToIntegerBy))return new i(e.toString(10),10);throw new Error("[number-to-bn] while converting number "+JSON.stringify(e)+" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.")}},3103:e=>{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var o,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u{"use strict";var n,i,o;e=r.nmd(e);var a,s=r(8847)(r(3355));"undefined"!=typeof self&&self,a=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=7)}([function(e,t,r){r.d(t,"j",(function(){return i})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return a})),r.d(t,"h",(function(){return s})),r.d(t,"b",(function(){return u})),r.d(t,"k",(function(){return c})),r.d(t,"e",(function(){return f})),r.d(t,"g",(function(){return d})),r.d(t,"i",(function(){return l})),r.d(t,"a",(function(){return h})),r.d(t,"f",(function(){return p}));var n=r(1),i=c((function(e,t){var r=t.length;return c((function(n){for(var i=0;i0&&(i=r),r=e[c++]);)switch(q++,"\n"===r?(G++,z=0):z++,N){case h:if("{"===r)N=b;else if("["===r)N=m;else if(!V(r))return K("Non-whitespace before {[.");continue;case w:case b:if(V(r))continue;if(N===w)F.push(A);else{if("}"===r){s({}),u(),N=F.pop()||p;continue}F.push(y)}if('"'!==r)return K('Malformed object key should start with " ');N=g;continue;case A:case y:if(V(r))continue;if(":"===r)N===y?(F.push(y),void 0!==o&&(s({}),a(o),o=void 0),H++):void 0!==o&&(a(o),o=void 0),N=p;else if("}"===r)void 0!==o&&(s(o),u(),o=void 0),u(),H--,N=F.pop()||p;else{if(","!==r)return K("Bad object");N===y&&F.push(y),void 0!==o&&(s(o),u(),o=void 0),N=w}continue;case m:case p:if(V(r))continue;if(N===m){if(s([]),H++,N=p,"]"===r){u(),H--,N=F.pop()||p;continue}F.push(v)}if('"'===r)N=g;else if("{"===r)N=b;else if("["===r)N=m;else if("t"===r)N=k;else if("f"===r)N=E;else if("n"===r)N=B;else if("-"===r)U+=r;else if("0"===r)U+=r,N=20;else{if(-1==="123456789".indexOf(r))return K("Bad value");U+=r,N=20}continue;case v:if(","===r)F.push(v),void 0!==o&&(s(o),u(),o=void 0),N=p;else{if("]"!==r){if(V(r))continue;return K("Bad array")}void 0!==o&&(s(o),u(),o=void 0),u(),H--,N=F.pop()||p}continue;case g:void 0===o&&(o="");var l=c-1;e:for(;;){for(;D>0;)if(L+=r,r=e.charAt(c++),4===D?(o+=String.fromCharCode(parseInt(L,16)),D=0,l=c-1):D++,!r)break e;if('"'===r&&!R){N=F.pop()||p,o+=e.substring(l,c-1);break}if(!("\\"!==r||R||(R=!0,o+=e.substring(l,c-1),r=e.charAt(c++))))break;if(R){if(R=!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=e.charAt(c++),l=c-1,r)continue;break}d.lastIndex=c;var J=d.exec(e);if(!J){c=e.length+1,o+=e.substring(l,c-1);break}if(c=J.index+1,!(r=e.charAt(J.index))){o+=e.substring(l,c-1);break}}continue;case k:if(!r)continue;if("r"!==r)return K("Invalid true started with t"+r);N=_;continue;case _:if(!r)continue;if("u"!==r)return K("Invalid true started with tr"+r);N=S;continue;case S:if(!r)continue;if("e"!==r)return K("Invalid true started with tru"+r);s(!0),u(),N=F.pop()||p;continue;case E:if(!r)continue;if("a"!==r)return K("Invalid false started with f"+r);N=x;continue;case x:if(!r)continue;if("l"!==r)return K("Invalid false started with fa"+r);N=P;continue;case P:if(!r)continue;if("s"!==r)return K("Invalid false started with fal"+r);N=O;continue;case O:if(!r)continue;if("e"!==r)return K("Invalid false started with fals"+r);s(!1),u(),N=F.pop()||p;continue;case B:if(!r)continue;if("u"!==r)return K("Invalid null started with n"+r);N=T;continue;case T:if(!r)continue;if("l"!==r)return K("Invalid null started with nu"+r);N=C;continue;case C:if(!r)continue;if("l"!==r)return K("Invalid null started with nul"+r);s(null),u(),N=F.pop()||p;continue;case I:if("."!==r)return K("Leading zero not followed by .");U+=r,N=20;continue;case 20:if(-1!=="0123456789".indexOf(r))U+=r;else if("."===r){if(-1!==U.indexOf("."))return K("Invalid number has two dots");U+=r}else if("e"===r||"E"===r){if(-1!==U.indexOf("e")||-1!==U.indexOf("E"))return K("Invalid number has two exponential");U+=r}else if("+"===r||"-"===r){if("e"!==i&&"E"!==i)return K("Invalid symbol in number");U+=r}else U&&(s(parseFloat(U)),u(),U=""),c--,N=F.pop()||p;continue;default:return K("Unknown state: "+N)}q>=M&&(n=0,void 0!==o&&o.length>f&&(K("Max buffer length exceeded: textNode"),n=Math.max(n,o.length)),U.length>f&&(K("Max buffer length exceeded: numberNode"),n=Math.max(n,U.length)),M=f-n+q)}})),e(n.n).on((function(){if(N===h)return s({}),u(),void(j=!0);N===p&&0===H||K("Unexpected end"),void 0!==o&&(s(o),u(),o=void 0),j=!0}))}},function(e,t,r){r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return c}));var n=r(19),i=r(3),o=r(2),a=r(20),s=r(0);function u(){return new XMLHttpRequest}function c(e,t,r,u,c,f,d){var l=e(i.m).emit,h=e(i.b).emit,p=0,b=!0;function y(){if("2"===String(t.status)[0]){var e=t.responseText,r=(" "+e.substr(p)).substr(1);r&&l(r),p=Object(o.e)(e)}}function m(t){try{b&&e(i.c).emit(t.status,Object(a.a)(t.getAllResponseHeaders())),b=!1}catch(e){}}e(i.a).on((function(){t.onreadystatechange=null,t.abort()})),"onprogress"in t&&(t.onprogress=y),t.onreadystatechange=function(){switch(t.readyState){case 2:case 3:return m(t);case 4:m(t),"2"===String(t.status)[0]?(y(),e(i.n).emit()):h(Object(i.o)(t.status,t.responseText))}};try{for(var v in t.open(r,u,!0),f)t.setRequestHeader(v,f[v]);Object(n.a)(window.location,Object(n.b)(u))||t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.withCredentials=d,t.send(c)}catch(e){window.setTimeout(Object(s.j)(h,Object(i.o)(void 0,void 0,e)),0)}}},function(e,t,r){function n(e,t){function r(t){return String(t.port||{"http:":80,"https:":443}[t.protocol||e.protocol])}return!!(t.protocol&&t.protocol!==e.protocol||t.host&&t.host!==e.host||t.host&&r(t)!==r(e))}function i(e){var t=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/.exec(e)||[];return{protocol:t[1]||"",host:t[2]||"",port:t[3]||""}}r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return i}))},function(e,t,r){function n(e){var t={};return e&&e.split("\r\n").forEach((function(e){var r=e.indexOf(": ");t[e.substring(0,r)]=e.substring(r+2)})),t}r.d(t,"a",(function(){return n}))}]).default},"object"===(0,s.default)(t)&&"object"===(0,s.default)(e)?e.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(t,i):n)||(e.exports=o))},1823:(e,t,r)=>{"use strict";var n=r(8357);t.certificate=r(1320);var i=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=i;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=o;var a=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));t.PublicKey=a;var s=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),u=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=u;var c=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=c;var f=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=f,t.DSAparam=n.define("DSAparam",(function(){this.int()}));var d=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=d;var l=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},1320:(e,t,r)=>{"use strict";var n=r(8357),i=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),a=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),s=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())})),u=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),c=n.define("RDNSequence",(function(){this.seqof(u)})),f=n.define("Name",(function(){this.choice({rdnSequence:this.use(c)})})),d=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),l=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),h=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(a),this.key("issuer").use(f),this.key("validity").use(d),this.key("subject").use(f),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(l).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(h),this.key("signatureAlgorithm").use(a),this.key("signatureValue").bitstr())}));e.exports=p},4988:(e,t,r)=>{"use strict";var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,a=r(7085),s=r(8073),u=r(8850).Buffer;e.exports=function(e,t){var r,c=e.toString(),f=c.match(n);if(f){var d="aes"+f[1],l=u.from(f[2],"hex"),h=u.from(f[3].replace(/[\r\n]/g,""),"base64"),p=a(t,l.slice(0,8),parseInt(f[1],10)).key,b=[],y=s.createDecipheriv(d,p,l);b.push(y.update(h)),b.push(y.final()),r=u.concat(b)}else{var m=c.match(o);r=u.from(m[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(i)[1],data:r}}},7552:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1823),o=r(2562),a=r(4988),s=r(8073),u=r(4192),c=r(8850).Buffer;function f(e){var t;"object"!==(0,n.default)(e)||c.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=c.from(e));var r,f,d=a(e,t),l=d.tag,h=d.data;switch(l){case"CERTIFICATE":f=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(f||(f=i.PublicKey.decode(h,"der")),r=f.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(f.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return f.subjectPrivateKey=f.subjectPublicKey,{type:"ec",data:f};case"1.2.840.10040.4.1":return f.algorithm.params.pub_key=i.DSAparam.decode(f.subjectPublicKey.data,"der"),{type:"dsa",data:f.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":h=function(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),i=o[e.algorithm.decrypt.cipher.algo.join(".")],a=e.algorithm.decrypt.cipher.iv,f=e.subjectPrivateKey,d=parseInt(i.split("-")[1],10)/8,l=u.pbkdf2Sync(t,r,n,d,"sha1"),h=s.createDecipheriv(i,l,a),p=[];return p.push(h.update(f)),p.push(h.final()),c.concat(p)}(h=i.EncryptedPrivateKey.decode(h,"der"),t);case"PRIVATE KEY":switch(r=(f=i.PrivateKey.decode(h,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(f.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:f.algorithm.curve,privateKey:i.ECPrivateKey.decode(f.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return f.algorithm.params.priv_key=i.DSAparam.decode(f.subjectPrivateKey,"der"),{type:"dsa",params:f.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return{curve:(h=i.ECPrivateKey.decode(h,"der")).parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+l)}}e.exports=f,f.signature=i.signature},8209:e=>{"use strict";var t=function(e){return e.replace(/^\s+|\s+$/g,"")};e.exports=function(e){if(!e)return{};for(var r,n={},i=t(e).split("\n"),o=0;o{"use strict";t.pbkdf2=r(1882),t.pbkdf2Sync=r(1658)},1882:(e,t,r)=>{"use strict";var n,i,o=r(8850).Buffer,a=r(3127),s=r(7401),u=r(1658),c=r(8398),f=r.g.crypto&&r.g.crypto.subtle,d={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 h(){return i||(i=r.g.process&&r.g.process.nextTick?r.g.process.nextTick:r.g.queueMicrotask?r.g.queueMicrotask:r.g.setImmediate?r.g.setImmediate:r.g.setTimeout)}function p(e,t,r,n,i){return f.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return f.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:i}},e,n<<3)})).then((function(e){return o.from(e)}))}e.exports=function(e,t,i,b,y,m){"function"==typeof y&&(m=y,y=void 0);var v=d[(y=y||"sha1").toLowerCase()];if(v&&"function"==typeof r.g.Promise){if(a(i,b),e=c(e,s,"Password"),t=c(t,s,"Salt"),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){h()((function(){t(null,e)}))}),(function(e){h()((function(){t(e)}))}))}(function(e){if(r.g.process&&!r.g.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==l[e])return l[e];var t=p(n=n||o.alloc(8),n,10,128,e).then((function(){return!0})).catch((function(){return!1}));return l[e]=t,t}(v).then((function(r){return r?p(e,t,i,b,v):u(e,t,i,b,y)})),m)}else h()((function(){var r;try{r=u(e,t,i,b,y)}catch(e){return m(e)}m(null,r)}))}},7401:(e,t,r)=>{"use strict";var n,i=r(9142);n=r.g.process&&r.g.process.browser?"utf-8":r.g.process&&r.g.process.version?parseInt(i.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",e.exports=n},3127:e=>{"use strict";var t=Math.pow(2,30)-1;e.exports=function(e,r){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof r)throw new TypeError("Key length not a number");if(r<0||r>t||r!=r)throw new TypeError("Bad key length")}},1658:(e,t,r)=>{"use strict";var n=r(5349),i=r(6707),o=r(1708),a=r(8850).Buffer,s=r(3127),u=r(7401),c=r(8398),f=a.alloc(128),d={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(e,t,r){var s=function(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?n:function(t){return o(e).update(t).digest()}}(e),u="sha512"===e||"sha384"===e?128:64;t.length>u?t=s(t):t.length{"use strict";var n=r(8850).Buffer;e.exports=function(e,t,r){if(n.isBuffer(e))return e;if("string"==typeof e)return n.from(e,t);if(ArrayBuffer.isView(e))return n.from(e.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},9142:e=>{"use strict";var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var s,u=[],c=!1,f=-1;function d(){c&&s&&(c=!1,s.length?u=s.concat(u):f=-1,u.length&&l())}function l(){if(!c){var e=a(d);c=!0;for(var t=u.length;t;){for(s=u,u=[];++f1)for(var r=1;r{"use strict";t.publicEncrypt=r(2466),t.privateDecrypt=r(3144),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}},6873:(e,t,r)=>{"use strict";var n=r(5866),i=r(8850).Buffer;function o(e){var t=i.allocUnsafe(4);return t.writeUInt32BE(e,0),t}e.exports=function(e,t){for(var r,a=i.alloc(0),s=0;a.length{"use strict";var n=r(7552),i=r(6873),o=r(817),a=r(1734),s=r(9782),u=r(5866),c=r(2561),f=r(8850).Buffer;e.exports=function(e,t,r){var d;d=e.padding?e.padding:r?1:4;var l,h=n(e),p=h.modulus.byteLength();if(t.length>p||new a(t).cmp(h.modulus)>=0)throw new Error("decryption error");l=r?c(new a(t),h):s(t,h);var b=f.alloc(p-l.length);if(l=f.concat([b,l],p),4===d)return function(e,t){var r=e.modulus.byteLength(),n=u("sha1").update(f.alloc(0)).digest(),a=n.length;if(0!==t[0])throw new Error("decryption error");var s=t.slice(1,a+1),c=t.slice(a+1),d=o(s,i(c,a)),l=o(c,i(d,r-a-1));if(function(e,t){e=f.from(e),t=f.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));for(var i=-1;++i=t.length){o++;break}var a=t.slice(2,i-1);if(("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++,a.length<8&&o++,o)throw new Error("decryption error");return t.slice(i)}(0,l,r);if(3===d)return l;throw new Error("unknown padding")}},2466:(e,t,r)=>{"use strict";var n=r(7552),i=r(5010),o=r(5866),a=r(6873),s=r(817),u=r(1734),c=r(2561),f=r(9782),d=r(8850).Buffer;e.exports=function(e,t,r){var l;l=e.padding?e.padding:r?1:4;var h,p=n(e);if(4===l)h=function(e,t){var r=e.modulus.byteLength(),n=t.length,c=o("sha1").update(d.alloc(0)).digest(),f=c.length,l=2*f;if(n>r-l-2)throw new Error("message too long");var h=d.alloc(r-n-l-2),p=r-f-1,b=i(f),y=s(d.concat([c,h,d.alloc(1,1),t],p),a(b,p)),m=s(b,a(y,f));return new u(d.concat([d.alloc(1),m,y],r))}(p,t);else if(1===l)h=function(e,t,r){var n,o=t.length,a=e.modulus.byteLength();if(o>a-11)throw new Error("message too long");return n=r?d.alloc(a-o-3,255):function(e){for(var t,r=d.allocUnsafe(e),n=0,o=i(2*e),a=0;n=0)throw new Error("data too long for modulus")}return r?f(h,p):c(h,p)}},2561:(e,t,r)=>{"use strict";var n=r(1734),i=r(8850).Buffer;e.exports=function(e,t){return i.from(e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed().toArray())}},817:e=>{"use strict";e.exports=function(e,t){for(var r=e.length,n=-1;++n{"use strict";var n=r(8847)(r(3355)),i=r(10),o=r(3103),a=r(34);function s(e,t){return t.encode?t.strict?i(e):encodeURIComponent(e):e}function u(e){return Array.isArray(e)?e.sort():"object"===(0,n.default)(e)?u(Object.keys(e)).sort((function(e,t){return Number(e)-Number(t)})).map((function(t){return e[t]})):e}function c(e){var t=e.indexOf("?");return-1===t?"":e.slice(t+1)}function f(e,t){var r=function(e){var t;switch(e.arrayFormat){case"index":return function(e,r,n){t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===n[e]&&(n[e]={}),n[e][t[1]]=r):n[e]=r};case"bracket":return function(e,r,n){t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==n[e]?n[e]=[].concat(n[e],r):n[e]=[r]:n[e]=r};default:return function(e,t,r){void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}(t=o({arrayFormat:"none"},t)),i=Object.create(null);return"string"!=typeof e?i:(e=e.trim().replace(/^[?#&]/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),n=t.shift(),o=t.length>0?t.join("="):void 0;o=void 0===o?null:a(o),r(a(n),o,i)})),Object.keys(i).sort().reduce((function(e,t){var r=i[t];return Boolean(r)&&"object"===(0,n.default)(r)&&!Array.isArray(r)?e[t]=u(r):e[t]=r,e}),Object.create(null))):i}t.extract=c,t.parse=f,t.stringify=function(e,t){!1===(t=o({encode:!0,strict:!0,arrayFormat:"none"},t)).sort&&(t.sort=function(){});var r=function(e){switch(e.arrayFormat){case"index":return function(t,r,n){return null===r?[s(t,e),"[",n,"]"].join(""):[s(t,e),"[",s(n,e),"]=",s(r,e)].join("")};case"bracket":return function(t,r){return null===r?s(t,e):[s(t,e),"[]=",s(r,e)].join("")};default:return function(t,r){return null===r?s(t,e):[s(t,e),"=",s(r,e)].join("")}}}(t);return e?Object.keys(e).sort(t.sort).map((function(n){var i=e[n];if(void 0===i)return"";if(null===i)return s(n,t);if(Array.isArray(i)){var o=[];return i.slice().forEach((function(e){void 0!==e&&o.push(r(n,e,o.length))})),o.join("&")}return s(n,t)+"="+s(i,t)})).filter((function(e){return e.length>0})).join("&"):""},t.parseUrl=function(e,t){return{url:e.split("?")[0]||"",query:f(c(e),t)}}},5010:(e,t,r)=>{"use strict";var n=r(9142),i=65536,o=r(8850).Buffer,a=r.g.crypto||r.g.msCrypto;a&&a.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var r=o.allocUnsafe(e);if(e>0)if(e>i)for(var s=0;s{"use strict";var n=r(9142);function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(8850),a=r(5010),s=o.Buffer,u=o.kMaxLength,c=r.g.crypto||r.g.msCrypto,f=Math.pow(2,32)-1;function d(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>f||e<0)throw new TypeError("offset must be a uint32");if(e>u||e>t)throw new RangeError("offset out of range")}function l(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>f||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>u)throw new RangeError("buffer too small")}function h(e,t,r,i){if(n.browser){var o=e.buffer,s=new Uint8Array(o,t,r);return c.getRandomValues(s),i?void n.nextTick((function(){i(null,e)})):e}if(!i)return a(r).copy(e,t),e;a(r,(function(r,n){if(r)return i(r);n.copy(e,t),i(null,e)}))}c&&c.getRandomValues||!n.browser?(t.randomFill=function(e,t,n,i){if(!(s.isBuffer(e)||e instanceof r.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof t)i=t,t=0,n=e.length;else if("function"==typeof n)i=n,n=e.length-t;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return d(t,e.length),l(n,t,e.length),h(e,t,n,i)},t.randomFillSync=function(e,t,n){if(void 0===t&&(t=0),!(s.isBuffer(e)||e instanceof r.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return d(t,e.length),void 0===n&&(n=e.length-t),l(n,t,e.length),h(e,t,n)}):(t.randomFill=i,t.randomFillSync=i)},9024:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i={};function o(e,t,r){r||(r=Error);var n=function(e){var r,n;function i(r,n,i){return e.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i))||this}return n=e,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);n.prototype.name=r.name,n.prototype.code=e,i[e]=n}function a(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}o("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(e,t,r){var i,o,s,u,c;if("string"==typeof t&&(o="not ",t.substr(0,o.length)===o)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s="The ".concat(e," ").concat(i," ").concat(a(t,"type"));else{var f=("number"!=typeof c&&(c=0),c+".".length>(u=e).length||-1===u.indexOf(".",c)?"argument":"property");s='The "'.concat(e,'" ').concat(f," ").concat(i," ").concat(a(t,"type"))}return s+". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" 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(e){return"Unknown encoding: "+e}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=i},6884:(e,t,r)=>{"use strict";var n=r(9142),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=f;var o=r(6297),a=r(1471);r(1736)(f,o);for(var s=i(a.prototype),u=0;u{"use strict";e.exports=i;var n=r(9154);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(1736)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},6297:(e,t,r)=>{"use strict";var n,i=r(9142);e.exports=E,E.ReadableState=S,r(8291).EventEmitter;var o,a=function(e,t){return e.listeners(t).length},s=r(7144),u=r(9033).Buffer,c=r.g.Uint8Array||function(){},f=r(4616);o=f&&f.debuglog?f.debuglog("stream"):function(){};var d,l,h,p=r(5392),b=r(7572),y=r(6756).getHighWaterMark,m=r(9024).q,v=m.ERR_INVALID_ARG_TYPE,g=m.ERR_STREAM_PUSH_AFTER_EOF,w=m.ERR_METHOD_NOT_IMPLEMENTED,A=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(1736)(E,s);var k=b.errorOrDestroy,_=["error","close","destroy","pause","resume"];function S(e,t,i){n=n||r(6884),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=y(this,e,"readableHighWaterMark",i),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!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=r(3462).s),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function E(e){if(n=n||r(6884),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new S(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function x(e,t,r,n,i){o("readableAddChunk",t);var a,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(o("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?T(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,C(e)))}}(e,s);else if(i||(a=function(e,t){var r,n;return n=t,u.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(r=new v("chunk",["string","Buffer","Uint8Array"],t)),r}(s,t)),a)k(e,a);else if(s.objectMode||t&&t.length>0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),n)s.endEmitted?k(e,new A):P(e,s,t,!0);else if(s.ended)k(e,new g);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?P(e,s,t,!1):I(e,s)):P(e,s,t,!1)}else n||(s.reading=!1,I(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=O?e=O:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function T(e){var t=e._readableState;o("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o("emitReadable",t.flowing),t.emittedReadable=!0,i.nextTick(C,e))}function C(e){var t=e._readableState;o("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,N(e)}function I(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(M,e,t))}function M(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function R(e){o("readable nexttick read 0"),e.read(0)}function j(e,t){o("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),N(e),t.flowing&&!t.reading&&e.read(0)}function N(e){var t=e._readableState;for(o("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function L(e){var t=e._readableState;o("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(D,t,e))}function D(e,t){if(o("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function H(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return o("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):T(this),null;if(0===(e=B(e,t))&&t.ended)return 0===t.length&&L(this),null;var n,i=t.needReadable;return o("need readable",i),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&L(this)),null!==n&&this.emit("data",n),n},E.prototype._read=function(e){k(this,new w("_read()"))},E.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,o("pipe count=%d opts=%j",n.pipesCount,t);var s=t&&!1===t.end||e===i.stdout||e===i.stderr?b:u;function u(){o("onend"),e.end()}n.endEmitted?i.nextTick(s):r.once("end",s),e.on("unpipe",(function t(i,a){o("onunpipe"),i===r&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,o("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",l),e.removeListener("unpipe",t),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",d),f=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||c())}));var c=function(e){return function(){var t=e._readableState;o("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,N(e))}}(r);e.on("drain",c);var f=!1;function d(t){o("ondata");var i=e.write(t);o("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==H(n.pipes,e))&&!f&&(o("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function l(t){o("onerror",t),b(),e.removeListener("error",l),0===a(e,"error")&&k(e,t)}function h(){e.removeListener("finish",p),b()}function p(){o("onfinish"),e.removeListener("close",h),b()}function b(){o("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",l),e.once("close",h),e.once("finish",p),e.emit("pipe",r),n.flowing||(o("pipe resume"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,o("on readable",n.length,n.reading),n.length?T(this):n.reading||i.nextTick(R,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);return"readable"===e&&i.nextTick(U,this),r},E.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||i.nextTick(U,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(o("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(j,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(o("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){o("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<_.length;a++)e.on(_[a],this.emit.bind(this,_[a]));return this._read=function(t){o("wrapped _read",t),n&&(n=!1,e.resume())},this},"function"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===l&&(l=r(2317)),l(this)}),Object.defineProperty(E.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=F,Object.defineProperty(E.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(E.from=function(e,t){return void 0===h&&(h=r(6218)),h(E,e,t)})},9154:(e,t,r)=>{"use strict";e.exports=f;var n=r(9024).q,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(6884);function c(e,t){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!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";var n,i=r(9142);function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(undefined),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}e.exports=E,E.WritableState=S;var a,s={deprecate:r(6219)},u=r(7144),c=r(9033).Buffer,f=r.g.Uint8Array||function(){},d=r(7572),l=r(6756).getHighWaterMark,h=r(9024).q,p=h.ERR_INVALID_ARG_TYPE,b=h.ERR_METHOD_NOT_IMPLEMENTED,y=h.ERR_MULTIPLE_CALLBACK,m=h.ERR_STREAM_CANNOT_PIPE,v=h.ERR_STREAM_DESTROYED,g=h.ERR_STREAM_NULL_VALUES,w=h.ERR_STREAM_WRITE_AFTER_END,A=h.ERR_UNKNOWN_ENCODING,k=d.errorOrDestroy;function _(){}function S(e,t,a){n=n||r(6884),e=e||{},"boolean"!=typeof a&&(a=t instanceof n),this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=l(this,e,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,o=r.writecb;if("function"!=typeof o)throw new y;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,o){--t.pendingcb,r?(i.nextTick(o,n),i.nextTick(C,e,t),e._writableState.errorEmitted=!0,k(e,n)):(o(n),e._writableState.errorEmitted=!0,k(e,n),C(e,t))}(e,r,n,t,o);else{var a=B(r)||e.destroyed;a||r.corked||r.bufferProcessing||!r.bufferedRequest||O(e,r),n?i.nextTick(P,e,r,a,o):P(e,r,a,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function E(e){var t=this instanceof(n=n||r(6884));if(!t&&!a.call(E,this))return new E(e);this._writableState=new S(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function x(e,t,r,n,i,o,a){t.writelen=n,t.writecb=a,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new v("write")):r?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function P(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),C(e,t)}function O(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var s=0,u=!0;r;)i[s]=r,r.isBuf||(u=!1),r=r.next,s+=1;i.allBuffers=u,x(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,f=r.encoding,d=r.callback;if(x(e,t,!1,t.objectMode?1:c.length,c,f,d),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function B(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function T(e,t){e._final((function(r){t.pendingcb--,r&&k(e,r),t.prefinished=!0,e.emit("prefinish"),C(e,t)}))}function C(e,t){var r=B(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(T,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}r(1736)(E,u),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!a.call(this,e)||this===E&&e&&e._writableState instanceof S}})):a=function(e){return e instanceof this},E.prototype.pipe=function(){k(this,new m)},E.prototype.write=function(e,t,r){var n,o=this._writableState,a=!1,s=!o.objectMode&&(n=e,c.isBuffer(n)||n instanceof f);return s&&!c.isBuffer(e)&&(e=function(e){return c.from(e)}(e)),"function"==typeof t&&(r=t,t=null),s?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof r&&(r=_),o.ending?function(e,t){var r=new w;k(e,r),i.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var o;return null===r?o=new g:"string"==typeof r||t.objectMode||(o=new p("chunk",["string","Buffer"],r)),!o||(k(e,o),i.nextTick(n,o),!1)}(this,o,e,r))&&(o.pendingcb++,a=function(e,t,r,n,i,o){if(!r){var a=function(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=c.from(t,r)),t}(t,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=t.objectMode?1:n.length;t.length+=s;var u=t.length-1))throw new A(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,r){r(new b("_write()"))},E.prototype._writev=null,E.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,C(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=d.destroy,E.prototype._undestroy=d.undestroy,E.prototype._destroy=function(e,t){t(e)}},2317:(e,t,r)=>{"use strict";var n,i=r(9142);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(5831),s=Symbol("lastResolve"),u=Symbol("lastReject"),c=Symbol("error"),f=Symbol("ended"),d=Symbol("lastPromise"),l=Symbol("handlePromise"),h=Symbol("stream");function p(e,t){return{value:e,done:t}}function b(e){var t=e[s];if(null!==t){var r=e[h].read();null!==r&&(e[d]=null,e[s]=null,e[u]=null,t(p(r,!1)))}}function y(e){i.nextTick(b,e)}var m=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((o(n={get stream(){return this[h]},next:function(){var e=this,t=this[c];if(null!==t)return Promise.reject(t);if(this[f])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(t,r){i.nextTick((function(){e[c]?r(e[c]):t(p(void 0,!0))}))}));var r,n=this[d];if(n)r=new Promise(function(e,t){return function(r,n){e.then((function(){t[f]?r(p(void 0,!0)):t[l](r,n)}),n)}}(n,this));else{var o=this[h].read();if(null!==o)return Promise.resolve(p(o,!1));r=new Promise(this[l])}return this[d]=r,r}},Symbol.asyncIterator,(function(){return this})),o(n,"return",(function(){var e=this;return new Promise((function(t,r){e[h].destroy(null,(function(e){e?r(e):t(p(void 0,!0))}))}))})),n),m);e.exports=function(e){var t,r=Object.create(v,(o(t={},h,{value:e,writable:!0}),o(t,s,{value:null,writable:!0}),o(t,u,{value:null,writable:!0}),o(t,c,{value:null,writable:!0}),o(t,f,{value:e._readableState.endEmitted,writable:!0}),o(t,l,{value:function(e,t){var n=r[h].read();n?(r[d]=null,r[s]=null,r[u]=null,e(p(n,!1))):(r[s]=e,r[u]=t)},writable:!0}),t));return r[d]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[u];return null!==t&&(r[d]=null,r[s]=null,r[u]=null,t(e)),void(r[c]=e)}var n=r[s];null!==n&&(r[d]=null,r[s]=null,r[u]=null,n(p(void 0,!0))),r[f]=!0})),e.on("readable",y.bind(null,r)),r}},5392:(e,t,r)=>{"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){for(var r=0;r0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t,r,n,i=a.allocUnsafe(e>>>0),o=this.head,s=0;o;)t=o.data,r=i,n=s,a.prototype.copy.call(t,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(o===i.length?n+=i:n+=i.slice(0,e),0==(e-=o)){o===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=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,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t{"use strict";var n=r(9142);function i(e,t){a(e,t),o(e)}function o(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function a(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,s=this._readableState&&this._readableState.destroyed,u=this._writableState&&this._writableState.destroyed;return s||u?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(a,this,e)):n.nextTick(a,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?r._writableState?r._writableState.errorEmitted?n.nextTick(o,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,e)):n.nextTick(i,r,e):t?(n.nextTick(o,r),t(e)):n.nextTick(o,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}}},5831:(e,t,r)=>{"use strict";var n=r(9024).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,r,o){if("function"==typeof r)return e(t,null,r);r||(r={}),o=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";e.exports=function(){throw new Error("Readable.from is not available in the browser")}},384:(e,t,r)=>{"use strict";var n,i=r(9024).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function u(e){e()}function c(e,t){return e.pipe(t)}e.exports=function(){for(var e=arguments.length,t=new Array(e),i=0;i0,(function(e){f||(f=e),e&&l.forEach(u),o||(l.forEach(u),d(f))}))}));return t.reduce(c)}},6756:(e,t,r)=>{"use strict";var n=r(9024).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,i){var o=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new n(i?r:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},7144:(e,t,r)=>{"use strict";e.exports=r(8291).EventEmitter},6505:(e,t,r)=>{"use strict";(t=e.exports=r(6297)).Stream=t,t.Readable=t,t.Writable=r(1471),t.Duplex=r(6884),t.Transform=r(9154),t.PassThrough=r(3582),t.finished=r(5831),t.pipeline=r(384)},6707:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(1736),o=r(2353),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],c=[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],f=[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],d=[0,1518500249,1859775393,2400959708,2840853838],l=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function b(e,t,r,n,i,o,a,s){return p(e+(t^r^n)+o+a|0,s)+i|0}function y(e,t,r,n,i,o,a,s){return p(e+(t&r|~t&n)+o+a|0,s)+i|0}function m(e,t,r,n,i,o,a,s){return p(e+((t|~r)^n)+o+a|0,s)+i|0}function v(e,t,r,n,i,o,a,s){return p(e+(t&n|r&~n)+o+a|0,s)+i|0}function g(e,t,r,n,i,o,a,s){return p(e+(t^(r|~n))+o+a|0,s)+i|0}i(h,o),h.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,w=0|this._a,A=0|this._b,k=0|this._c,_=0|this._d,S=0|this._e,E=0;E<80;E+=1){var x,P;E<16?(x=b(r,n,i,o,h,e[s[E]],d[0],c[E]),P=g(w,A,k,_,S,e[u[E]],l[0],f[E])):E<32?(x=y(r,n,i,o,h,e[s[E]],d[1],c[E]),P=v(w,A,k,_,S,e[u[E]],l[1],f[E])):E<48?(x=m(r,n,i,o,h,e[s[E]],d[2],c[E]),P=m(w,A,k,_,S,e[u[E]],l[2],f[E])):E<64?(x=v(r,n,i,o,h,e[s[E]],d[3],c[E]),P=y(w,A,k,_,S,e[u[E]],l[3],f[E])):(x=g(r,n,i,o,h,e[s[E]],d[4],c[E]),P=b(w,A,k,_,S,e[u[E]],l[4],f[E])),r=h,h=o,o=p(i,10),i=n,n=x,w=S,S=_,_=p(k,10),k=A,A=P}var O=this._b+i+_|0;this._b=this._c+o+S|0,this._c=this._d+h+w|0,this._d=this._e+r+A|0,this._e=this._a+n+k|0,this._a=O},h.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 e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},6905:(e,t,r)=>{"use strict";var n=r(9033).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.getLength=t.decode=t.encode=void 0;var i,o=(i=r(1734))&&i.__esModule?i:{default:i};function a(e,t){if("0"===e[0]&&"0"===e[1])throw new Error("invalid RLP: extra zeros");return parseInt(e,t)}function s(e,t){if(e<56)return n.from([e+t]);var r=f(e),i=f(t+55+r.length/2);return n.from(i+r,"hex")}function u(e){var t,r,i,o,s,c=[],f=e[0];if(f<=127)return{data:e.slice(0,1),remainder:e.slice(1)};if(f<=183){if(t=f-127,i=128===f?n.from([]):e.slice(1,t),2===t&&i[0]<128)throw new Error("invalid rlp encoding: byte must be less 0x80");return{data:i,remainder:e.slice(t)}}if(f<=191){if(r=f-182,e.length-1e.length)throw new Error("invalid rlp: total length is larger than the data");if(0===(o=e.slice(r,d)).length)throw new Error("invalid rlp, List has a invalid length");for(;o.length;)s=u(o),c.push(s.data),o=s.remainder;return{data:c,remainder:e.slice(d)}}function c(e){return"0x"===e.slice(0,2)}function f(e){if(e<0)throw new Error("Invalid integer as argument, must be unsigned!");var t=e.toString(16);return t.length%2?"0"+t:t}function d(e){if(!n.isBuffer(e)){if("string"==typeof e)return c(e)?n.from((r="string"!=typeof(i=e)?i:c(i)?i.slice(2):i).length%2?"0"+r:r,"hex"):n.from(e);if("number"==typeof e||"bigint"==typeof e)return e?(t=f(e),n.from(t,"hex")):n.from([]);if(null==e)return n.from([]);if(e instanceof Uint8Array)return n.from(e);if(o.default.isBN(e))return n.from(e.toArray());throw new Error("invalid type")}var t,r,i;return e}t.encode=function e(t){if(Array.isArray(t)){for(var r=[],i=0;i{"use strict";var n=r(9033),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},1755:(e,t,r)=>{"use strict";var n,i=r(9142),o=r(8847)(r(3355)),a=r(9033),s=a.Buffer,u={};for(n in a)a.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(u[n]=a[n]);var c=u.Buffer={};for(n in s)s.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(c[n]=s[n]);if(u.Buffer.prototype=s.prototype,c.from&&c.from!==Uint8Array.from||(c.from=function(e,t,r){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+(0,o.default)(e));if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+(0,o.default)(e));return s(e,t,r)}),c.alloc||(c.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+(0,o.default)(e));if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=s(e);return t&&0!==t.length?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n}),!u.kStringMaxLength)try{u.kStringMaxLength=i.binding("buffer").kStringMaxLength}catch(e){}u.constants||(u.constants={MAX_LENGTH:u.kMaxLength},u.kStringMaxLength&&(u.constants.MAX_STRING_LENGTH=u.kStringMaxLength)),e.exports=u},7799:e=>{"use strict";!function(t){var r=2147483647;function n(e){var t=new Uint32Array([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]),r=1779033703,n=3144134277,i=1013904242,o=2773480762,a=1359893119,s=2600822924,u=528734635,c=1541459225,f=new Uint32Array(64);function d(e){for(var d=0,l=e.length;l>=64;){var h=r,p=n,b=i,y=o,m=a,v=s,g=u,w=c,A=void 0,k=void 0,_=void 0,S=void 0,E=void 0;for(k=0;k<16;k++)_=d+4*k,f[k]=(255&e[_])<<24|(255&e[_+1])<<16|(255&e[_+2])<<8|255&e[_+3];for(k=16;k<64;k++)S=((A=f[k-2])>>>17|A<<15)^(A>>>19|A<<13)^A>>>10,E=((A=f[k-15])>>>7|A<<25)^(A>>>18|A<<14)^A>>>3,f[k]=(S+f[k-7]|0)+(E+f[k-16]|0)|0;for(k=0;k<64;k++)S=(((m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&v^~m&g)|0)+(w+(t[k]+f[k]|0)|0)|0,E=((h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10))+(h&p^h&b^p&b)|0,w=g,g=v,v=m,m=y+S|0,y=b,b=p,p=h,h=S+E|0;r=r+h|0,n=n+p|0,i=i+b|0,o=o+y|0,a=a+m|0,s=s+v|0,u=u+g|0,c=c+w|0,d+=64,l-=64}}d(e);var l,h=e.length%64,p=e.length/536870912|0,b=e.length<<3,y=h<56?56:120,m=e.slice(e.length-h,e.length);for(m.push(128),l=h+1;l>>24&255),m.push(p>>>16&255),m.push(p>>>8&255),m.push(p>>>0&255),m.push(b>>>24&255),m.push(b>>>16&255),m.push(b>>>8&255),m.push(b>>>0&255),d(m),[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,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function i(e,t,r){e=e.length<=64?e:n(e);var i,o=64+t.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;e--){if(a[e]++,a[e]<=255)return;a[e]=0}}for(;r>=32;)c(),u=u.concat(n(s.concat(n(a)))),r-=32;return r>0&&(c(),u=u.concat(n(s.concat(n(a))).slice(0,r))),u}function o(e,t,r,n,i){var o;for(c(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)u(e,16*o,i,16),s(i,n),c(i,0,e,t+16*o,16);for(o=0;o>>32-t}function s(e,t){c(e,0,t,0,16);for(var r=8;r>0;r-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(var n=0;n<16;++n)e[n]+=t[n]}function u(e,t,r,n){for(var i=0;i=256)return!1}return!0}function d(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function l(e,t,n,a,s,l,h){if(n=d(n,"N"),a=d(a,"r"),s=d(s,"p"),l=d(l,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>r/128/a)throw new Error("N too large");if(a>r/128/s)throw new Error("r too large");if(!f(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!f(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);for(var p=i(e,t,128*s*a),b=new Uint32Array(32*s*a),y=0;yC&&(r=C);for(var f=0;fC&&(r=C);for(var y=0;y>0&255),p.push(b[U]>>8&255),p.push(b[U]>>16&255),p.push(b[U]>>24&255);var R=i(e,p,l);return h&&h(null,1,R),R}h&&I(t)};if(!h)for(;;){var U=M();if(null!=U)return U}M()}var h={scrypt:function(e,t,r,n,i,o,a){return new Promise((function(s,u){var c=0;a&&a(0),l(e,t,r,n,i,o,(function(e,t,r){if(e)u(e);else if(r)a&&1!==c&&a(1),s(new Uint8Array(r));else if(a&&t!==c)return c=t,a(t)}))}))},syncScrypt:function(e,t,r,n,i,o){return new Uint8Array(l(e,t,r,n,i,o))}};e.exports=h}()},7902:(e,t,r)=>{"use strict";e.exports=r(6922)(r(8123))},8123:(e,t,r)=>{"use strict";var n=new(0,r(6597).ec)("secp256k1"),i=n.curve,o=i.n.constructor;function a(e){var t=e[0];switch(t){case 2:case 3:return 33!==e.length?null:function(e,t){var r=new o(t);if(r.cmp(i.p)>=0)return null;var a=(r=r.toRed(i.red)).redSqr().redIMul(r).redIAdd(i.b).redSqrt();return 3===e!==a.isOdd()&&(a=a.redNeg()),n.keyPair({pub:{x:r,y:a}})}(t,e.subarray(1,33));case 4:case 6:case 7:return 65!==e.length?null:function(e,t,r){var a=new o(t),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===e||7===e)&&s.isOdd()!==(7===e))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}(t,e.subarray(1,33),e.subarray(33,65));default:return null}}function s(e,t){for(var r=t.encode(null,33===e.length),n=0;n=0)return 1;if(r.iadd(new o(e)),r.cmp(i.n)>=0&&r.isub(i.n),r.isZero())return 1;var n=r.toArrayLike(Uint8Array,"be",32);return e.set(n),0},privateKeyTweakMul:function(e,t){var r=new o(t);if(r.cmp(i.n)>=0||r.isZero())return 1;r.imul(new o(e)),r.cmp(i.n)>=0&&(r=r.umod(i.n));var n=r.toArrayLike(Uint8Array,"be",32);return e.set(n),0},publicKeyVerify:function(e){return null===a(e)?1:0},publicKeyCreate:function(e,t){var r=new o(t);return r.cmp(i.n)>=0||r.isZero()?1:(s(e,n.keyFromPrivate(t).getPublic()),0)},publicKeyConvert:function(e,t){var r=a(t);return null===r?1:(s(e,r.getPublic()),0)},publicKeyNegate:function(e,t){var r=a(t);if(null===r)return 1;var n=r.getPublic();return n.y=n.y.redNeg(),s(e,n),0},publicKeyCombine:function(e,t){for(var r=new Array(t.length),n=0;n=0)return 2;var u=n.getPublic().add(i.g.mul(r));return u.isInfinity()?2:(s(e,u),0)},publicKeyTweakMul:function(e,t,r){var n=a(t);return null===n?1:(r=new o(r)).cmp(i.n)>=0||r.isZero()?2:(s(e,n.getPublic().mul(r)),0)},signatureNormalize:function(e){var t=new o(e.subarray(0,32)),r=new o(e.subarray(32,64));return t.cmp(i.n)>=0||r.cmp(i.n)>=0?1:(1===r.cmp(n.nh)&&e.set(i.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport:function(e,t){var r=t.subarray(0,32),n=t.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=e.output,s=a.subarray(4,37);s[0]=0,s.set(r,1);for(var u=33,c=0;u>1&&0===s[c]&&!(128&s[c+1]);--u,++c);if(128&(s=s.subarray(c))[0])return 1;if(u>1&&0===s[0]&&!(128&s[1]))return 1;var f=a.subarray(39,72);f[0]=0,f.set(n,1);for(var d=33,l=0;d>1&&0===f[l]&&!(128&f[l+1]);--d,++l);return 128&(f=f.subarray(l))[0]||d>1&&0===f[0]&&!(128&f[1])?1:(e.outputlen=6+u+d,a[0]=48,a[1]=e.outputlen-2,a[2]=2,a[3]=s.length,a.set(s,4),a[4+u]=2,a[5+u]=f.length,a.set(f,6+u),0)},signatureImport:function(e,t){if(t.length<8)return 1;if(t.length>72)return 1;if(48!==t[0])return 1;if(t[1]!==t.length-2)return 1;if(2!==t[2])return 1;var r=t[3];if(0===r)return 1;if(5+r>=t.length)return 1;if(2!==t[4+r])return 1;var n=t[5+r];if(0===n)return 1;if(6+r+n!==t.length)return 1;if(128&t[4])return 1;if(r>1&&0===t[4]&&!(128&t[5]))return 1;if(128&t[r+6])return 1;if(n>1&&0===t[r+6]&&!(128&t[r+7]))return 1;var a=t.subarray(4,4+r);if(33===a.length&&0===a[0]&&(a=a.subarray(1)),a.length>32)return 1;var s=t.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 c=new o(t.subarray(6+r));return c.cmp(i.n)>=0&&(c=new o(0)),e.set(u.toArrayLike(Uint8Array,"be",32),0),e.set(c.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign:function(e,t,r,a,s){if(s){var u=s;s=function(e){var n=u(t,r,null,a,e);if(!(n instanceof Uint8Array&&32===n.length))throw new Error("This is the way");return new o(n)}}var c,f=new o(r);if(f.cmp(i.n)>=0||f.isZero())return 1;try{c=n.sign(t,r,{canonical:!0,k:s,pers:a})}catch(e){return 1}return e.signature.set(c.r.toArrayLike(Uint8Array,"be",32),0),e.signature.set(c.s.toArrayLike(Uint8Array,"be",32),32),e.recid=c.recoveryParam,0},ecdsaVerify:function(e,t,r){var s={r:e.subarray(0,32),s:e.subarray(32,64)},u=new o(s.r),c=new o(s.s);if(u.cmp(i.n)>=0||c.cmp(i.n)>=0)return 1;if(1===c.cmp(n.nh)||u.isZero()||c.isZero())return 3;var f=a(r);if(null===f)return 2;var d=f.getPublic();return n.verify(t,s,d)?0:3},ecdsaRecover:function(e,t,r,a){var u,c={r:t.slice(0,32),s:t.slice(32,64)},f=new o(c.r),d=new o(c.s);if(f.cmp(i.n)>=0||d.cmp(i.n)>=0)return 1;if(f.isZero()||d.isZero())return 2;try{u=n.recoverPubKey(a,c,r)}catch(e){return 2}return s(e,u),0},ecdh:function(e,t,r,s,u,c,f){var d=a(t);if(null===d)return 1;var l=new o(r);if(l.cmp(i.n)>=0||l.isZero())return 2;var h=d.getPublic().mul(l);if(void 0===u)for(var p=h.encode(null,!0),b=n.hash().update(p).digest(),y=0;y<32;++y)e[y]=b[y];else{c||(c=new Uint8Array(32));for(var m=h.getX().toArray("be",32),v=0;v<32;++v)c[v]=m[v];f||(f=new Uint8Array(32));for(var g=h.getY().toArray("be",32),w=0;w<32;++w)f[w]=g[w];var A=u(c,f,s);if(!(A instanceof Uint8Array&&A.length===e.length))return 2;e.set(A)}return 0}}},6922:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:function(e){return new Uint8Array(e)},t=arguments.length>1?arguments[1]:void 0;return"function"==typeof e&&(e=e(t)),c("output",e,t),e}function l(e){return Object.prototype.toString.call(e).slice(8,-1)}e.exports=function(e){return{contextRandomize:function(t){if(u(null===t||t instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==t&&c("seed",t,32),1===e.contextRandomize(t))throw new Error("Unknow error on context randomization")},privateKeyVerify:function(t){return c("private key",t,32),0===e.privateKeyVerify(t)},privateKeyNegate:function(t){switch(c("private key",t,32),e.privateKeyNegate(t)){case 0:return t;case 1:throw new Error(r)}},privateKeyTweakAdd:function(t,r){switch(c("private key",t,32),c("tweak",r,32),e.privateKeyTweakAdd(t,r)){case 0:return t;case 1:throw new Error(n)}},privateKeyTweakMul:function(t,r){switch(c("private key",t,32),c("tweak",r,32),e.privateKeyTweakMul(t,r)){case 0:return t;case 1:throw new Error(i)}},publicKeyVerify:function(t){return c("public key",t,[33,65]),0===e.publicKeyVerify(t)},publicKeyCreate:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(c("private key",t,32),f(r),n=d(n,r?33:65),e.publicKeyCreate(n,t)){case 0:return n;case 1:throw new Error("Private Key is invalid");case 2:throw new Error(a)}},publicKeyConvert:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(c("public key",t,[33,65]),f(r),n=d(n,r?33:65),e.publicKeyConvert(n,t)){case 0:return n;case 1:throw new Error(o);case 2:throw new Error(a)}},publicKeyNegate:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;switch(c("public key",t,[33,65]),f(n),i=d(i,n?33:65),e.publicKeyNegate(i,t)){case 0:return i;case 1:throw new Error(o);case 2:throw new Error(r);case 3:throw new Error(a)}},publicKeyCombine:function(r){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;u(Array.isArray(r),"Expected public keys to be an Array"),u(r.length>0,"Expected public keys array will have more than zero items");var s,l=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},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(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}(r);try{for(l.s();!(s=l.n()).done;)c("public key",s.value,[33,65])}catch(e){l.e(e)}finally{l.f()}switch(f(n),i=d(i,n?33:65),e.publicKeyCombine(i,r)){case 0:return i;case 1:throw new Error(o);case 2:throw new Error("The sum of the public keys is not valid");case 3:throw new Error(a)}},publicKeyTweakAdd:function(t,r){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3?arguments[3]:void 0;switch(c("public key",t,[33,65]),c("tweak",r,32),f(i),a=d(a,i?33:65),e.publicKeyTweakAdd(a,t,r)){case 0:return a;case 1:throw new Error(o);case 2:throw new Error(n)}},publicKeyTweakMul:function(t,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3?arguments[3]:void 0;switch(c("public key",t,[33,65]),c("tweak",r,32),f(n),a=d(a,n?33:65),e.publicKeyTweakMul(a,t,r)){case 0:return a;case 1:throw new Error(o);case 2:throw new Error(i)}},signatureNormalize:function(t){switch(c("signature",t,64),e.signatureNormalize(t)){case 0:return t;case 1:throw new Error(s)}},signatureExport:function(t,n){c("signature",t,64);var i={output:n=d(n,72),outputlen:72};switch(e.signatureExport(i,t)){case 0:return n.slice(0,i.outputlen);case 1:throw new Error(s);case 2:throw new Error(r)}},signatureImport:function(t,n){switch(c("signature",t),n=d(n,64),e.signatureImport(n,t)){case 0:return n;case 1:throw new Error(s);case 2:throw new Error(r)}},ecdsaSign:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;c("message",t,32),c("private key",n,32),u("Object"===l(i),"Expected options to be an Object"),void 0!==i.data&&c("options.data",i.data),void 0!==i.noncefn&&u("Function"===l(i.noncefn),"Expected options.noncefn to be a Function");var a={signature:o=d(o,64),recid:null};switch(e.ecdsaSign(a,t,n,i.data,i.noncefn)){case 0:return a;case 1:throw new Error("The nonce generation function failed, or the private key was invalid");case 2:throw new Error(r)}},ecdsaVerify:function(t,r,n){switch(c("signature",t,64),c("message",r,32),c("public key",n,[33,65]),e.ecdsaVerify(t,r,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(s);case 2:throw new Error(o)}},ecdsaRecover:function(t,n,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4?arguments[4]:void 0;switch(c("signature",t,64),u("Number"===l(n)&&n>=0&&n<=3,"Expected recovery id to be a Number within interval [0, 3]"),c("message",i,32),f(o),a=d(a,o?33:65),e.ecdsaRecover(a,t,n,i)){case 0:return a;case 1:throw new Error(s);case 2:throw new Error("Public key could not be recover");case 3:throw new Error(r)}},ecdh:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;switch(c("public key",t,[33,65]),c("private key",r,32),u("Object"===l(n),"Expected options to be an Object"),void 0!==n.data&&c("options.data",n.data),void 0!==n.hashfn?(u("Function"===l(n.hashfn),"Expected options.hashfn to be a Function"),void 0!==n.xbuf&&c("options.xbuf",n.xbuf,32),void 0!==n.ybuf&&c("options.ybuf",n.ybuf,32),c("output",i)):i=d(i,32),e.ecdh(i,t,r,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return i;case 1:throw new Error(o);case 2:throw new Error("Scalar was invalid (zero or overflow)")}}}}},6003:(e,t,r)=>{"use strict";var n=r(8850).Buffer;function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=n.from(e,t));for(var r=this._block,i=this._blockSize,o=e.length,a=this._len,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 e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},1708:(e,t,r)=>{"use strict";var n=e.exports=function(e){e=e.toLowerCase();var t=n[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t};n.sha=r(8210),n.sha1=r(544),n.sha224=r(6288),n.sha256=r(4571),n.sha384=r(6959),n.sha512=r(4515)},8210:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function c(e){return e<<30|e>>>2}function f(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^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(e){for(var t,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]=e.readInt32BE(4*d);for(;d<80;++d)r[d]=r[d-3]^r[d-8]^r[d-14]^r[d-16];for(var l=0;l<80;++l){var h=~~(l/20),p=0|((t=n)<<5|t>>>27)+f(h,i,o,s)+u+r[l]+a[h];u=s,s=o,o=c(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 e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},544:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function f(e){return e<<30|e>>>2}function d(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^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(e){for(var t,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]=e.readInt32BE(4*l);for(;l<80;++l)r[l]=(t=r[l-3]^r[l-8]^r[l-14]^r[l-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),b=c(n)+d(p,i,o,s)+u+r[h]+a[p]|0;u=s,s=o,o=f(i),i=n,n=b}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 e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},6288:(e,t,r)=>{"use strict";var n=r(1736),i=r(4571),o=r(6003),a=r(8850).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 e=a.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u},4571:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).Buffer,a=[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],s=new Array(64);function u(){this.init(),this._w=s,i.call(this,64,56)}function c(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function d(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function l(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>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(e){for(var t,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,b=0|this._g,y=0|this._h,m=0;m<16;++m)r[m]=e.readInt32BE(4*m);for(;m<64;++m)r[m]=0|(((t=r[m-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[m-7]+h(r[m-15])+r[m-16];for(var v=0;v<64;++v){var g=y+l(u)+c(u,p,b)+a[v]+r[v]|0,w=d(n)+f(n,i,o)|0;y=b,b=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=b+this._g|0,this._h=y+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},6959:(e,t,r)=>{"use strict";var n=r(1736),i=r(4515),o=r(6003),a=r(8850).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 e=a.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},4515:(e,t,r)=>{"use strict";var n=r(1736),i=r(6003),o=r(8850).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 c(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function d(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function l(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function b(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function y(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function m(e,t){return e>>>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(e){for(var t=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,v=0|this._gh,g=0|this._hh,w=0|this._al,A=0|this._bl,k=0|this._cl,_=0|this._dl,S=0|this._el,E=0|this._fl,x=0|this._gl,P=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var B=t[O-30],T=t[O-30+1],C=h(B,T),I=p(T,B),M=b(B=t[O-4],T=t[O-4+1]),U=y(T,B),R=t[O-14],j=t[O-14+1],N=t[O-32],F=t[O-32+1],L=I+j|0,D=C+R+m(L,I)|0;D=(D=D+M+m(L=L+U|0,U)|0)+N+m(L=L+F|0,F)|0,t[O]=D,t[O+1]=L}for(var H=0;H<160;H+=2){D=t[H],L=t[H+1];var q=f(r,n,i),z=f(w,A,k),G=d(r,w),K=d(w,r),V=l(s,S),J=l(S,s),W=a[H],Y=a[H+1],X=c(s,u,v),Q=c(S,E,x),Z=P+J|0,$=g+V+m(Z,P)|0;$=($=($=$+X+m(Z=Z+Q|0,Q)|0)+W+m(Z=Z+Y|0,Y)|0)+D+m(Z=Z+L|0,L)|0;var ee=K+z|0,te=G+q+m(ee,K)|0;g=v,P=x,v=u,x=E,u=s,E=S,s=o+$+m(S=_+Z|0,_)|0,o=i,_=k,i=n,k=A,n=r,A=w,r=$+te+m(w=Z+ee|0,Z)|0}this._al=this._al+w|0,this._bl=this._bl+A|0,this._cl=this._cl+k|0,this._dl=this._dl+_|0,this._el=this._el+S|0,this._fl=this._fl+E|0,this._gl=this._gl+x|0,this._hl=this._hl+P|0,this._ah=this._ah+r+m(this._al,w)|0,this._bh=this._bh+n+m(this._bl,A)|0,this._ch=this._ch+i+m(this._cl,k)|0,this._dh=this._dh+o+m(this._dl,_)|0,this._eh=this._eh+s+m(this._el,S)|0,this._fh=this._fh+u+m(this._fl,E)|0,this._gh=this._gh+v+m(this._gl,x)|0,this._hh=this._hh+g+m(this._hl,P)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},7245:(e,t,r)=>{"use strict";e.exports=i;var n=r(8291).EventEmitter;function i(){n.call(this)}r(1736)(i,n),i.Readable=r(6297),i.Writable=r(1471),i.Duplex=r(6884),i.Transform=r(9154),i.PassThrough=r(3582),i.finished=r(5831),i.pipeline=r(384),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",u));var a=!1;function s(){a||(a=!0,e.end())}function u(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(f(),0===n.listenerCount(this,"error"))throw e}function f(){r.removeListener("data",i),e.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",u),r.removeListener("error",c),e.removeListener("error",c),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("error",c),e.on("error",c),r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e}},9519:(e,t,r)=>{"use strict";var n=r(8844),i=r(3319),o=r(7705),a=r(3675),s=r(1143),u=t;u.request=function(e,t){e="string"==typeof e?s.parse(e):o(e);var i=-1===r.g.location.protocol.search(/^https?:$/)?"http:":"",a=e.protocol||i,u=e.hostname||e.host,c=e.port,f=e.path||"/";u&&-1!==u.indexOf(":")&&(u="["+u+"]"),e.url=(u?a+"//"+u:"")+(c?":"+c:"")+f,e.method=(e.method||"GET").toUpperCase(),e.headers=e.headers||{};var d=new n(e);return t&&d.on("response",t),d},u.get=function(e,t){var r=u.request(e,t);return r.end(),r},u.ClientRequest=n,u.IncomingMessage=i.IncomingMessage,u.Agent=function(){},u.Agent.defaultMaxSockets=4,u.globalAgent=new u.Agent,u.STATUS_CODES=a,u.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]},3928:(e,t,r)=>{"use strict";var n;function i(){if(void 0!==n)return n;if(r.g.XMLHttpRequest){n=new r.g.XMLHttpRequest;try{n.open("GET",r.g.XDomainRequest?"/":"https://example.com")}catch(e){n=null}}else n=null;return n}function o(e){var t=i();if(!t)return!1;try{return t.responseType=e,t.responseType===e}catch(e){}return!1}function a(e){return"function"==typeof e}t.fetch=a(r.g.fetch)&&a(r.g.ReadableStream),t.writableStream=a(r.g.WritableStream),t.abortController=a(r.g.AbortController),t.arraybuffer=t.fetch||o("arraybuffer"),t.msstream=!t.fetch&&o("ms-stream"),t.mozchunkedarraybuffer=!t.fetch&&o("moz-chunked-arraybuffer"),t.overrideMimeType=t.fetch||!!i()&&a(i().overrideMimeType),n=null},8844:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(9142),o=r(3928),a=r(1736),s=r(3319),u=r(6505),c=s.IncomingMessage,f=s.readyStates,d=e.exports=function(e){var t,r=this;u.Writable.call(r),r._opts=e,r._body=[],r._headers={},e.auth&&r.setHeader("Authorization","Basic "+n.from(e.auth).toString("base64")),Object.keys(e.headers).forEach((function(t){r.setHeader(t,e.headers[t])}));var i=!0;if("disable-fetch"===e.mode||"requestTimeout"in e&&!o.abortController)i=!1,t=!0;else if("prefer-streaming"===e.mode)t=!1;else if("allow-wrong-content-type"===e.mode)t=!o.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");t=!0}r._mode=function(e,t){return o.fetch&&t?"fetch":o.mozchunkedarraybuffer?"moz-chunked-arraybuffer":o.msstream?"ms-stream":o.arraybuffer&&e?"arraybuffer":"text"}(t,i),r._fetchTimer=null,r._socketTimeout=null,r._socketTimer=null,r.on("finish",(function(){r._onFinish()}))};a(d,u.Writable),d.prototype.setHeader=function(e,t){var r=e.toLowerCase();-1===l.indexOf(r)&&(this._headers[r]={name:e,value:t})},d.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];return t?t.value:null},d.prototype.removeHeader=function(e){delete this._headers[e.toLowerCase()]},d.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t=e._opts;"timeout"in t&&0!==t.timeout&&e.setTimeout(t.timeout);var n=e._headers,a=null;"GET"!==t.method&&"HEAD"!==t.method&&(a=new Blob(e._body,{type:(n["content-type"]||{}).value||""}));var s=[];if(Object.keys(n).forEach((function(e){var t=n[e].name,r=n[e].value;Array.isArray(r)?r.forEach((function(e){s.push([t,e])})):s.push([t,r])})),"fetch"===e._mode){var u=null;if(o.abortController){var c=new AbortController;u=c.signal,e._fetchAbortController=c,"requestTimeout"in t&&0!==t.requestTimeout&&(e._fetchTimer=r.g.setTimeout((function(){e.emit("requestTimeout"),e._fetchAbortController&&e._fetchAbortController.abort()}),t.requestTimeout))}r.g.fetch(e._opts.url,{method:e._opts.method,headers:s,body:a||void 0,mode:"cors",credentials:t.withCredentials?"include":"same-origin",signal:u}).then((function(t){e._fetchResponse=t,e._resetTimers(!1),e._connect()}),(function(t){e._resetTimers(!0),e._destroyed||e.emit("error",t)}))}else{var d=e._xhr=new r.g.XMLHttpRequest;try{d.open(e._opts.method,e._opts.url,!0)}catch(t){return void i.nextTick((function(){e.emit("error",t)}))}"responseType"in d&&(d.responseType=e._mode),"withCredentials"in d&&(d.withCredentials=!!t.withCredentials),"text"===e._mode&&"overrideMimeType"in d&&d.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in t&&(d.timeout=t.requestTimeout,d.ontimeout=function(){e.emit("requestTimeout")}),s.forEach((function(e){d.setRequestHeader(e[0],e[1])})),e._response=null,d.onreadystatechange=function(){switch(d.readyState){case f.LOADING:case f.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(d.onprogress=function(){e._onXHRProgress()}),d.onerror=function(){e._destroyed||(e._resetTimers(!0),e.emit("error",new Error("XHR error")))};try{d.send(a)}catch(t){return void i.nextTick((function(){e.emit("error",t)}))}}}},d.prototype._onXHRProgress=function(){var e=this;e._resetTimers(!1),function(e){try{var t=e.status;return null!==t&&0!==t}catch(e){return!1}}(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress(e._resetTimers.bind(e)))},d.prototype._connect=function(){var e=this;e._destroyed||(e._response=new c(e._xhr,e._fetchResponse,e._mode,e._resetTimers.bind(e)),e._response.on("error",(function(t){e.emit("error",t)})),e.emit("response",e._response))},d.prototype._write=function(e,t,r){this._body.push(e),r()},d.prototype._resetTimers=function(e){var t=this;r.g.clearTimeout(t._socketTimer),t._socketTimer=null,e?(r.g.clearTimeout(t._fetchTimer),t._fetchTimer=null):t._socketTimeout&&(t._socketTimer=r.g.setTimeout((function(){t.emit("timeout")}),t._socketTimeout))},d.prototype.abort=d.prototype.destroy=function(e){var t=this;t._destroyed=!0,t._resetTimers(!0),t._response&&(t._response._destroyed=!0),t._xhr?t._xhr.abort():t._fetchAbortController&&t._fetchAbortController.abort(),e&&t.emit("error",e)},d.prototype.end=function(e,t,r){"function"==typeof e&&(r=e,e=void 0),u.Writable.prototype.end.call(this,e,t,r)},d.prototype.setTimeout=function(e,t){var r=this;t&&r.once("timeout",t),r._socketTimeout=e,r._resetTimers(!1)},d.prototype.flushHeaders=function(){},d.prototype.setNoDelay=function(){},d.prototype.setSocketKeepAlive=function(){};var l=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]},3319:(e,t,r)=>{"use strict";var n=r(9142),i=r(9033).Buffer,o=r(3928),a=r(1736),s=r(6505),u=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},c=t.IncomingMessage=function(e,t,r,a){var u=this;if(s.Readable.call(u),u._mode=r,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",(function(){n.nextTick((function(){u.emit("close")}))})),"fetch"===r){if(u._fetchResponse=t,u.url=t.url,u.statusCode=t.status,u.statusMessage=t.statusText,t.headers.forEach((function(e,t){u.headers[t.toLowerCase()]=e,u.rawHeaders.push(t,e)})),o.writableStream){var c=new WritableStream({write:function(e){return a(!1),new Promise((function(t,r){u._destroyed?r():u.push(i.from(e))?t():u._resumeFetch=t}))},close:function(){a(!0),u._destroyed||u.push(null)},abort:function(e){a(!0),u._destroyed||u.emit("error",e)}});try{return void t.body.pipeTo(c).catch((function(e){a(!0),u._destroyed||u.emit("error",e)}))}catch(e){}}var f=t.body.getReader();!function e(){f.read().then((function(t){u._destroyed||(a(t.done),t.done?u.push(null):(u.push(i.from(t.value)),e()))})).catch((function(e){a(!0),u._destroyed||u.emit("error",e)}))}()}else if(u._xhr=e,u._pos=0,u.url=e.responseURL,u.statusCode=e.status,u.statusMessage=e.statusText,e.getAllResponseHeaders().split(/\r?\n/).forEach((function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var r=t[1].toLowerCase();"set-cookie"===r?(void 0===u.headers[r]&&(u.headers[r]=[]),u.headers[r].push(t[2])):void 0!==u.headers[r]?u.headers[r]+=", "+t[2]:u.headers[r]=t[2],u.rawHeaders.push(t[1],t[2])}})),u._charset="x-user-defined",!o.overrideMimeType){var d=u.rawHeaders["mime-type"];if(d){var l=d.match(/;\s*charset=([^;])(;|$)/);l&&(u._charset=l[1].toLowerCase())}u._charset||(u._charset="utf-8")}};a(c,s.Readable),c.prototype._read=function(){var e=this._resumeFetch;e&&(this._resumeFetch=null,e())},c.prototype._onXHRProgress=function(e){var t=this,n=t._xhr,o=null;switch(t._mode){case"text":if((o=n.responseText).length>t._pos){var a=o.substr(t._pos);if("x-user-defined"===t._charset){for(var s=i.alloc(a.length),c=0;ct._pos&&(t.push(i.from(new Uint8Array(f.result.slice(t._pos)))),t._pos=f.result.byteLength)},f.onload=function(){e(!0),t.push(null)},f.readAsArrayBuffer(o)}t._xhr.readyState===u.DONE&&"ms-stream"!==t._mode&&(e(!0),t.push(null))}},10:e=>{"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}},3462:(e,t,r)=>{"use strict";var n=r(8850).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.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(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){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 e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=f,this.end=d,t=3;break;default:return this.write=l,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function f(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function l(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.s=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},6931:(e,t,r)=>{"use strict";var n=r(8619);e.exports=function(e){return"string"!=typeof e?e:n(e)?e.slice(2):e}},6427:(e,t,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},c={lookup:n},f=r(1357),d=r(631),l=r(2733),h=r(2510),p=r(3094);e.exports=p({fs:i,files:o,os:a,path:s,child_process:u,defaultArchives:{},mimetype:c,request:f,downloadUrl:null,bytes:d,hash:l,pick:h})},2510:e=>{"use strict";var t=function(e){return function(){return new Promise((function(t,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"===e){var u=r.webkitRelativePath;n[u.slice(u.indexOf("/")+1)]={type:"text/plain",data:s},++o===i&&t(n)}else if("file"===e){var c=r.webkitRelativePath;t({type:mimetype.lookup(c),data:s})}else t(s)},a.readAsArrayBuffer(r)}))};"directory"===e?((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)}))}};e.exports={data:t("data"),file:t("file"),directory:t("directory")}},2733:(e,t,r)=>{"use strict";var n=r(9574).keccak256,i=r(631),o=function(e,t){var r=i.reverse(i.pad(6,i.fromNumber(e))),o=i.flatten([r,"0x0000",t]);return n(o).slice(2)};e.exports=function e(t){"string"==typeof t&&"0x"!==t.slice(0,2)?t=i.fromString(t):"string"!=typeof t&&void 0!==t.length&&(t=i.fromUint8Array(t));var r=i.length(t);if(r<=4096)return o(r,t);for(var n=4096;128*n{"use strict";e.exports=function(e){var t=e.fs,r=e.files,n=e.os,i=e.path,o=e.child_process,a=e.mimetype,s=e.defaultArchives,u=e.request,c=e.downloadUrl,f=e.bytes,d=e.hash,l=e.pick,h=function(e){return function(t){for(var r={},n=0,i=e.length;n=400?n(new Error("Error ".concat(i.statusCode,"."))):r(new Uint8Array(t))}))}))}},y=function(e){return function(t){return function t(r){return function(n){return function(i){var o=function(e){return void 0===e.path?Promise.resolve():"application/bzz-manifest+json"===e.contentType?t(e.hash)(n+e.path)(i):Promise.resolve((r=n+e.path,function(e){return function(t){return t[r]=e,t}})(function(e){return{type:e.contentType,hash:e.hash}}(e))(i));var r};return b(e)(r).then((function(e){return JSON.parse(j(e)).entries})).then((function(e){return Promise.all(e.map(o))})).then((function(){return i}))}}}(t)("")({})}},m=function(e){return function(t){return y(e)(t).then((function(e){return h(Object.keys(e))(Object.keys(e).map((function(t){return e[t].hash})))}))}},v=function(e){return function(t){return y(e)(t).then((function(t){var r=Object.keys(t),n=r.map((function(e){return t[e].hash})),i=r.map((function(e){return t[e].type})),o=n.map(b(e));return Promise.all(o).then((function(e){return h(r)(function(e){return e.map((function(e,t){return{type:i[t],data:e}}))}(e))}))}))}},g=function(e){return function(t){return function(n){return r.download(p(e)(t))(n)}}},w=function(e){return function(t){return function(r){return m(e)(t).then((function(t){var n=[];for(var o in t)if(o.length>0){var a=i.join(r,o);n.push(g(e)(t[o])(a))}return Promise.all(n).then((function(){return r}))}))}}},A=function(e){return function(t){return new Promise((function(r,n){var i={body:"string"==typeof t?N(t):t,method:"POST"};u("".concat(e,"/bzz-raw:/"),i,(function(e,t){return e?n(e):r(t)}))}))}},k=function(e){return function(t){return function(r){return function(n){return function i(o){var a="/"===r[0]?r:"/"+r,s="".concat(e,"/bzz:/").concat(t).concat(a),c={method:"PUT",headers:{"Content-Type":n.type},body:n.data};return new Promise((function(e,t){u(s,c,(function(r,n){return r?t(r):-1!==n.indexOf("error")?t(n):e(n)}))})).catch((function(e){return o>0&&i(o-1)}))}(3)}}}},_=function(e){return function(t){return E(e)({"":t})}},S=function(e){return function(r){return t.readFile(r).then((function(t){return _(e)({type:a.lookup(r),data:t})}))}},E=function(e){return function(t){return A(e)("{}").then((function(r){return Object.keys(t).reduce((function(r,n){return r.then(function(r){return function(n){return k(e)(n)(r)(t[r])}}(n))}),Promise.resolve(r))}))}},x=function(e){return function(r){return t.readFile(r).then(A(e))}},P=function(e){return function(n){return function(i){return r.directoryTree(i).then((function(e){return Promise.all(e.map((function(e){return t.readFile(e)}))).then((function(t){var r=e.map((function(e){return e.slice(i.length)})),n=e.map((function(e){return a.lookup(e)||"text/plain"}));return h(r)(t.map((function(e,t){return{type:n[t],data:e}})))}))})).then((function(e){return(t=n?{"":e[n]}:{},function(e){var r={};for(var n in t)r[n]=t[n];for(var i in e)r[i]=e[i];return r})(e);var t})).then(E(e))}}},O=function(e){return function(t){if("data"===t.pick)return l.data().then(A(e));if("file"===t.pick)return l.file().then(_(e));if("directory"===t.pick)return l.directory().then(E(e));if(t.path)switch(t.kind){case"data":return x(e)(t.path);case"file":return S(e)(t.path);case"directory":return P(e)(t.defaultFile)(t.path)}else{if(t.length||"string"==typeof t)return A(e)(t);if(t instanceof Object)return E(e)(t)}return Promise.reject(new Error("Bad arguments"))}},B=function(e){return function(t){return function(r){return U(e)(t).then((function(n){return n?r?w(e)(t)(r):v(e)(t):r?g(e)(t)(r):b(e)(t)}))}}},T=function(e,t){var i=n.platform().replace("win32","windows")+"-"+("x64"===n.arch()?"amd64":"386"),o=(t||s)[i],a=c+o.archive+".tar.gz",u=o.archiveMD5,f=o.binaryMD5;return r.safeDownloadArchived(a)(u)(f)(e)},C=function(e){return new Promise((function(t,r){var n=o.spawn,i=function(e){return function(t){return-1!==(""+t).indexOf(e)}},a=e.account,s=e.password,u=e.dataDir,c=e.ensApi,f=e.privateKey,d=0,l=n(e.binPath,["--bzzaccount",a||f,"--datadir",u,"--ens-api",c]),h=function(e){0===d&&i("Passphrase")(e)?setTimeout((function(){d=1,l.stdin.write(s+"\n")}),500):i("Swarm http proxy started")(e)&&(d=2,clearTimeout(p),t(l))};l.stdout.on("data",h),l.stderr.on("data",h);var p=setTimeout((function(){return r(new Error("Couldn't start swarm process."))}),2e4)}))},I=function(e){return new Promise((function(t,r){e.stderr.removeAllListeners("data"),e.stdout.removeAllListeners("data"),e.stdin.removeAllListeners("error"),e.removeAllListeners("error"),e.removeAllListeners("exit"),e.kill("SIGINT");var n=setTimeout((function(){return e.kill("SIGKILL")}),8e3);e.once("close",(function(){clearTimeout(n),t()}))}))},M=function(e){return A(e)("test").then((function(e){return"c9a99c7d326dcc6316f32fe2625b311f6dc49a175e6877681ded93137d3569e7"===e})).catch((function(){return!1}))},U=function(e){return function(t){return b(e)(t).then((function(e){try{return!!JSON.parse(j(e)).entries}catch(e){return!1}}))}},R=function(e){return function(t,r,n,i,o){var a;return void 0!==t&&(a=e(t)),void 0!==r&&(a=e(r)),void 0!==n&&(a=e(n)),void 0!==i&&(a=e(i)),void 0!==o&&(a=e(o)),a}},j=function(e){return f.toString(f.fromUint8Array(e))},N=function(e){return f.toUint8Array(f.fromString(e))},F=function(e){return{download:function(t,r){return B(e)(t)(r)},downloadData:R(b(e)),downloadDataToDisk:R(g(e)),downloadDirectory:R(v(e)),downloadDirectoryToDisk:R(w(e)),downloadEntries:R(y(e)),downloadRoutes:R(m(e)),isAvailable:function(){return M(e)},upload:function(t){return O(e)(t)},uploadData:R(A(e)),uploadFile:R(_(e)),uploadFileFromDisk:R(_(e)),uploadDataFromDisk:R(x(e)),uploadDirectory:R(E(e)),uploadDirectoryFromDisk:R(P(e)),uploadToManifest:R(k(e)),pick:l,hash:d,fromString:N,toString:j}};return{at:F,local:function(e){return function(t){return M("http://localhost:8500").then((function(r){return r?t(F("http://localhost:8500")).then((function(){})):T(e.binPath,e.archives).onData((function(t){return(e.onProgress||function(){})(t.length)})).then((function(){return C(e)})).then((function(e){return t(F("http://localhost:8500")).then((function(){return e}))})).then(I)}))}},download:B,downloadBinary:T,downloadData:b,downloadDataToDisk:g,downloadDirectory:v,downloadDirectoryToDisk:w,downloadEntries:y,downloadRoutes:m,isAvailable:M,startProcess:C,stopProcess:I,upload:O,uploadData:A,uploadDataFromDisk:x,uploadFile:_,uploadFileFromDisk:S,uploadDirectory:E,uploadDirectoryFromDisk:P,uploadToManifest:k,pick:l,hash:d,fromString:N,toString:j}}},7380:e=>{"use strict";var t=function(e,t){for(var r=[],n=0;n{"use strict";r(7380);var n=function(e,t){return parseInt(e.slice(2*t+2,2*t+4),16)},i=function(e){return(e.length-2)/2},o=function(e){for(var t=[],r=2,n=e.length;r>6|192);else{if(i>55295&&i<56320){if(++n==e.length)return null;var o=e.charCodeAt(n);if(o<56320||o>57343)return null;r+=t((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=t(i>>12&63|128)}else r+=t(i>>12|224);r+=t(i>>6&63|128)}r+=t(63&i|128)}}return r},toString:function(e){for(var t="",r=0,o=i(e);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(e,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(e,r))<<6|63&n(e,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(e,r))<<12|(63&n(e,++r))<<6|63&n(e,++r)}++r}if(a<=65535)t+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,t+=String.fromCharCode(a>>10|55296),t+=String.fromCharCode(1023&a|56320)}}return t},fromNumber:function(e){var t=e.toString(16);return t.length%2==0?"0x"+t:"0x0"+t},toNumber:function(e){return parseInt(e.slice(2),16)},fromNat:function(e){return"0x0"===e?"0x":e.length%2==0?e:"0x0"+e.slice(2)},toNat:function(e){return"0"===e[2]?"0x"+e.slice(3):e},fromArray:a,toArray:o,fromUint8Array:function(e){return a([].slice.call(e,0))},toUint8Array:function(e){return new Uint8Array(o(e))}}},9574:e=>{"use strict";var t="0123456789abcdef".split(""),r=[1,256,65536,16777216],n=[0,8,16,24],i=[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],o=function(e){var t,r,n,o,a,s,u,c,f,d,l,h,p,b,y,m,v,g,w,A,k,_,S,E,x,P,O,B,T,C,I,M,U,R,j,N,F,L,D,H,q,z,G,K,V,J,W,Y,X,Q,Z,$,ee,te,re,ne,ie,oe,ae,se,ue,ce,fe;for(n=0;n<48;n+=2)o=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],f=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=o^(c<<1|f>>>31),r=a^(f<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(d<<1|l>>>31),r=u^(l<<1|d>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|p>>>31),r=f^(p<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=d^(o<<1|a>>>31),r=l^(a<<1|o>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,b=e[0],y=e[1],J=e[11]<<4|e[10]>>>28,W=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,T=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,C=e[33]<<13|e[32]>>>19,I=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,fe=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,N=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,g=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,U=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,k=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,_=e[48]<<14|e[49]>>>18,S=e[49]<<14|e[48]>>>18,e[0]=b^~m&g,e[1]=y^~v&w,e[10]=E^~P&B,e[11]=x^~O&T,e[20]=R^~N&L,e[21]=j^~F&D,e[30]=K^~J&Y,e[31]=V^~W&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=m^~g&A,e[3]=v^~w&k,e[12]=P^~B&C,e[13]=O^~T&I,e[22]=N^~L&H,e[23]=F^~D&q,e[32]=J^~Y&Q,e[33]=W^~X&Z,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=g^~A&_,e[5]=w^~k&S,e[14]=B^~C&M,e[15]=T^~I&U,e[24]=L^~H&z,e[25]=D^~q&G,e[34]=Y^~Q&$,e[35]=X^~Z&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&fe,e[6]=A^~_&b,e[7]=k^~S&y,e[16]=C^~M&E,e[17]=I^~U&x,e[26]=H^~z&R,e[27]=q^~G&j,e[36]=Q^~$&K,e[37]=Z^~ee&V,e[46]=se^~ce&te,e[47]=ue^~fe&re,e[8]=_^~b&m,e[9]=S^~y&v,e[18]=M^~E&P,e[19]=U^~x&O,e[28]=z^~R&N,e[29]=G^~j&F,e[38]=$^~K&J,e[39]=ee^~V&W,e[48]=ce^~te&ne,e[49]=fe^~re&ie,e[0]^=i[n],e[1]^=i[n+1]},a=function(e){return function(i){var a;if("0x"===i.slice(0,2)){a=[];for(var s=2,u=i.length;s>2]|=i[h]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|63&a)<=57344?(u[y>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<=c){for(e.start=y-c,e.block=u[f],y=0;y>2]|=r[3&y],e.lastByteIndex===c)for(u[0]=u[f],y=1;y>4&15]+t[15&p]+t[p>>12&15]+t[p>>8&15]+t[p>>20&15]+t[p>>16&15]+t[p>>28&15]+t[p>>24&15];m%f==0&&(o(l),y=0)}return"0x"+b}(function(e){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(e<<1)>>5,outputBlocks:e>>5,s:(t=[0,0,0,0,0,0,0,0,0,0],[].concat(t,t,t,t,t))};var t}(e),a)}};e.exports={keccak256:a(256),keccak512:a(512),keccak256s:a(256),keccak512s:a(512)}},8419:e=>{"use strict";e.exports=function(e,t){if(t){t=(t=t.trim().replace(/^(\?|#|&)/,""))?"?"+t:t;var r=e.split(/[\?\#]/)[0];t&&/\:\/\/[^\/]*$/.test(r)&&(r+="/");var n=e.match(/(\#.*)$/);e=r+t,n&&(e+=n[0])}return e}},8677:(e,t,r)=>{"use strict";var n;e=r.nmd(e);var i=r(8847)(r(3355));!function(o){var a="object"==(0,i.default)(t)&&t&&!t.nodeType&&t,s="object"==(0,i.default)(e)&&e&&!e.nodeType&&e,u="object"==(void 0===r.g?"undefined":(0,i.default)(r.g))&&r.g;u.global!==u&&u.window!==u&&u.self!==u||(o=u);var c,f,d=2147483647,l=36,h=1,p=26,b=38,y=700,m=72,v=128,g="-",w=/^xn--/,A=/[^\x20-\x7E]/,k=/[\x2E\u3002\uFF0E\uFF61]/g,_={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=l-h,E=Math.floor,x=String.fromCharCode;function P(e){throw RangeError(_[e])}function O(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function B(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+O((e=e.replace(k,".")).split("."),t).join(".")}function T(e){for(var t,r,n=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(t+=x((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+x(e)})).join("")}function I(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function M(e,t,r){var n=0;for(e=r?E(e/y):e>>1,e+=E(e/t);e>S*p>>1;n+=l)e=E(e/S);return E(n+(S+1)*e/(e+b))}function U(e){var t,r,n,i,o,a,s,u,c,f,b,y=[],w=e.length,A=0,k=v,_=m;for((r=e.lastIndexOf(g))<0&&(r=0),n=0;n=128&&P("not-basic"),y.push(e.charCodeAt(n));for(i=r>0?r+1:0;i=w&&P("invalid-input"),((u=(b=e.charCodeAt(i++))-48<10?b-22:b-65<26?b-65:b-97<26?b-97:l)>=l||u>E((d-A)/a))&&P("overflow"),A+=u*a,!(u<(c=s<=_?h:s>=_+p?p:s-_));s+=l)a>E(d/(f=l-c))&&P("overflow"),a*=f;_=M(A-o,t=y.length+1,0==o),E(A/t)>d-k&&P("overflow"),k+=E(A/t),A%=t,y.splice(A++,0,k)}return C(y)}function R(e){var t,r,n,i,o,a,s,u,c,f,b,y,w,A,k,_=[];for(y=(e=T(e)).length,t=v,r=0,o=m,a=0;a=t&&bE((d-r)/(w=n+1))&&P("overflow"),r+=(s-t)*w,t=s,a=0;ad&&P("overflow"),b==t){for(u=r,c=l;!(u<(f=c<=o?h:c>=o+p?p:c-o));c+=l)k=u-f,A=l-f,_.push(x(I(f+k%A,0))),u=E(k/A);_.push(x(I(u,0))),o=M(r,w,n==i),r=0,++n}++r,++t}return _.join("")}if(c={version:"1.3.2",ucs2:{decode:T,encode:C},decode:U,encode:R,toASCII:function(e){return B(e,(function(e){return A.test(e)?"xn--"+R(e):e}))},toUnicode:function(e){return B(e,(function(e){return w.test(e)?U(e.slice(4).toLowerCase()):e}))}},"object"==(0,i.default)(r.amdO)&&r.amdO)void 0===(n=function(){return c}.call(t,r,t,e))||(e.exports=n);else if(a&&s)if(e.exports==a)s.exports=c;else for(f in c)c.hasOwnProperty(f)&&(a[f]=c[f]);else o.punycode=c}(void 0)},8983:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,r,n,i){r=r||"&",n=n||"=";var o={};if("string"!=typeof e||0===e.length)return o;var a=/\+/g;e=e.split(r);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var u=e.length;s>0&&u>s&&(u=s);for(var c=0;c=0?(f=p.substr(0,b),d=p.substr(b+1)):(f=p,d=""),l=decodeURIComponent(f),h=decodeURIComponent(d),t(o,l)?Array.isArray(o[l])?o[l].push(h):o[l]=[o[l],h]:o[l]=h}return o}},4031:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=function(e){switch((0,n.default)(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,o){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"===(0,n.default)(e)?Object.keys(e).map((function(n){var o=encodeURIComponent(i(n))+r;return Array.isArray(e[n])?e[n].map((function(e){return o+encodeURIComponent(i(e))})).join(t):o+encodeURIComponent(i(e[n]))})).join(t):o?encodeURIComponent(i(o))+r+encodeURIComponent(i(e)):""}},845:(e,t,r)=>{"use strict";t.decode=t.parse=r(8983),t.encode=t.stringify=r(4031)},1143:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(8677),o=r(5751);function a(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=w,t.resolve=function(e,t){return w(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?w(e,!1,!0).resolveObject(t):t},t.format=function(e){return o.isString(e)&&(e=w(e)),e instanceof a?e.format():a.prototype.format.call(e)},t.Url=a;var s=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,f=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),d=["'"].concat(f),l=["%","/","?",";","#"].concat(d),h=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},g=r(845);function w(e,t,r){if(e&&o.isObject(e)&&e instanceof a)return e;var n=new a;return n.parse(e,t,r),n}a.prototype.parse=function(e,t,r){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+(0,n.default)(e));var a=e.indexOf("?"),u=-1!==a&&a127?U+="x":U+=M[R];if(!U.match(p)){var N=C.slice(0,O),F=C.slice(O+1),L=M.match(b);L&&(N.push(L[1]),F.unshift(L[2])),F.length&&(w="/"+F.join(".")+w),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=i.toASCII(this.hostname));var D=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+D,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!y[_])for(O=0,I=d.length;O0)&&r.host.split("@"))&&(r.auth=B.shift(),r.host=r.hostname=B.shift())),r.search=e.search,r.query=e.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(!_.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var E=_.slice(-1)[0],x=(r.host||e.host||_.length>1)&&("."===E||".."===E)||""===E,P=0,O=_.length;O>=0;O--)"."===(E=_[O])?_.splice(O,1):".."===E?(_.splice(O,1),P++):P&&(_.splice(O,1),P--);if(!A&&!k)for(;P--;P)_.unshift("..");!A||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),x&&"/"!==_.join("/").substr(-1)&&_.push("");var B,T=""===_[0]||_[0]&&"/"===_[0].charAt(0);return S&&(r.hostname=r.host=T?"":_.length?_.shift():"",(B=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=B.shift(),r.host=r.hostname=B.shift())),(A=A||r.host&&_.length)&&!T&&_.unshift(""),_.length?r.pathname=_.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=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},a.prototype.parseHost=function(){var e=this.host,t=u.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},5751:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"===(0,n.default)(e)&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},8632:(e,t)=>{"use strict";!function(e){var t,r,n,i=String.fromCharCode;function o(e){for(var t,r,n=[],i=0,o=e.length;i=55296&&t<=56319&&i=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}function s(e,t){return i(e>>t&63|128)}function u(e){if(0==(4294967168&e))return i(e);var t="";return 0==(4294965248&e)?t=i(e>>6&31|192):0==(4294901760&e)?(a(e),t=i(e>>12&15|224),t+=s(e,6)):0==(4292870144&e)&&(t=i(e>>18&7|240),t+=s(e,12),t+=s(e,6)),t+i(63&e|128)}function c(){if(n>=r)throw Error("Invalid byte index");var e=255&t[n];if(n++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function f(){var e,i;if(n>r)throw Error("Invalid byte index");if(n==r)return!1;if(e=255&t[n],n++,0==(128&e))return e;if(192==(224&e)){if((i=(31&e)<<6|c())>=128)return i;throw Error("Invalid continuation byte")}if(224==(240&e)){if((i=(15&e)<<12|c()<<6|c())>=2048)return a(i),i;throw Error("Invalid continuation byte")}if(240==(248&e)&&(i=(7&e)<<18|c()<<12|c()<<6|c())>=65536&&i<=1114111)return i;throw Error("Invalid UTF-8 detected")}e.version="3.0.0",e.encode=function(e){for(var t=o(e),r=t.length,n=-1,i="";++n65535&&(o+=i((t-=65536)>>>10&1023|55296),t=56320|1023&t),o+=i(t);return o}(s)}}(t)},6219:(e,t,r)=>{"use strict";function n(e){try{if(!r.g.localStorage)return!1}catch(e){return!1}var t=r.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}},6248:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports=function(e){return e&&"object"===(0,n.default)(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},7092:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(9446),o=r(4477),a=r(2337),s=r(8915);function u(e){return e.call.bind(e)}var c="undefined"!=typeof BigInt,f="undefined"!=typeof Symbol,d=u(Object.prototype.toString),l=u(Number.prototype.valueOf),h=u(String.prototype.valueOf),p=u(Boolean.prototype.valueOf);if(c)var b=u(BigInt.prototype.valueOf);if(f)var y=u(Symbol.prototype.valueOf);function m(e,t){if("object"!==(0,n.default)(e))return!1;try{return t(e),!0}catch(e){return!1}}function v(e){return"[object Map]"===d(e)}function g(e){return"[object Set]"===d(e)}function w(e){return"[object WeakMap]"===d(e)}function A(e){return"[object WeakSet]"===d(e)}function k(e){return"[object ArrayBuffer]"===d(e)}function _(e){return"undefined"!=typeof ArrayBuffer&&(k.working?k(e):e instanceof ArrayBuffer)}function S(e){return"[object DataView]"===d(e)}function E(e){return"undefined"!=typeof DataView&&(S.working?S(e):e instanceof DataView)}t.isArgumentsObject=i,t.isGeneratorFunction=o,t.isTypedArray=s,t.isPromise=function(e){return"undefined"!=typeof Promise&&e instanceof Promise||null!==e&&"object"===(0,n.default)(e)&&"function"==typeof e.then&&"function"==typeof e.catch},t.isArrayBufferView=function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):s(e)||E(e)},t.isUint8Array=function(e){return"Uint8Array"===a(e)},t.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===a(e)},t.isUint16Array=function(e){return"Uint16Array"===a(e)},t.isUint32Array=function(e){return"Uint32Array"===a(e)},t.isInt8Array=function(e){return"Int8Array"===a(e)},t.isInt16Array=function(e){return"Int16Array"===a(e)},t.isInt32Array=function(e){return"Int32Array"===a(e)},t.isFloat32Array=function(e){return"Float32Array"===a(e)},t.isFloat64Array=function(e){return"Float64Array"===a(e)},t.isBigInt64Array=function(e){return"BigInt64Array"===a(e)},t.isBigUint64Array=function(e){return"BigUint64Array"===a(e)},v.working="undefined"!=typeof Map&&v(new Map),t.isMap=function(e){return"undefined"!=typeof Map&&(v.working?v(e):e instanceof Map)},g.working="undefined"!=typeof Set&&g(new Set),t.isSet=function(e){return"undefined"!=typeof Set&&(g.working?g(e):e instanceof Set)},w.working="undefined"!=typeof WeakMap&&w(new WeakMap),t.isWeakMap=function(e){return"undefined"!=typeof WeakMap&&(w.working?w(e):e instanceof WeakMap)},A.working="undefined"!=typeof WeakSet&&A(new WeakSet),t.isWeakSet=function(e){return A(e)},k.working="undefined"!=typeof ArrayBuffer&&k(new ArrayBuffer),t.isArrayBuffer=_,S.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&S(new DataView(new ArrayBuffer(1),0,1)),t.isDataView=E;var x="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function P(e){return"[object SharedArrayBuffer]"===d(e)}function O(e){return void 0!==x&&(void 0===P.working&&(P.working=P(new x)),P.working?P(e):e instanceof x)}function B(e){return m(e,l)}function T(e){return m(e,h)}function C(e){return m(e,p)}function I(e){return c&&m(e,b)}function M(e){return f&&m(e,y)}t.isSharedArrayBuffer=O,t.isAsyncFunction=function(e){return"[object AsyncFunction]"===d(e)},t.isMapIterator=function(e){return"[object Map Iterator]"===d(e)},t.isSetIterator=function(e){return"[object Set Iterator]"===d(e)},t.isGeneratorObject=function(e){return"[object Generator]"===d(e)},t.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===d(e)},t.isNumberObject=B,t.isStringObject=T,t.isBooleanObject=C,t.isBigIntObject=I,t.isSymbolObject=M,t.isBoxedPrimitive=function(e){return B(e)||T(e)||C(e)||I(e)||M(e)},t.isAnyArrayBuffer=function(e){return"undefined"!=typeof Uint8Array&&(_(e)||O(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(e){Object.defineProperty(t,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})}))},5058:(e,t,r)=>{"use strict";var n=r(9142),i=r(8847)(r(3355)),o=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(r)?n.showHidden=r:r&&t._extend(n,r),A(n.showHidden)&&(n.showHidden=!1),A(n.depth)&&(n.depth=2),A(n.colors)&&(n.colors=!1),A(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=d),h(n,e,n.depth)}function d(e,t){var r=f.styles[t];return r?"["+f.colors[r][0]+"m"+e+"["+f.colors[r][1]+"m":e}function l(e,t){return e}function h(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return w(i)||(i=h(e,i,n)),i}var o=function(e,t){if(A(t))return e.stylize("undefined","undefined");if(w(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):m(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}(e,r);if(o)return o;var a=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),E(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return p(r);if(0===a.length){if(x(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(k(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(S(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return p(r)}var c,f="",d=!1,l=["{","}"];return y(r)&&(d=!0,l=["[","]"]),x(r)&&(f=" [Function"+(r.name?": "+r.name:"")+"]"),k(r)&&(f=" "+RegExp.prototype.toString.call(r)),S(r)&&(f=" "+Date.prototype.toUTCString.call(r)),E(r)&&(f=" "+p(r)),0!==a.length||d&&0!=r.length?n<0?k(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=d?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,f,l)):l[0]+f+l[1]}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function b(e,t,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),T(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(u.value)<0?(s=v(r)?h(e,u.value,null):h(e,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),A(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.slice(1,-1),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function y(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function v(e){return null===e}function g(e){return"number"==typeof e}function w(e){return"string"==typeof e}function A(e){return void 0===e}function k(e){return _(e)&&"[object RegExp]"===P(e)}function _(e){return"object"===(0,i.default)(e)&&null!==e}function S(e){return _(e)&&"[object Date]"===P(e)}function E(e){return _(e)&&("[object Error]"===P(e)||e instanceof Error)}function x(e){return"function"==typeof e}function P(e){return Object.prototype.toString.call(e)}function O(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(e=e.toUpperCase(),!s[e])if(u.test(e)){var r=n.pid;s[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else s[e]=function(){};return s[e]},t.inspect=f,f.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]},f.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.types=r(7092),t.isArray=y,t.isBoolean=m,t.isNull=v,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=w,t.isSymbol=function(e){return"symbol"===(0,i.default)(e)},t.isUndefined=A,t.isRegExp=k,t.types.isRegExp=k,t.isObject=_,t.isDate=S,t.types.isDate=S,t.isError=E,t.types.isNativeError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===(0,i.default)(e)||void 0===e},t.isBuffer=r(6248);var B=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,r;console.log("%s - %s",(r=[O((e=new Date).getHours()),O(e.getMinutes()),O(e.getSeconds())].join(":"),[e.getDate(),B[e.getMonth()],r].join(" ")),t.format.apply(t,arguments))},t.inherits=r(1736),t._extend=function(e,t){if(!t||!_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function I(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(C&&e[C]){var t;if("function"!=typeof(t=e[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,C,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return u.default}});var n=l(r(5999)),i=l(r(8231)),o=l(r(8647)),a=l(r(5025)),s=l(r(5996)),u=l(r(8928)),c=l(r(6163)),f=l(r(2982)),d=l(r(1729));function l(e){return e&&e.__esModule?e:{default:e}}},6792:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,o,a){return n((s=n(n(t,e),n(i,a)))<<(u=o)|s>>>32-u,r);var s,u}function o(e,t,r,n,o,a,s){return i(t&r|~t&n,e,t,o,a,s)}function a(e,t,r,n,o,a,s){return i(t&n|r&~n,e,t,o,a,s)}function s(e,t,r,n,o,a,s){return i(t^r^n,e,t,o,a,s)}function u(e,t,r,n,o,a,s){return i(r^(t|~n),e,t,o,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var i=0;i>5]>>>i%32&255,a=parseInt(n.charAt(o>>>4&15)+n.charAt(15&o),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[i/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},5996:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},1729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(6163))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},7300:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},4402:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};var n=new Uint8Array(16)},2702:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){var t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var o=unescape(encodeURIComponent(e));e=[];for(var a=0;a>>0;A=w,w=g,g=n(v,30)>>>0,v=m,m=S}i[0]=i[0]+m>>>0,i[1]=i[1]+v>>>0,i[2]=i[2]+g>>>0,i[3]=i[3]+w>>>0,i[4]=i[4]+A>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},2982:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=s;for(var n,i=(n=r(6163))&&n.__esModule?n:{default:n},o=[],a=0;a<256;++a)o.push((a+256).toString(16).slice(1));function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase()}t.default=function(e){var t=s(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0);if(!(0,i.default)(t))throw TypeError("Stringified UUID is invalid");return t}},5999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i,o,a=(n=r(4402))&&n.__esModule?n:{default:n},s=r(2982),u=0,c=0;t.default=function(e,t,r){var n=t&&r||0,f=t||new Array(16),d=(e=e||{}).node||i,l=void 0!==e.clockseq?e.clockseq:o;if(null==d||null==l){var h=e.random||(e.rng||a.default)();null==d&&(d=i=[1|h[0],h[1],h[2],h[3],h[4],h[5]]),null==l&&(l=o=16383&(h[6]<<8|h[7]))}var p=void 0!==e.msecs?e.msecs:Date.now(),b=void 0!==e.nsecs?e.nsecs:c+1,y=p-u+(b-c)/1e4;if(y<0&&void 0===e.clockseq&&(l=l+1&16383),(y<0||p>u)&&void 0===e.nsecs&&(b=0),b>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=p,c=b,o=l;var m=(1e4*(268435455&(p+=122192928e5))+b)%4294967296;f[n++]=m>>>24&255,f[n++]=m>>>16&255,f[n++]=m>>>8&255,f[n++]=255&m;var v=p/4294967296*1e4&268435455;f[n++]=v>>>8&255,f[n++]=255&v,f[n++]=v>>>24&15|16,f[n++]=v>>>16&255,f[n++]=l>>>8|128,f[n++]=255&l;for(var g=0;g<6;++g)f[n+g]=d[g];return t||(0,s.unsafeStringify)(f)}},8231:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(6125)),i=o(r(6792));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,i.default);t.default=a},6125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var u;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1788)),i=a(r(4402)),o=r(2982);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();var a=(e=e||{}).random||(e.rng||i.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(var s=0;s<16;++s)t[r+s]=a[s];return t}return(0,o.unsafeStringify)(a)}},5025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(6125)),i=o(r(2702));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,i.default);t.default=a},6163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(7300))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&i.default.test(e)}},8928:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(6163))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},8325:e=>{"use strict";e.exports=function e(n,i){var o,a=0,s=0,u=i=i||0,c=n.length;do{if(u>=c)throw e.bytes=0,new RangeError("Could not decode varint");o=n[u++],a+=s<28?(o&r)<=t);return e.bytes=u-i,a};var t=128,r=127},2699:e=>{"use strict";e.exports=function e(i,o,a){o=o||[];for(var s=a=a||0;i>=n;)o[a++]=255&i|t,i/=128;for(;i&r;)o[a++]=255&i|t,i>>>=7;return o[a]=0|i,e.bytes=a-s+1,o};var t=128,r=-128,n=Math.pow(2,31)},6657:(e,t,r)=>{"use strict";e.exports={encode:r(2699),decode:r(8325),encodingLength:r(7490)}},7490:e=>{"use strict";var t=Math.pow(2,7),r=Math.pow(2,14),n=Math.pow(2,21),i=Math.pow(2,28),o=Math.pow(2,35),a=Math.pow(2,42),s=Math.pow(2,49),u=Math.pow(2,56),c=Math.pow(2,63);e.exports=function(e){return e{"use strict";var n,i=r(8847)(r(3355));if("object"===("undefined"==typeof globalThis?"undefined":(0,i.default)(globalThis)))n=globalThis;else try{n=r(6464)}catch(e){}finally{if(n||"undefined"==typeof window||(n=window),!n)throw new Error("Could not determine global this")}var o=n.WebSocket||n.MozWebSocket,a=r(5735);function s(e,t){return t?new o(e,t):new o(e)}o&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(s,e,{get:function(){return o[e]}})})),e.exports={w3cwebsocket:o?s:null,version:a}},5735:(e,t,r)=>{"use strict";e.exports=r(9794).version},2337:(e,t,r)=>{"use strict";var n=r(8184),i=r(3604),o=r(593),a=r(3820),s=o("Object.prototype.toString"),u=r(1191)(),c="undefined"==typeof globalThis?r.g:globalThis,f=i(),d=o("String.prototype.slice"),l={},h=Object.getPrototypeOf;u&&a&&h&&n(f,(function(e){if("function"==typeof c[e]){var t=new c[e];if(Symbol.toStringTag in t){var r=h(t),n=a(r,Symbol.toStringTag);if(!n){var i=h(r);n=a(i,Symbol.toStringTag)}l[e]=n.get}}}));var p=r(8915);e.exports=function(e){return!!p(e)&&(u&&Symbol.toStringTag in e?function(e){var t=!1;return n(l,(function(r,n){if(!t)try{var i=r.call(e);i===n&&(t=i)}catch(e){}})),t}(e):d(s(e),8,-1))}},1357:(e,t,r)=>{"use strict";var n=r(1296),i=r(8419),o=r(3103),a=r(9122),s=r(7321),u="application/json",c=function(){};e.exports=function(e,t,r){if(!e||"string"!=typeof e)throw new TypeError("must specify a URL");if("function"==typeof t&&(r=t,t={}),r&&"function"!=typeof r)throw new TypeError("expected cb to be undefined or a function");r=r||c;var f=(t=t||{}).json?"json":"text",d=(t=o({responseType:f},t)).headers||{},l=(t.method||"GET").toUpperCase(),h=t.query;return h&&("string"!=typeof h&&(h=n.stringify(h)),e=i(e,h)),"json"===t.responseType&&a(d,"Accept",u),t.json&&"GET"!==l&&"HEAD"!==l&&(a(d,"Content-Type",u),t.body=JSON.stringify(t.body)),t.method=l,t.url=e,t.headers=d,delete t.query,delete t.json,s(t,r)}},9122:e=>{"use strict";e.exports=function(e,t,r){var n=t.toLowerCase();e[t]||e[n]||(e[t]=r)}},9800:e=>{"use strict";e.exports=function(e,t){return t?{statusCode:t.statusCode,headers:t.headers,method:e.method,url:e.url,rawRequest:t.rawRequest?t.rawRequest:t}:null}},7321:(e,t,r)=>{"use strict";var n=r(346),i=r(9800),o=function(){};e.exports=function(e,t){delete e.uri;var r=!1;"json"===e.responseType&&(e.responseType="text",r=!0);var a=n(e,(function(n,a,s){if(r&&!n)try{var u=a.rawRequest.responseText;s=JSON.parse(u)}catch(e){n=e}a=i(e,a),t(n,n?null:s,a),t=o})),s=a.onabort;return a.onabort=function(){var e=s.apply(a,Array.prototype.slice.call(arguments));return t(new Error("XHR Aborted")),t=o,e},a}},346:(e,t,r)=>{"use strict";var n=r(2948),i=r(4339),o=r(8209),a=r(7705);function s(e,t,r){var n=e;return i(t)?(r=t,"string"==typeof e&&(n={uri:e})):n=a(t,{uri:e}),n.callback=r,n}function u(e,t,r){return c(t=s(e,t,r))}function c(e){if(void 0===e.callback)throw new Error("callback argument missing");var t=!1,r=function(r,n,i){t||(t=!0,e.callback(r,n,i))};function n(){var e=void 0;if(e=f.response?f.response:f.responseText||function(e){try{if("document"===e.responseType)return e.responseXML;var t=e.responseXML&&"parsererror"===e.responseXML.documentElement.nodeName;if(""===e.responseType&&!t)return e.responseXML}catch(e){}return null}(f),m)try{e=JSON.parse(e)}catch(e){}return e}function i(e){return clearTimeout(d),e instanceof Error||(e=new Error(""+(e||"Unknown XMLHttpRequest Error"))),e.statusCode=0,r(e,v)}function a(){if(!c){var t;clearTimeout(d),t=e.useXDR&&void 0===f.status?200:1223===f.status?204:f.status;var i=v,a=null;return 0!==t?(i={body:n(),statusCode:t,method:h,headers:{},url:l,rawRequest:f},f.getAllResponseHeaders&&(i.headers=o(f.getAllResponseHeaders()))):a=new Error("Internal XMLHttpRequest Error"),r(a,i,i.body)}}var s,c,f=e.xhr||null;f||(f=e.cors||e.useXDR?new u.XDomainRequest:new u.XMLHttpRequest);var d,l=f.url=e.uri||e.url,h=f.method=e.method||"GET",p=e.body||e.data,b=f.headers=e.headers||{},y=!!e.sync,m=!1,v={body:void 0,headers:{},statusCode:0,method:h,url:l,rawRequest:f};if("json"in e&&!1!==e.json&&(m=!0,b.accept||b.Accept||(b.Accept="application/json"),"GET"!==h&&"HEAD"!==h&&(b["content-type"]||b["Content-Type"]||(b["Content-Type"]="application/json"),p=JSON.stringify(!0===e.json?p:e.json))),f.onreadystatechange=function(){4===f.readyState&&setTimeout(a,0)},f.onload=a,f.onerror=i,f.onprogress=function(){},f.onabort=function(){c=!0},f.ontimeout=i,f.open(h,l,!y,e.username,e.password),y||(f.withCredentials=!!e.withCredentials),!y&&e.timeout>0&&(d=setTimeout((function(){if(!c){c=!0,f.abort("timeout");var e=new Error("XMLHttpRequest timeout");e.code="ETIMEDOUT",i(e)}}),e.timeout)),f.setRequestHeader)for(s in b)b.hasOwnProperty(s)&&f.setRequestHeader(s,b[s]);else if(e.headers&&!function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(e.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in e&&(f.responseType=e.responseType),"beforeSend"in e&&"function"==typeof e.beforeSend&&e.beforeSend(f),f.send(p||null),f}e.exports=u,e.exports.default=u,u.XMLHttpRequest=n.XMLHttpRequest||function(){},u.XDomainRequest="withCredentials"in new u.XMLHttpRequest?u.XMLHttpRequest:n.XDomainRequest,function(e,t){for(var r=0;r{"use strict";e.exports=function(){for(var e={},r=0;r{"use strict";var n=r(8847)(r(3355)),i=r(6427),o=function e(t){this.givenProvider=e.givenProvider,t&&t._requestManager&&(t=t.currentProvider),"undefined"!=typeof document&&(this.pick=i.pick),this.setProvider(t)};o.givenProvider=null,"undefined"!=typeof ethereum&ðereum.bzz&&(o.givenProvider=ethereum.bzz),o.prototype.setProvider=function(e){if(e&&"object"===(0,n.default)(e)&&"string"==typeof e.bzz&&(e=e.bzz),"string"!=typeof e){this.currentProvider=null;var t=new Error("No provider set, please set one using bzz.setProvider().");return this.download=this.upload=this.isAvailable=function(){throw t},!1}return this.currentProvider=e,this.download=i.at(e).download,this.upload=i.at(e).upload,this.isAvailable=i.at(e).isAvailable,!0},e.exports=o},4246:(e,t,r)=>{"use strict";var n=r(8847)(r(3355));e.exports={ErrorResponse:function(e){var t=e&&e.error&&e.error.message?e.error.message:JSON.stringify(e),r=e.error&&e.error.data?e.error.data:null,n=new Error("Returned error: "+t);return n.data=r,n},InvalidNumberOfParams:function(e,t,r){return new Error('Invalid number of parameters for "'+r+'". Got '+e+" expected "+t+"!")},InvalidConnection:function(e,t){return this.ConnectionError("CONNECTION ERROR: Couldn't connect to node "+e+".",t)},InvalidProvider:function(){return new Error("Provider not set or invalid")},InvalidResponse:function(e){var t=e&&e.error&&e.error.message?e.error.message:"Invalid JSON RPC response: "+JSON.stringify(e);return new Error(t)},ConnectionTimeout:function(e){return new Error("CONNECTION TIMEOUT: timeout of "+e+" ms achived")},ConnectionNotOpenError:function(e){return this.ConnectionError("connection not open on send()",e)},ConnectionCloseError:function(e){return"object"===(0,n.default)(e)&&e.code&&e.reason?this.ConnectionError("CONNECTION ERROR: The connection got closed with the close code `"+e.code+"` and the following reason string `"+e.reason+"`",e):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(e,t){var r=new Error(e);return t&&(r.code=t.code,r.reason=t.reason,t.description&&(r.description=t.description)),r},RevertInstructionError:function(e,t){var r=new Error("Your request got reverted with the following reason string: "+e);return r.reason=e,r.signature=t,r},TransactionRevertInstructionError:function(e,t,r){var n=new Error("Transaction has been reverted by the EVM:\n"+JSON.stringify(r,null,2));return n.reason=e,n.signature=t,n.receipt=r,n},TransactionError:function(e,t){var r=new Error(e);return r.receipt=t,r},NoContractAddressFoundError:function(e){return this.TransactionError("The transaction receipt didn't contain a contract address.",e)},ContractCodeNotStoredError:function(e){return this.TransactionError("The contract code couldn't be stored, please check your gas limit.",e)},TransactionRevertedWithoutReasonError:function(e){return this.TransactionError("Transaction has been reverted by the EVM:\n"+JSON.stringify(e,null,2),e)},TransactionOutOfGasError:function(e){return this.TransactionError("Transaction ran out of gas. Please provide more gas:\n"+JSON.stringify(e,null,2),e)},ResolverMethodMissingError:function(e,t){return new Error("The resolver at "+e+'does not implement requested method: "'+t+'".')},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(e){return new Error('Event "'+e+"\" doesn't exist in this contract.")},ContractReservedEventError:function(e){return new Error('The event "'+e+"\" 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.')}}},2084:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(775)),o=n(r(3355));function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t{"use strict";var n=r(4246),i=r(2084);e.exports={errors:n,formatters:i}},3349:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(2247)),o=n(r(4519)),a=n(r(775)),s=n(r(5698)),u=n(r(3355));function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t1?(e[r[0]]=e[r[0]]||{},e[r[0]][r[1]]=t):e[r[0]]=t},m.prototype.getCall=function(e){return"function"==typeof this.call?this.call(e):this.call},m.prototype.extractCallback=function(e){if("function"==typeof e[e.length-1])return e.pop()},m.prototype.validateArgs=function(e){if(e.length!==this.params)throw d.InvalidNumberOfParams(e.length,this.params,this.name)},m.prototype.formatInput=function(e){var t=this;return this.inputFormatter?this.inputFormatter.map((function(r,n){return r?r.call(t,e[n]):e[n]})):e},m.prototype.formatOutput=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.outputFormatter&&e?t.outputFormatter(e,null==this?void 0:this.hexFormat):e})):this.outputFormatter&&e?this.outputFormatter(e,null==this?void 0:this.hexFormat):e},m.prototype.toPayload=function(e){var t=this.getCall(e),r=this.extractCallback(e),n=this.formatInput(e);this.validateArgs(n);var i={method:t,params:n,callback:r};return this.transformPayload&&(i=this.transformPayload(i)),i},m.prototype._confirmTransaction=function(e,t,r){var n=this,o=!1,a=!0,c=0,f=0,v=null,g=null,w=null,A=r.params[0]&&"object"===(0,u.default)(r.params[0])&&r.params[0].gas?r.params[0].gas:null,k=!!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,S=[new m({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[l.inputBlockNumberFormatter,function(e){return!!e}],outputFormatter:l.outputBlockFormatter}),new m({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:l.outputTransactionReceiptFormatter}),new m({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[l.inputAddressFormatter,l.inputDefaultBlockNumberFormatter]}),new m({name:"getTransactionByHash",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:l.outputTransactionFormatter}),new b({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:l.outputBlockFormatter}}})],E={};S.forEach((function(e){e.attachToObject(E),e.requestManager=n.requestManager}));var x=function(u,b,m,S,x){if(!m)return x||(x={unsubscribe:function(){clearInterval(v),clearTimeout(g)}}),(u?p.resolve(u):E.getTransactionReceipt(t)).catch((function(t){x.unsubscribe(),o=!0,h._fireError({message:"Failed to check for transaction receipt:",data:t},e.eventEmitter,e.reject)})).then(function(){var t=(0,s.default)(i.default.mark((function t(r){var o,s,c;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&r.blockHash){t.next=2;break}throw new Error("Receipt missing or blockHash null");case 2:if(n.extraFormatters&&n.extraFormatters.receiptFormatter&&(r=n.extraFormatters.receiptFormatter(r)),!(e.eventEmitter.listeners("confirmation").length>0)){t.next=28;break}if(void 0!==u&&0===f){t.next=25;break}return t.next=7,E.getBlockByNumber("latest");case 7:if(s=t.sent,c=s?s.hash:null,!b){t.next=24;break}if(!w){t.next=17;break}return t.next=13,E.getBlockByNumber(w.number+1);case 13:(o=t.sent)&&(w=o,e.eventEmitter.emit("confirmation",f,r,c)),t.next=22;break;case 17:return t.next=19,E.getBlockByNumber(r.blockNumber);case 19:o=t.sent,w=o,e.eventEmitter.emit("confirmation",f,r,c);case 22:t.next=25;break;case 24:e.eventEmitter.emit("confirmation",f,r,c);case 25:(b&&o||!b)&&f++,a=!1,f===n.transactionConfirmationBlocks+1&&(x.unsubscribe(),e.eventEmitter.removeAllListeners());case 28:return t.abrupt("return",r);case 29:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).then(function(){var t=(0,s.default)(i.default.mark((function t(r){var s;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!k||o){t.next=19;break}if(r.contractAddress){t.next=5;break}return a&&(x.unsubscribe(),o=!0),h._fireError(d.NoContractAddressFoundError(r),e.eventEmitter,e.reject,null,r),t.abrupt("return");case 5:return t.prev=5,t.next=8,E.getCode(r.contractAddress);case 8:s=t.sent,t.next=13;break;case 11:t.prev=11,t.t0=t.catch(5);case 13:if(s){t.next=15;break}return t.abrupt("return");case 15:!0===r.status&&_||s.length>2?(e.eventEmitter.emit("receipt",r),n.extraFormatters&&n.extraFormatters.contractDeployFormatter?e.resolve(n.extraFormatters.contractDeployFormatter(r)):e.resolve(r),a&&e.eventEmitter.removeAllListeners()):h._fireError(d.ContractCodeNotStoredError(r),e.eventEmitter,e.reject,null,r),a&&x.unsubscribe(),o=!0;case 19:return t.abrupt("return",r);case 20:case"end":return t.stop()}}),t,null,[[5,11]])})));return function(e){return t.apply(this,arguments)}}()).then(function(){var t=(0,s.default)(i.default.mark((function t(s){var u,c,f,p;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k||o){t.next=35;break}if(s.outOfGas||A&&A===s.gasUsed||!0!==s.status&&"0x1"!==s.status&&void 0!==s.status){t.next=7;break}e.eventEmitter.emit("receipt",s),e.resolve(s),a&&e.eventEmitter.removeAllListeners(),t.next=33;break;case 7:if(JSON.stringify(s,null,2),!1!==s.status&&"0x0"!==s.status){t.next=32;break}if(t.prev=9,u=null,!n.handleRevert||"eth_sendTransaction"!==n.call&&"eth_sendRawTransaction"!==n.call){t.next=24;break}return c=r.params[0],"eth_sendRawTransaction"===n.call&&(f=r.params[0],p=y.parse(f),c=l.inputTransactionFormatter({data:p.data,to:p.to,from:p.from,gas:p.gasLimit.toHexString(),gasPrice:p.gasPrice?p.gasPrice.toHexString():void 0,value:p.value.toHexString()})),t.next=16,n.getRevertReason(c,s.blockNumber);case 16:if(!(u=t.sent)){t.next=21;break}h._fireError(d.TransactionRevertInstructionError(u.reason,u.signature,s),e.eventEmitter,e.reject,null,s),t.next=22;break;case 21:throw!1;case 22:t.next=25;break;case 24:throw!1;case 25:t.next=30;break;case 27:t.prev=27,t.t0=t.catch(9),h._fireError(d.TransactionRevertedWithoutReasonError(s),e.eventEmitter,e.reject,null,s);case 30:t.next=33;break;case 32:h._fireError(d.TransactionOutOfGasError(s),e.eventEmitter,e.reject,null,s);case 33:a&&x.unsubscribe(),o=!0;case 35:case"end":return t.stop()}}),t,null,[[9,27]])})));return function(e){return t.apply(this,arguments)}}()).catch((function(){c++,b?c-1>=n.transactionPollingTimeout&&(x.unsubscribe(),o=!0,h._fireError(d.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!"),e.eventEmitter,e.reject)):c-1>=n.transactionBlockTimeout&&(x.unsubscribe(),o=!0,h._fireError(d.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!"),e.eventEmitter,e.reject))}));x.unsubscribe(),o=!0,h._fireError({message:"Failed to subscribe to new newBlockHeaders to confirm the transaction receipts.",data:m},e.eventEmitter,e.reject)},P=function(e){var t=!1,r=function(){v=setInterval(x.bind(null,e,!0),n.transactionPollingInterval)};if(!this.requestManager.provider.on)return r();E.subscribe("newBlockHeaders",(function(n,i,o){if(t=!0,n||!i)return r();x(e,!1,n,0,o)})),g=setTimeout((function(){t||r()}),1e3*this.blockHeaderTimeout)}.bind(this);E.getTransactionReceipt(t).then((function(t){t&&t.blockHash?(e.eventEmitter.listeners("confirmation").length>0&&P(t),x(t,!1)):o||P()})).catch((function(){o||P()}))};var v=function(e,t){return"number"==typeof e?t.wallet[e]:e&&"object"===(0,u.default)(e)&&e.address&&e.privateKey?e:t.wallet[e.toLowerCase()]};m.prototype.buildCall=function(){var e=this,t="eth_sendTransaction"===e.call||"eth_sendRawTransaction"===e.call,r="eth_call"===e.call,n=function(){var n=Array.prototype.slice.call(arguments),i=p(!t),a=e.toPayload(n);e.hexFormat=!1,"eth_getTransactionReceipt"!==e.call&&"eth_getTransactionByHash"!==e.call&&"getBlock"!==e.name||(e.hexFormat=a.params.length{"use strict";var n=r(8008),i=function(e){var t,r,i=new Promise((function(){t=arguments[0],r=arguments[1]}));if(e)return{resolve:t,reject:r,eventEmitter:i};var o=new n;return i._events=o._events,i.emit=o.emit,i.on=o.on,i.once=o.once,i.off=o.off,i.listeners=o.listeners,i.addListener=o.addListener,i.removeListener=o.removeListener,i.removeAllListeners=o.removeAllListeners,{resolve:t,reject:r,eventEmitter:i}};i.resolve=function(e){var t=i(!0);return t.resolve(e),t.eventEmitter},e.exports=i},5229:(e,t,r)=>{"use strict";var n=r(8155),i=r(1314).errors,o=function(e){this.requestManager=e,this.requests=[]};o.prototype.add=function(e){this.requests.push(e)},o.prototype.execute=function(){var e=this.requests,t=this._sortResponses.bind(this);this.requestManager.sendBatch(e,(function(r,o){o=t(o),e.map((function(e,t){return o[t]||{}})).forEach((function(t,r){if(e[r].callback){if(t&&t.error)return e[r].callback(i.ErrorResponse(t));if(!n.isValidResponse(t))return e[r].callback(i.InvalidResponse(t));try{e[r].callback(null,e[r].format?e[r].format(t.result):t.result)}catch(t){e[r].callback(t)}}}))}))},o.prototype._sortResponses=function(e){return(e||[]).sort((function(e,t){return e.id-t.id}))},e.exports=o},9764:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=null,o="object"===("undefined"==typeof globalThis?"undefined":(0,n.default)(globalThis))?globalThis:void 0;if(!o)try{o=Function("return this")()}catch(e){o=self}void 0!==o.ethereum?i=o.ethereum:void 0!==o.web3&&o.web3.currentProvider&&(o.web3.currentProvider.sendAsync&&(o.web3.currentProvider.send=o.web3.currentProvider.sendAsync,delete o.web3.currentProvider.sendAsync),!o.web3.currentProvider.on&&o.web3.currentProvider.connection&&"ipcProviderWrapper"===o.web3.currentProvider.connection.constructor.name&&(o.web3.currentProvider.on=function(e,t){if("function"!=typeof t)throw new Error("The second parameter callback must be a function.");"data"===e?this.connection.on("data",(function(e){var r="";e=e.toString();try{r=JSON.parse(e)}catch(r){return t(new Error("Couldn't parse response data"+e))}r.id||-1===r.method.indexOf("_subscription")||t(null,r)})):this.connection.on(e,t)}),i=o.web3.currentProvider),e.exports=i},2033:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(5058).callbackify,o=r(1314).errors,a=r(8155),s=r(5229),u=r(9764),c=function e(t,r){this.provider=null,this.providers=e.providers,this.setProvider(t,r),this.subscriptions=new Map};c.givenProvider=u,c.providers={WebsocketProvider:r(7651),HttpProvider:r(4565),IpcProvider:r(2683)},c.prototype.setProvider=function(e,t){var r=this;if(e&&"string"==typeof e&&this.providers)if(/^http(s)?:\/\//i.test(e))e=new this.providers.HttpProvider(e);else if(/^ws(s)?:\/\//i.test(e))e=new this.providers.WebsocketProvider(e);else if(e&&"object"===(0,n.default)(t)&&"function"==typeof t.connect)e=new this.providers.IpcProvider(e,t);else if(e)throw new Error("Can't autodetect provider for \""+e+'"');this.provider&&this.provider.connected&&this.clearSubscriptions(),this.provider=e||null,this.provider&&this.provider.on&&("function"==typeof e.request?this.provider.on("message",(function(e){if(e&&"eth_subscription"===e.type&&e.data){var t=e.data;t.subscription&&r.subscriptions.has(t.subscription)&&r.subscriptions.get(t.subscription).callback(null,t.result)}})):this.provider.on("data",(function(e,t){(e=e||t).method&&e.params&&e.params.subscription&&r.subscriptions.has(e.params.subscription)&&r.subscriptions.get(e.params.subscription).callback(null,e.params.result)})),this.provider.on("connect",(function(){r.subscriptions.forEach((function(e){e.subscription.resubscribe()}))})),this.provider.on("error",(function(e){r.subscriptions.forEach((function(t){t.callback(e)}))})),this.provider.on("disconnect",(function(e){r._isCleanCloseEvent(e)&&!r._isIpcCloseError(e)||(r.subscriptions.forEach((function(t){t.callback(o.ConnectionCloseError(e)),r.subscriptions.delete(t.subscription.id)})),r.provider&&r.provider.emit&&r.provider.emit("error",o.ConnectionCloseError(e))),r.provider&&r.provider.emit&&r.provider.emit("end",e)})))},c.prototype.send=function(e,t){if(t=t||function(){},!this.provider)return t(o.InvalidProvider());var r=e.method,n=e.params,s=a.toPayload(r,n),u=this._jsonrpcResultCallback(t,s);if(this.provider.request)i(this.provider.request.bind(this.provider))({method:r,params:n},t);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)}},c.prototype.sendBatch=function(e,t){if(!this.provider)return t(o.InvalidProvider());var r=a.toBatchPayload(e);this.provider[this.provider.sendAsync?"sendAsync":"send"](r,(function(e,r){return e?t(e):Array.isArray(r)?void t(null,r):t(o.InvalidResponse(r))}))},c.prototype.addSubscription=function(e,t){if(!this.provider.on)throw new Error("The provider doesn't support subscriptions: "+this.provider.constructor.name);this.subscriptions.set(e.id,{callback:t,subscription:e})},c.prototype.removeSubscription=function(e,t){if(this.subscriptions.has(e)){var r=this.subscriptions.get(e).subscription.options.type;return this.subscriptions.delete(e),void this.send({method:r+"_unsubscribe",params:[e]},t)}"function"==typeof t&&t(null)},c.prototype.clearSubscriptions=function(e){try{var t=this;return this.subscriptions.size>0&&this.subscriptions.forEach((function(r,n){e&&"syncing"===r.name||t.removeSubscription(n)})),this.provider.reset&&this.provider.reset(),!0}catch(e){throw new Error("Error while clearing subscriptions: ".concat(e))}},c.prototype._isCleanCloseEvent=function(e){return"object"===(0,n.default)(e)&&([1e3].includes(e.code)||!0===e.wasClean)},c.prototype._isIpcCloseError=function(e){return"boolean"==typeof e&&e},c.prototype._jsonrpcResultCallback=function(e,t){return function(r,n){return n&&n.id&&t.id!==n.id?e(new Error("Wrong response id ".concat(n.id," (expected: ").concat(t.id,") in ").concat(JSON.stringify(t)))):r?e(r):n&&n.error?e(o.ErrorResponse(n)):a.isValidResponse(n)?void e(null,n.result):e(o.InvalidResponse(n))}},e.exports={Manager:c,BatchManager:s}},8155:e=>{"use strict";var t={messageId:Math.floor(Math.random()*Number.MAX_SAFE_INTEGER),toPayload:function(e,r){if(!e)throw new Error('JSONRPC method should be specified for params: "'+JSON.stringify(r)+'"!');return t.messageId===Number.MAX_SAFE_INTEGER?t.messageId=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER):t.messageId++,{jsonrpc:"2.0",id:t.messageId,method:e,params:r||[]}},isValidResponse:function(e){return Array.isArray(e)?e.every(t):t(e);function t(e){return!(!e||e.error||"2.0"!==e.jsonrpc||"number"!=typeof e.id&&"string"!=typeof e.id||void 0===e.result)}},toBatchPayload:function(e){return e.map((function(e){return t.toPayload(e.method,e.params)}))}};e.exports=t},4178:(e,t,r)=>{"use strict";var n=r(2929),i=function(e){this.name=e.name,this.type=e.type,this.subscriptions=e.subscriptions||{},this.requestManager=null};i.prototype.setRequestManager=function(e){this.requestManager=e},i.prototype.attachToObject=function(e){var t=this.buildCall(),r=this.name.split(".");r.length>1?(e[r[0]]=e[r[0]]||{},e[r[0]][r[1]]=t):e[r[0]]=t},i.prototype.buildCall=function(){var e=this;return function(){e.subscriptions[arguments[0]]||console.warn("Subscription "+JSON.stringify(arguments[0])+" doesn't exist. Subscribing anyway.");var t=new n({subscription:e.subscriptions[arguments[0]]||{},requestManager:e.requestManager,type:e.type});return t.subscribe.apply(t,arguments)}},e.exports={subscriptions:i,subscription:n}},2929:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1314).errors,o=r(8008),a=r(1314).formatters;function s(e){return e}function u(e){o.call(this),this.id=null,this.callback=s,this.arguments=null,this.lastBlock=null,this.options={subscription:e.subscription,type:e.type,requestManager:e.requestManager}}u.prototype=Object.create(o.prototype),u.prototype.constructor=u,u.prototype._extractCallback=function(e){if("function"==typeof e[e.length-1])return e.pop()},u.prototype._validateArgs=function(e){var t=this.options.subscription;if(t||(t={}),t.params||(t.params=0),e.length!==t.params)throw i.InvalidNumberOfParams(e.length,t.params,t.subscriptionName)},u.prototype._formatInput=function(e){var t=this.options.subscription;return t&&t.inputFormatter?t.inputFormatter.map((function(t,r){return t?t(e[r]):e[r]})):e},u.prototype._formatOutput=function(e){var t=this.options.subscription;return t&&t.outputFormatter&&e?t.outputFormatter(e):e},u.prototype._toPayload=function(e){var t=[];if(this.callback=this._extractCallback(e)||s,this.subscriptionMethod||(this.subscriptionMethod=e.shift(),this.options.subscription.subscriptionName&&(this.subscriptionMethod=this.options.subscription.subscriptionName)),this.arguments||(this.arguments=this._formatInput(e),this._validateArgs(this.arguments),e=[]),t.push(this.subscriptionMethod),t=t.concat(this.arguments),e.length)throw new Error("Only a callback is allowed as parameter on an already instantiated subscription.");return{method:this.options.type+"_subscribe",params:t}},u.prototype.unsubscribe=function(e){this.options.requestManager.removeSubscription(this.id,e),this.id=null,this.lastBlock=null,this.removeAllListeners()},u.prototype.subscribe=function(){var e=this,t=Array.prototype.slice.call(arguments),r=this._toPayload(t);if(!r)return this;if(!this.options.requestManager.provider)return setTimeout((function(){var t=new Error("No provider set.");e.callback(t,null,e),e.emit("error",t)}),0),this;if(!this.options.requestManager.provider.on)return setTimeout((function(){var t=new Error("The current provider doesn't support subscriptions: "+e.options.requestManager.provider.constructor.name);e.callback(t,null,e),e.emit("error",t)}),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(t,r){t?setTimeout((function(){e.callback(t,null,e),e.emit("error",t)}),0):r.forEach((function(t){var r=e._formatOutput(t);e.callback(null,r,e),e.emit("data",r)}))}))}return"object"===(0,n.default)(r.params[1])&&delete r.params[1].fromBlock,this.options.requestManager.send(r,(function(t,i){!t&&i?(e.id=i,e.method=r.params[0],e.options.requestManager.addSubscription(e,(function(t,r){t?(e.callback(t,!1,e),e.emit("error",t)):(Array.isArray(r)||(r=[r]),r.forEach((function(t){var r=e._formatOutput(t);if(e.lastBlock=r&&"object"===(0,n.default)(r)?r.blockNumber:null,"function"==typeof e.options.subscription.subscriptionHandler)return e.options.subscription.subscriptionHandler.call(e,r);e.emit("data",r),e.callback(null,r,e)})))})),e.emit("connected",i)):setTimeout((function(){e.callback(t,!1,e),e.emit("error",t)}),0)})),this},u.prototype.resubscribe=function(){this.options.requestManager.removeSubscription(this.id),this.id=null,this.subscribe(this.callback)},e.exports=u},9907:(e,t,r)=>{"use strict";var n=r(1314).formatters,i=r(3349),o=r(8161);e.exports=function(e){var t=function(t){var r;return t.property?(e[t.property]||(e[t.property]={}),r=e[t.property]):r=e,t.methods&&t.methods.forEach((function(t){t instanceof i||(t=new i(t)),t.attachToObject(r),t.setRequestManager(e._requestManager)})),e};return t.formatters=n,t.utils=o,t.Method=i,t}},606:(e,t,r)=>{"use strict";var n=r(2033),i=r(9907);e.exports={packageInit:function(e,t){if(t=Array.prototype.slice.call(t),!e)throw new Error('You need to instantiate using the "new" keyword.');Object.defineProperty(e,"currentProvider",{get:function(){return e._provider},set:function(t){return e.setProvider(t)},enumerable:!0,configurable:!0}),t[0]&&t[0]._requestManager?e._requestManager=t[0]._requestManager:e._requestManager=new n.Manager(t[0],t[1]),e.givenProvider=n.Manager.givenProvider,e.providers=n.Manager.providers,e._provider=e._requestManager.provider,e.setProvider||(e.setProvider=function(t,r){return e._requestManager.setProvider(t,r),e._provider=e._requestManager.provider,!0}),e.setRequestManager=function(t){e._requestManager=t,e._provider=t.provider},e.BatchRequest=n.BatchManager.bind(null,e._requestManager),e.extend=i(e)},addProviders:function(e){e.givenProvider=n.Manager.givenProvider,e.providers=n.Manager.providers}}},9901:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(9033).Buffer,o=r(8161),a=r(2914).RQ,s=r(2914)._R,u=new a((function(e,t){return!e.match(/^u?int/)||Array.isArray(t)||t&&"object"===(0,n.default)(t)&&"BN"===t.constructor.name?t:t.toString()}));function c(){}var f=function(){};f.prototype.encodeFunctionSignature=function(e){return("function"==typeof e||"object"===(0,n.default)(e)&&e)&&(e=o._jsonInterfaceMethodToString(e)),o.sha3(e).slice(0,10)},f.prototype.encodeEventSignature=function(e){return("function"==typeof e||"object"===(0,n.default)(e)&&e)&&(e=o._jsonInterfaceMethodToString(e)),o.sha3(e)},f.prototype.encodeParameter=function(e,t){return this.encodeParameters([e],[t])},f.prototype.encodeParameters=function(e,t){var r=this;return e=r.mapTypes(e),t=t.map((function(t,i){var o=e[i];return"object"===(0,n.default)(o)&&o.type&&(o=o.type),t=r.formatParam(o,t),"string"==typeof o&&o.includes("tuple")&&function e(t,n){if("array"===t.name){if(!t.type.match(/\[(\d+)\]/))return n.map((function(r){return e(u._getCoder(s.from(t.type.replace("[]",""))),r)}));var i=parseInt(t.type.match(/\[(\d+)\]/)[1]);if(n.length!==i)throw new Error("Array length does not matches with the given input");return n.map((function(r){return e(u._getCoder(s.from(t.type.replace(/\[\d+\]/,""))),r)}))}t.coders.forEach((function(t,i){"tuple"===t.name?e(t,n[i]):n[i]=r.formatParam(t.name,n[i])}))}(u._getCoder(s.from(o)),t),t})),u.encode(e,t)},f.prototype.mapTypes=function(e){var t=this,r=[];return e.forEach((function(e){if("object"===(0,n.default)(e)&&"function"===e.type&&(e=Object.assign({},e,{type:"bytes24"})),t.isSimplifiedStructFormat(e)){var i=Object.keys(e)[0];r.push(Object.assign(t.mapStructNameAndType(i),{components:t.mapStructToCoderFormat(e[i])}))}else r.push(e)})),r},f.prototype.isSimplifiedStructFormat=function(e){return"object"===(0,n.default)(e)&&void 0===e.components&&void 0===e.name},f.prototype.mapStructNameAndType=function(e){var t="tuple";return e.indexOf("[]")>-1&&(t="tuple[]",e=e.slice(0,-2)),{type:t,name:e}},f.prototype.mapStructToCoderFormat=function(e){var t=this,r=[];return Object.keys(e).forEach((function(i){"object"!==(0,n.default)(e[i])?r.push({name:i,type:e[i]}):r.push(Object.assign(t.mapStructNameAndType(i),{components:t.mapStructToCoderFormat(e[i])}))})),r},f.prototype.formatParam=function(e,t){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(t)||o.isBigNumber(t))return t.toString(10);if(e.match(a)||e.match(u))return t.map((function(t){return r.formatParam(e.replace("[]",""),t)}));var c=e.match(s);if(c){var f=parseInt(c[2]||"256");f/80&&(!t||"0x"===t||"0X"===t))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(e),"0x"+t.replace(/0x/i,""),r),o=new c;return o.__length__=0,e.forEach((function(e,t){var r=i[o.__length__],a="object"===(0,n.default)(e)&&e.type&&"string"===e.type;r="0x"!==r||a||"string"==typeof e&&"string"===e?r:null,o[t]=r,("function"==typeof e||e&&"object"===(0,n.default)(e))&&e.name&&(o[e.name]=r),o.__length__++})),o},f.prototype.decodeLog=function(e,t,r){var n=this;r=Array.isArray(r)?r:[r],t=t||"";var i=[],o=[],a=0;e.forEach((function(e,t){e.indexed?(o[t]=["bool","int","uint","address","fixed","ufixed"].find((function(t){return-1!==e.type.indexOf(t)}))?n.decodeParameter(e.type,r[a]):r[a],a++):i[t]=e}));var s=t,u=s?this.decodeParametersWith(i,s,!0):[],f=new c;return f.__length__=0,e.forEach((function(e,t){f[t]="string"===e.type?"":null,void 0!==u[t]&&(f[t]=u[t]),void 0!==o[t]&&(f[t]=o[t]),e.name&&(f[e.name]=f[t]),f.__length__++})),f};var d=new f;e.exports=d},9819:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(3106)),a=i(r(3355)),s=i(r(775)),u=i(r(4519));function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var f,l="Signer Error: ",h=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(c);try{for(h.s();!(f=h.n()).done;){var p=f.value;l+="".concat(l," ").concat(p,".")}}catch(e){h.e(e)}finally{h.f()}throw new Error(l)}var b="0x"+u.serialize().toString("hex"),y=v.keccak256(b),m={messageHash:"0x"+n.from(u.getMessageToSign(!0)).toString("hex"),v:"0x"+u.v.toString("hex"),r:"0x"+u.r.toString("hex"),s:"0x"+u.s.toString("hex"),rawTransaction:b,transactionHash:y};return r(null,m),m}catch(e){return r(e),Promise.reject(e)}}return e.type=function(e){var t,r=void 0!==e.maxFeePerGas||void 0!==e.maxPriorityFeePerGas;if(void 0!==e.type?t=v.toHex(e.type):void 0===e.type&&r&&(t="0x2"),void 0!==e.gasPrice&&("0x2"===t||r))throw Error("eip-1559 transactions don't support gasPrice");if(("0x1"===t||"0x0"===t)&&r)throw Error("pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas");return r||e.common&&e.common.hardfork&&e.common.hardfork.toLowerCase()===k.London||e.hardfork&&e.hardfork.toLowerCase()===k.London?t="0x2":(e.accessList||e.common&&e.common.hardfork&&e.common.hardfork.toLowerCase()===k.Berlin||e.hardfork&&e.hardfork.toLowerCase()===k.Berlin)&&(t="0x1"),t}(e),void 0!==e.nonce&&void 0!==e.chainId&&(void 0!==e.gasPrice||void 0!==e.maxFeePerGas&&void 0!==e.maxPriorityFeePerGas)&&s?Promise.resolve(c(e)):Promise.all([S(e.common)||S(e.common.customChain.chainId)?S(e.chainId)?i._ethereumCall.getChainId():e.chainId:void 0,S(e.nonce)?i._ethereumCall.getTransactionCount(i.privateKeyToAccount(t).address):e.nonce,S(s)?i._ethereumCall.getNetworkId():1,P(i,e)]).then((function(t){var r=(0,u.default)(t,4),n=r[0],i=r[1],o=r[2],a=r[3];if(S(n)&&S(e.common)&&S(e.common.customChain.chainId)||S(i)||S(o)||S(a))throw new Error('One of the values "chainId", "networkId", "gasPrice", or "nonce" couldn\'t be fetched: '+JSON.stringify(t));return c(f(f(f({},e),S(e.common)||S(e.common.customChain.chainId)?{chainId:n}:{}),{},{nonce:i,networkId:o},a))}))},x.prototype.recoverTransaction=function(e){var t=n.from(e.slice(2),"hex"),r=w.fromSerializedData(t);return v.toChecksumAddress(r.getSenderAddress().toString("hex"))},x.prototype.hashMessage=function(e){var t=v.isHexStrict(e)?e:v.utf8ToHex(e),r=v.hexToBytes(t),i=n.from(r),o="Ethereum Signed Message:\n"+r.length,a=n.from(o),s=n.concat([a,i]);return _.bufferToHex(_.keccak256(s))},x.prototype.sign=function(e,t){if(t.startsWith("0x")||(t="0x"+t),66!==t.length)throw new Error("Private key must be 32 bytes long");var r=this.hashMessage(e),n=p.sign(r,t),i=p.decodeSignature(n);return{message:e,messageHash:r,v:i[0],r:i[1],s:i[2],signature:n}},x.prototype.recover=function(e,t,r){var n=[].slice.apply(arguments);return e&&"object"===(0,a.default)(e)?this.recover(e.messageHash,p.encodeSignature([e.v,e.r,e.s]),!0):(r||(e=this.hashMessage(e)),n.length>=4?(r="boolean"==typeof(r=n.slice(-1)[0])&&!!r,this.recover(e,p.encodeSignature(n.slice(1,4)),r)):p.recover(e,t))},x.prototype.decrypt=function(e,t,r){if("string"!=typeof t)throw new Error("No password given.");var i,s,u=e&&"object"===(0,a.default)(e)?e:JSON.parse(r?e.toLowerCase():e);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(t),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=b.pbkdf2Sync(n.from(t),n.from(s.salt,"hex"),s.c,s.dklen,"sha256")}var c=n.from(u.crypto.ciphertext,"hex");if(v.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(c)))).replace("0x","")!==u.crypto.mac)throw new Error("Key derivation failed - possibly wrong password");var f=b.createDecipheriv(u.crypto.cipher,i.slice(0,16),n.from(u.crypto.cipherparams.iv,"hex")),d="0x"+n.from([].concat((0,o.default)(f.update(c)),(0,o.default)(f.final()))).toString("hex");return this.privateKeyToAccount(d,!0)},x.prototype.encrypt=function(e,t,r){var i,a=this.privateKeyToAccount(e,!0),s=(r=r||{}).salt||b.randomBytes(32),u=r.iv||b.randomBytes(16),c=r.kdf||"scrypt",f={dklen:r.dklen||32,salt:s.toString("hex")};if("pbkdf2"===c)f.c=r.c||262144,f.prf="hmac-sha256",i=b.pbkdf2Sync(n.from(t),n.from(f.salt,"hex"),f.c,f.dklen,"sha256");else{if("scrypt"!==c)throw new Error("Unsupported kdf");f.n=r.n||8192,f.r=r.r||8,f.p=r.p||1,i=y.syncScrypt(n.from(t),n.from(f.salt,"hex"),f.n,f.r,f.p,f.dklen)}var d=b.createCipheriv(r.cipher||"aes-128-ctr",i.slice(0,16),u);if(!d)throw new Error("Unsupported cipher");var l=n.from([].concat((0,o.default)(d.update(n.from(a.privateKey.replace("0x",""),"hex"))),(0,o.default)(d.final()))),h=v.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(l)))).replace("0x","");return{version:3,id:m.v4({random:r.uuid||b.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:c,kdfparams:f,mac:h.toString("hex")}}},O.prototype._findSafeIndex=function(e){return e=e||0,this.hasOwnProperty(e)?this._findSafeIndex(e+1):e},O.prototype._currentIndexes=function(){return Object.keys(this).map((function(e){return parseInt(e)})).filter((function(e){return e<9e20}))},O.prototype.create=function(e,t){for(var r=0;r{"use strict";var n=r(8847),i=n(r(3106)),o=n(r(775)),a=n(r(3355));function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw o}}}}(e.inputs);try{var c=function(){var e=a.value;if(!e.indexed)return"continue";var t=r[e.name];if(!t)return o.push(null),"continue";Array.isArray(t)?o.push(t.map((function(t){return m.encodeParameter(e.type,t)}))):o.push(m.encodeParameter(e.type,t))};for(u.s();!(a=u.n()).done;)c()}catch(e){u.e(e)}finally{u.f()}}return o.length&&(n.topics=o),this.options.address&&(n.address=this.options.address.toLowerCase()),n},v.prototype._decodeEventABI=function(e){var t=this;e.data=e.data||"",e.topics=e.topics||[];var r=p.outputLogFormatter(e);if("ALLEVENTS"===t.name&&(t=t.jsonInterface.find((function(t){return t.signature===e.topics[0]}))||{anonymous:!0}),t.inputs=t.inputs||[],!t.anonymous){var n=0;t.inputs.forEach((function(e){return e.indexed?n++:null})),n>0&&e.topics.length!==n+1&&(t={anonymous:!0,inputs:[]})}var i=t.anonymous?e.topics:e.topics.slice(1);return r.returnValues=m.decodeLog(t.inputs,e.data,i),delete r.returnValues.__length__,r.event=t.name,r.signature=t.anonymous||!e.topics[0]?null:e.topics[0],r.raw={data:r.data,topics:r.topics},delete r.data,delete r.topics,r},v.prototype._encodeMethodABI=function(){var e=this._method.signature,t=this.arguments||[],r=!1,n=this._parent.options.jsonInterface.filter((function(t){return"constructor"===e&&t.type===e||(t.signature===e||t.signature===e.replace("0x","")||t.name===e)&&"function"===t.type})).map((function(e){var n=Array.isArray(e.inputs)?e.inputs.length:0;if(n!==t.length)throw new Error("The number of arguments is not matching the methods required number. You need to pass "+n+" arguments.");return"function"===e.type&&(r=e.signature),Array.isArray(e.inputs)?e.inputs:[]})).map((function(e){return m.encodeParameters(e,t).replace("0x","")}))[0]||"";if("constructor"===e){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},v.prototype._decodeMethodReturn=function(e,t){if(!t)return null;t=t.length>=2?t.slice(2):t;var r=m.decodeParameters(e,t);return 1===r.__length__?r[0]:(delete r.__length__,r)},v.prototype.deploy=function(e,t){if((e=e||{}).arguments=e.arguments||[],!(e=this._getOrSetDefaultOptions(e)).data){if("function"==typeof t)return t(b.ContractMissingDeployDataError());throw b.ContractMissingDeployDataError()}var r=this.options.jsonInterface.find((function(e){return"constructor"===e.type}))||{};return r.signature="constructor",this._createTxObject.apply({method:r,parent:this,deployData:e.data,_ethAccounts:this.constructor._ethAccounts},e.arguments)},v.prototype._generateEventOptions=function(){var e=Array.prototype.slice.call(arguments),t=this._getCallback(e),r="object"===(!!e[e.length-1]&&(0,a.default)(e[e.length-1]))?e.pop():{},n="string"==typeof e[0]?e[0]:"allevents",i="allevents"===n.toLowerCase()?{name:"ALLEVENTS",jsonInterface:this.options.jsonInterface}:this.options.jsonInterface.find((function(e){return"event"===e.type&&(e.name===n||e.signature==="0x"+n.replace("0x",""))}));if(!i)throw b.ContractEventDoesNotExistError(n);if(!l.isAddress(this.options.address))throw b.ContractNoAddressDefinedError();return{params:this._encodeEventABI(i,r),event:i,filter:r.filter||{},callback:t}},v.prototype.clone=function(){return new this.constructor(this.options.jsonInterface,this.options.address,this.options)},v.prototype.once=function(e,t,r){var n=Array.prototype.slice.call(arguments);if(!(r=this._getCallback(n)))throw b.ContractOnceRequiresCallbackError();t&&delete t.fromBlock,this._on(e,t,(function(e,t,n){n.unsubscribe(),"function"==typeof r&&r(e,t,n)}))},v.prototype._on=function(){var e=this._generateEventOptions.apply(this,arguments);e.params&&e.params.toBlock&&(delete e.params.toBlock,console.warn("Invalid option: toBlock. Use getPastEvents for specific range.")),this._checkListener("newListener",e.event.name),this._checkListener("removeListener",e.event.name);var t=new h({subscription:{params:1,inputFormatter:[p.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(e.event),subscriptionHandler:function(e){e.removed?this.emit("changed",e):this.emit("data",e),"function"==typeof this.callback&&this.callback(null,e,this)}},type:"eth",requestManager:this._requestManager});return t.subscribe("logs",e.params,e.callback||function(){}),t};var g=function(e,t){if(e.event&&"ALLEVENTS"===e.event.name&&Array.isArray(t)){var r=e.filter||{},n=Object.keys(r);return n.length>0?t.filter((function(e){return"string"==typeof e||n.every((function(t){return Array.isArray(r[t])?r[t].some((function(r){return String(e.returnValues[t]).toUpperCase()===String(r).toUpperCase()})):String(e.returnValues[t]).toUpperCase()===String(r[t]).toUpperCase()}))})):t}return t};v.prototype.getPastEvents=function(){var e=this._generateEventOptions.apply(this,arguments),t=new d({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[p.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(e.event)});t.setRequestManager(this._requestManager);var r=t.buildCall();return t=null,r(e.params,(function(t,r){"function"==typeof e.callback&&e.callback(t,g(e,r))})).then(g.bind(this,e))},v.prototype._createTxObject=function(){var e=Array.prototype.slice.call(arguments),t={};if("function"===this.method.type&&(t.call=this.parent._executeMethod.bind(t,"call"),t.call.request=this.parent._executeMethod.bind(t,"call",!0)),t.send=this.parent._executeMethod.bind(t,"send"),t.send.request=this.parent._executeMethod.bind(t,"send",!0),t.encodeABI=this.parent._encodeMethodABI.bind(t),t.estimateGas=this.parent._executeMethod.bind(t,"estimate"),t.createAccessList=this.parent._executeMethod.bind(t,"createAccessList"),e&&this.method.inputs&&e.length!==this.method.inputs.length){if(this.nextMethod)return this.nextMethod.apply(null,e);throw b.InvalidNumberOfParams(e.length,this.method.inputs.length,this.method.name)}return t.arguments=e||[],t._method=this.method,t._parent=this.parent,t._ethAccounts=this.parent.constructor._ethAccounts||this._ethAccounts,this.deployData&&(t._deployData=this.deployData),t},v.prototype._processExecuteArguments=function(e,t){var r={};if(r.type=e.shift(),r.callback=this._parent._getCallback(e),"call"!==r.type||!0===e[e.length-1]||"string"!=typeof e[e.length-1]&&!isFinite(e[e.length-1])||(r.defaultBlock=e.pop()),r.options="object"===(!!e[e.length-1]&&(0,a.default)(e[e.length-1]))?e.pop():{},r.generateRequest=!0===e[e.length-1]&&e.pop(),r.options=this._parent._getOrSetDefaultOptions(r.options),r.options.data=this.encodeABI(),!this._deployData&&!l.isAddress(this._parent.options.address))throw b.ContractNoAddressDefinedError();return this._deployData||(r.options.to=this._parent.options.address),r.options.data?r:l._fireError(new Error("Couldn't find a matching contract method, or the number of parameters is wrong."),t.eventEmitter,t.reject,r.callback)},v.prototype._executeMethod=function(){var e=this,t=this._parent._processExecuteArguments.call(this,Array.prototype.slice.call(arguments),r),r=y("send"!==t.type),n=e.constructor._ethAccounts||e._ethAccounts;if(t.generateRequest){var i={params:[p.inputCallFormatter.call(this._parent,t.options)],callback:t.callback};return"call"===t.type?(i.params.push(p.inputDefaultBlockNumberFormatter.call(this._parent,t.defaultBlock)),i.method="eth_call",i.format=this._parent._decodeMethodReturn.bind(null,this._method.outputs)):i.method="eth_sendTransaction",i}switch(t.type){case"createAccessList":return l.isAddress(t.options.from)?new d({name:"createAccessList",call:"eth_createAccessList",params:2,inputFormatter:[p.inputTransactionFormatter,p.inputDefaultBlockNumberFormatter],requestManager:e._parent._requestManager,accounts:n,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock}).createFunction()(t.options,t.callback):l._fireError(b.ContractNoFromAddressDefinedError(),r.eventEmitter,r.reject,t.callback);case"estimate":return new d({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[p.inputCallFormatter],outputFormatter:l.hexToNumber,requestManager:e._parent._requestManager,accounts:n,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock}).createFunction()(t.options,t.callback);case"call":return new d({name:"call",call:"eth_call",params:2,inputFormatter:[p.inputCallFormatter,p.inputDefaultBlockNumberFormatter],outputFormatter:function(t){return e._parent._decodeMethodReturn(e._method.outputs,t)},requestManager:e._parent._requestManager,accounts:n,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock,handleRevert:e._parent.handleRevert,abiCoder:m}).createFunction()(t.options,t.defaultBlock,t.callback);case"send":if(!l.isAddress(t.options.from))return l._fireError(b.ContractNoFromAddressDefinedError(),r.eventEmitter,r.reject,t.callback);if("boolean"==typeof this._method.payable&&!this._method.payable&&t.options.value&&t.options.value>0)return l._fireError(new Error("Can not send value to non-payable contract method or constructor"),r.eventEmitter,r.reject,t.callback);var o={receiptFormatter:function(t){if(Array.isArray(t.logs)){var r=t.logs.map((function(t){return e._parent._decodeEventABI.call({name:"ALLEVENTS",jsonInterface:e._parent.options.jsonInterface},t)}));t.events={};var n=0;r.forEach((function(e){e.event?t.events[e.event]?Array.isArray(t.events[e.event])?t.events[e.event].push(e):t.events[e.event]=[t.events[e.event],e]:t.events[e.event]=e:(t.events[n]=e,n++)})),delete t.logs}return t},contractDeployFormatter:function(t){var r=e._parent.clone();return r.options.address=t.contractAddress,r}};return new d({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[p.inputTransactionFormatter],requestManager:e._parent._requestManager,accounts:e.constructor._ethAccounts||e._ethAccounts,defaultAccount:e._parent.defaultAccount,defaultBlock:e._parent.defaultBlock,transactionBlockTimeout:e._parent.transactionBlockTimeout,transactionConfirmationBlocks:e._parent.transactionConfirmationBlocks,transactionPollingTimeout:e._parent.transactionPollingTimeout,transactionPollingInterval:e._parent.transactionPollingInterval,defaultCommon:e._parent.defaultCommon,defaultChain:e._parent.defaultChain,defaultHardfork:e._parent.defaultHardfork,handleRevert:e._parent.handleRevert,extraFormatters:o,abiCoder:m}).createFunction()(t.options,t.callback);default:throw new Error('Method "'+t.type+'" not implemented.')}},e.exports=v},6764:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(2247)),o=n(r(5698)),a=r(5160),s=r(1314).formatters,u=r(8161),c=r(1841),f=r(2867),d=r(2689);function l(e){this.eth=e;var t=null;this._detectedAddress=null,this._lastSyncCheck=null,Object.defineProperty(this,"registry",{get:function(){return new c(this)},enumerable:!0}),Object.defineProperty(this,"resolverMethodHandler",{get:function(){return new f(this.registry)},enumerable:!0}),Object.defineProperty(this,"registryAddress",{get:function(){return t},set:function(e){t=null!==e?s.inputAddressFormatter(e):e},enumerable:!0})}l.prototype.supportsInterface=function(e,t,r){return this.getResolver(e).then((function(e){return u.isHexStrict(t)||(t=u.sha3(t).slice(0,10)),e.methods.supportsInterface(t).call(r)})).catch((function(e){if("function"!=typeof r)throw e;r(e,null)}))},l.prototype.resolver=function(e,t){return this.registry.resolver(e,t)},l.prototype.getResolver=function(e,t){return this.registry.getResolver(e,t)},l.prototype.setResolver=function(e,t,r,n){return this.registry.setResolver(e,t,r,n)},l.prototype.setRecord=function(e,t,r,n,i,o){return this.registry.setRecord(e,t,r,n,i,o)},l.prototype.setSubnodeRecord=function(e,t,r,n,i,o,a){return this.registry.setSubnodeRecord(e,t,r,n,i,o,a)},l.prototype.setApprovalForAll=function(e,t,r,n){return this.registry.setApprovalForAll(e,t,r,n)},l.prototype.isApprovedForAll=function(e,t,r){return this.registry.isApprovedForAll(e,t,r)},l.prototype.recordExists=function(e,t){return this.registry.recordExists(e,t)},l.prototype.setSubnodeOwner=function(e,t,r,n,i){return this.registry.setSubnodeOwner(e,t,r,n,i)},l.prototype.getTTL=function(e,t){return this.registry.getTTL(e,t)},l.prototype.setTTL=function(e,t,r,n){return this.registry.setTTL(e,t,r,n)},l.prototype.getOwner=function(e,t){return this.registry.getOwner(e,t)},l.prototype.setOwner=function(e,t,r,n){return this.registry.setOwner(e,t,r,n)},l.prototype.getAddress=function(e,t){return this.resolverMethodHandler.method(e,"addr",[]).call(t)},l.prototype.setAddress=function(e,t,r,n){return this.resolverMethodHandler.method(e,"setAddr",[t]).send(r,n)},l.prototype.getPubkey=function(e,t){return this.resolverMethodHandler.method(e,"pubkey",[],null,t).call(t)},l.prototype.setPubkey=function(e,t,r,n,i){return this.resolverMethodHandler.method(e,"setPubkey",[t,r]).send(n,i)},l.prototype.getContent=function(e,t){return this.resolverMethodHandler.method(e,"content",[]).call(t)},l.prototype.setContent=function(e,t,r,n){return this.resolverMethodHandler.method(e,"setContent",[t]).send(r,n)},l.prototype.getContenthash=function(e,t){return this.resolverMethodHandler.method(e,"contenthash",[],d.decode).call(t)},l.prototype.setContenthash=function(e,t,r,n){var i;try{i=d.encode(t)}catch(e){var o=new Error("Could not encode "+t+". See docs for supported hash protocols.");if("function"==typeof n)return void n(o,null);throw o}return this.resolverMethodHandler.method(e,"setContenthash",[i]).send(r,n)},l.prototype.getMultihash=function(e,t){return this.resolverMethodHandler.method(e,"multihash",[]).call(t)},l.prototype.setMultihash=function(e,t,r,n){return this.resolverMethodHandler.method(e,"multihash",[t]).send(r,n)},l.prototype.checkNetwork=(0,o.default)(i.default.mark((function e(){var t,r,n,o,s;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=new Date/1e3,this._lastSyncCheck&&!(t-this._lastSyncCheck>3600)){e.next=9;break}return e.next=4,this.eth.getBlock("latest");case 4:if(r=e.sent,!((n=t-r.timestamp)>3600)){e.next=8;break}throw new Error("Network not synced; last block was "+n+" seconds ago");case 8:this._lastSyncCheck=t;case 9:if(!this.registryAddress){e.next=11;break}return e.abrupt("return",this.registryAddress);case 11:if(this._detectedAddress){e.next=20;break}return e.next=14,this.eth.net.getNetworkType();case 14:if(o=e.sent,void 0!==(s=a.addresses[o])){e.next=18;break}throw new Error("ENS is not supported on network "+o);case 18:return this._detectedAddress=s,e.abrupt("return",this._detectedAddress);case 20:return e.abrupt("return",this._detectedAddress);case 21:case"end":return e.stop()}}),e,this)}))),e.exports=l},5160:e=>{"use strict";e.exports={addresses:{main:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",ropsten:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",rinkeby:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",goerli:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},interfaceIds:{addr:"0x3b3b57de",setAddr:"0x3b3b57de",pubkey:"0xc8690233",setPubkey:"0xc8690233",contenthash:"0xbc1c58d1",setContenthash:"0xbc1c58d1",content:"0xd8389dc5",setContent:"0xd8389dc5"}}},1841:(e,t,r)=>{"use strict";var n=r(8164),i=r(1006),o=r(282),a=r(1314).formatters,s=r(8161),u=r(3205),c=r(8384);function f(e){var t=this;this.ens=e,this.contract=e.checkNetwork().then((function(e){var r=new n(u,e);return r.setProvider(t.ens.eth.currentProvider),r}))}f.prototype.owner=function(e,t){return console.warn('Deprecated: Please use the "getOwner" method instead of "owner".'),this.getOwner(e,t)},f.prototype.getOwner=function(e,t){var r=new o(!0);return this.contract.then((function(t){return t.methods.owner(i.hash(e)).call()})).then((function(e){"function"!=typeof t?r.resolve(e):t(e,e)})).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},f.prototype.setOwner=function(e,t,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setOwner(i.hash(e),a.inputAddressFormatter(t)).send(r)})).then((function(e){"function"!=typeof n?s.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?s.reject(e):n(e,null)})),s.eventEmitter},f.prototype.getTTL=function(e,t){var r=new o(!0);return this.contract.then((function(t){return t.methods.ttl(i.hash(e)).call()})).then((function(e){"function"!=typeof t?r.resolve(e):t(e,e)})).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},f.prototype.setTTL=function(e,t,r,n){var a=new o(!0);return this.contract.then((function(n){return n.methods.setTTL(i.hash(e),t).send(r)})).then((function(e){"function"!=typeof n?a.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?a.reject(e):n(e,null)})),a.eventEmitter},f.prototype.setSubnodeOwner=function(e,t,r,n,u){var c=new o(!0);return s.isHexStrict(t)||(t=s.sha3(t)),this.contract.then((function(o){return o.methods.setSubnodeOwner(i.hash(e),t,a.inputAddressFormatter(r)).send(n)})).then((function(e){"function"!=typeof u?c.resolve(e):u(e,e)})).catch((function(e){"function"!=typeof u?c.reject(e):u(e,null)})),c.eventEmitter},f.prototype.setRecord=function(e,t,r,n,s,u){var c=new o(!0);return this.contract.then((function(o){return o.methods.setRecord(i.hash(e),a.inputAddressFormatter(t),a.inputAddressFormatter(r),n).send(s)})).then((function(e){"function"!=typeof u?c.resolve(e):u(e,e)})).catch((function(e){"function"!=typeof u?c.reject(e):u(e,null)})),c.eventEmitter},f.prototype.setSubnodeRecord=function(e,t,r,n,u,c,f){var d=new o(!0);return s.isHexStrict(t)||(t=s.sha3(t)),this.contract.then((function(o){return o.methods.setSubnodeRecord(i.hash(e),t,a.inputAddressFormatter(r),a.inputAddressFormatter(n),u).send(c)})).then((function(e){"function"!=typeof f?d.resolve(e):f(e,e)})).catch((function(e){"function"!=typeof f?d.reject(e):f(e,null)})),d.eventEmitter},f.prototype.setApprovalForAll=function(e,t,r,n){var i=new o(!0);return this.contract.then((function(n){return n.methods.setApprovalForAll(a.inputAddressFormatter(e),t).send(r)})).then((function(e){"function"!=typeof n?i.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?i.reject(e):n(e,null)})),i.eventEmitter},f.prototype.isApprovedForAll=function(e,t,r){var n=new o(!0);return this.contract.then((function(r){return r.methods.isApprovedForAll(a.inputAddressFormatter(e),a.inputAddressFormatter(t)).call()})).then((function(e){"function"!=typeof r?n.resolve(e):r(e,e)})).catch((function(e){"function"!=typeof r?n.reject(e):r(e,null)})),n.eventEmitter},f.prototype.recordExists=function(e,t){var r=new o(!0);return this.contract.then((function(t){return t.methods.recordExists(i.hash(e)).call()})).then((function(e){"function"!=typeof t?r.resolve(e):t(e,e)})).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},f.prototype.resolver=function(e,t){return console.warn('Deprecated: Please use the "getResolver" method instead of "resolver".'),this.getResolver(e,t)},f.prototype.getResolver=function(e,t){var r=this;return this.contract.then((function(t){return t.methods.resolver(i.hash(e)).call()})).then((function(e){var i=new n(c,e);if(i.setProvider(r.ens.eth.currentProvider),"function"!=typeof t)return i;t(i,i)})).catch((function(e){if("function"!=typeof t)throw e;t(e,null)}))},f.prototype.setResolver=function(e,t,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setResolver(i.hash(e),a.inputAddressFormatter(t)).send(r)})).then((function(e){"function"!=typeof n?s.resolve(e):n(e,e)})).catch((function(e){"function"!=typeof n?s.reject(e):n(e,null)})),s.eventEmitter},e.exports=f},715:(e,t,r)=>{"use strict";var n=r(6764);e.exports=n},2867:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(2247)),o=n(r(5698)),a=r(282),s=r(1006),u=r(1314).errors,c=r(5160).interfaceIds;function f(e){this.registry=e}f.prototype.method=function(e,t,r,n,i){return{call:this.call.bind({ensName:e,methodName:t,methodArguments:r,callback:i,parent:this,outputFormatter:n}),send:this.send.bind({ensName:e,methodName:t,methodArguments:r,callback:i,parent:this})}},f.prototype.call=function(e){var t=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,t.parent.checkInterfaceSupport(a,t.methodName);case 2:t.parent.handleCall(r,a.methods[t.methodName],n,s,e);case 3:case"end":return i.stop()}}),o)})));return function(e){return a.apply(this,arguments)}}()).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},f.prototype.send=function(e,t){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,e,t);case 3:case"end":return i.stop()}}),o)})));return function(e){return a.apply(this,arguments)}}()).catch((function(e){"function"!=typeof t?n.reject(e):t(e,null)})),n.eventEmitter},f.prototype.handleCall=function(e,t,r,n,i){return t.apply(this,r).call().then((function(t){n&&(t=n(t)),"function"!=typeof i?e.resolve(t):i(t,t)})).catch((function(t){"function"!=typeof i?e.reject(t):i(t,null)})),e},f.prototype.handleSend=function(e,t,r,n,i){return t.apply(this,r).send(n).on("sending",(function(){e.eventEmitter.emit("sending")})).on("sent",(function(){e.eventEmitter.emit("sent")})).on("transactionHash",(function(t){e.eventEmitter.emit("transactionHash",t)})).on("confirmation",(function(t,r){e.eventEmitter.emit("confirmation",t,r)})).on("receipt",(function(t){e.eventEmitter.emit("receipt",t),e.resolve(t),"function"==typeof i&&i(t,t)})).on("error",(function(t){e.eventEmitter.emit("error",t),"function"!=typeof i?e.reject(t):i(t,null)})),e},f.prototype.prepareArguments=function(e,t){var r=s.hash(e);return t.length>0?(t.unshift(r),t):[r]},f.prototype.checkInterfaceSupport=function(){var e=(0,o.default)(i.default.mark((function e(t,r){var n;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c[r]){e.next=2;break}return e.abrupt("return");case 2:return n=!1,e.prev=3,e.next=6,t.methods.supportsInterface(c[r]).call();case 6:n=e.sent,e.next=12;break;case 9:e.prev=9,e.t0=e.catch(3),console.warn('Could not verify interface of resolver contract at "'+t.options.address+'". ');case 12:if(n){e.next=14;break}throw u.ResolverMethodMissingError(t.options.address,r);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,r){return e.apply(this,arguments)}}(),e.exports=f},2689:(e,t,r)=>{"use strict";var n=r(4308);e.exports={decode:function(e){var t=null,r=null,i=null;if(e&&e.error)return{protocolType:null,decoded:e.error};if(e)try{t=n.decode(e);var o=n.getCodec(e);"ipfs-ns"===o?r="ipfs":"swarm-ns"===o?r="bzz":"onion"===o?r="onion":"onion3"===o?r="onion3":t=e}catch(e){i=e.message}return{protocolType:r,decoded:t,error:i}},encode:function(e){var t,r,i=!1;if(e){var o=e.match(/^(ipfs|bzz|onion|onion3):\/\/(.*)/)||e.match(/\/(ipfs)\/(.*)/);o&&(r=o[1],t=o[2]);try{if("ipfs"===r)t.length>=4&&(i="0x"+n.fromIpfs(t));else if("bzz"===r)t.length>=4&&(i="0x"+n.fromSwarm(t));else if("onion"===r)16===t.length&&(i="0x"+n.encode("onion",t));else{if("onion3"!==r)throw new Error("Could not encode content hash: unsupported content type");56===t.length&&(i="0x"+n.encode("onion3",t))}}catch(e){throw e}}return i}}},3205:e=>{"use strict";e.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"}]},8384:e=>{"use strict";e.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"}]},6:(e,t,r)=>{"use strict";var n=r(8847),i=n(r(9721)),o=n(r(8985)),a=r(8161),s=r(1734),u=function(e){var t="A".charCodeAt(0),r="Z".charCodeAt(0);return(e=(e=e.toUpperCase()).slice(4)+e.slice(0,4)).split("").map((function(e){var n=e.charCodeAt(0);return n>=t&&n<=r?n-t+10:e})).join("")},c=function(e){for(var t,r=e;r.length>2;)t=r.slice(0,9),r=parseInt(t,10)%97+r.slice(t.length);return parseInt(r,10)%97},f=function(){function e(t){(0,i.default)(this,e),this._iban=t}return(0,o.default)(e,[{key:"isValid",value:function(){return/^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30,31})$/.test(this._iban)&&1===c(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.slice(2,4)}},{key:"institution",value:function(){return this.isIndirect()?this._iban.slice(7,11):""}},{key:"client",value:function(){return this.isIndirect()?this._iban.slice(11):""}},{key:"toAddress",value:function(){if(this.isDirect()){var e=this._iban.slice(4),t=new s(e,36);return a.toChecksumAddress(t.toString(16,20))}return""}},{key:"toString",value:function(){return this._iban}}],[{key:"toAddress",value:function(t){if(!(t=new e(t)).isDirect())throw new Error("IBAN is indirect and can't be converted");return t.toAddress()}},{key:"toIban",value:function(t){return e.fromAddress(t).toString()}},{key:"fromAddress",value:function(t){if(!a.isAddress(t))throw new Error("Provided address is not a valid address: "+t);t=t.replace("0x","").replace("0X","");var r=function(e,t){for(var r=e;r.length<30;)r="0"+r;return r}(new s(t,16).toString(36));return e.fromBban(r.toUpperCase())}},{key:"fromBban",value:function(t){return new e("XE"+("0"+(98-c(u("XE00"+t)))).slice(-2)+t)}},{key:"createIndirect",value:function(t){return e.fromBban("ETH"+t.institution+t.identifier)}},{key:"isValid",value:function(t){return new e(t).isValid()}}]),e}();e.exports=f},6306:(e,t,r)=>{"use strict";var n=r(606),i=r(3349),o=r(8161),a=r(473),s=r(1314).formatters,u=function(){var e=this;n.packageInit(this,arguments),this.net=new a(this);var t=null,r="latest";Object.defineProperty(this,"defaultAccount",{get:function(){return t},set:function(e){return e&&(t=o.toChecksumAddress(s.inputAddressFormatter(e))),u.forEach((function(e){e.defaultAccount=t})),e},enumerable:!0}),Object.defineProperty(this,"defaultBlock",{get:function(){return r},set:function(e){return r=e,u.forEach((function(e){e.defaultBlock=r})),e},enumerable:!0});var u=[new i({name:"getAccounts",call:"personal_listAccounts",params:0,outputFormatter:o.toChecksumAddress}),new i({name:"newAccount",call:"personal_newAccount",params:1,inputFormatter:[null],outputFormatter:o.toChecksumAddress}),new i({name:"unlockAccount",call:"personal_unlockAccount",params:3,inputFormatter:[s.inputAddressFormatter,null,null]}),new i({name:"lockAccount",call:"personal_lockAccount",params:1,inputFormatter:[s.inputAddressFormatter]}),new i({name:"importRawKey",call:"personal_importRawKey",params:2}),new i({name:"sendTransaction",call:"personal_sendTransaction",params:2,inputFormatter:[s.inputTransactionFormatter,null]}),new i({name:"signTransaction",call:"personal_signTransaction",params:2,inputFormatter:[s.inputTransactionFormatter,null]}),new i({name:"sign",call:"personal_sign",params:3,inputFormatter:[s.inputSignFormatter,s.inputAddressFormatter,null]}),new i({name:"ecRecover",call:"personal_ecRecover",params:2,inputFormatter:[s.inputSignFormatter,null]})];u.forEach((function(t){t.attachToObject(e),t.setRequestManager(e._requestManager),t.defaultBlock=e.defaultBlock,t.defaultAccount=e.defaultAccount}))};n.addProviders(u),e.exports=u},8130:e=>{"use strict";e.exports=function(e){var t,r=this;return this.net.getId().then((function(e){return t=e,r.getBlock(0)})).then((function(r){var n="private";return"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"===r.hash&&1===t&&(n="main"),"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d"===r.hash&&3===t&&(n="ropsten"),"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177"===r.hash&&4===t&&(n="rinkeby"),"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a"===r.hash&&5===t&&(n="goerli"),"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9"===r.hash&&42===t&&(n="kovan"),"function"==typeof e&&e(null,n),n})).catch((function(t){if("function"!=typeof e)throw t;e(t)}))}},6748:(e,t,r)=>{"use strict";var n=r(606),i=r(1314),o=r(4178).subscriptions,a=r(3349),s=r(8161),u=r(473),c=r(715),f=r(6306),d=r(8164),l=r(6),h=r(9819),p=r(9901),b=r(8130),y=i.formatters,m=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getBlockByHash":"eth_getBlockByNumber"},v=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getTransactionByBlockHashAndIndex":"eth_getTransactionByBlockNumberAndIndex"},g=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getUncleByBlockHashAndIndex":"eth_getUncleByBlockNumberAndIndex"},w=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getBlockTransactionCountByHash":"eth_getBlockTransactionCountByNumber"},A=function(e){return"string"==typeof e[0]&&0===e[0].indexOf("0x")?"eth_getUncleCountByBlockHash":"eth_getUncleCountByBlockNumber"},k=function(){var e=this;n.packageInit(this,arguments);var t=this.setRequestManager;this.setRequestManager=function(r){return t(r),e.net.setRequestManager(r),e.personal.setRequestManager(r),e.accounts.setRequestManager(r),e.Contract._requestManager=e._requestManager,e.Contract.currentProvider=e._provider,!0};var r=this.setProvider;this.setProvider=function(){r.apply(e,arguments),e.setRequestManager(e._requestManager),e.ens._detectedAddress=null,e.ens._lastSyncCheck=null};var i,k,_,S=!1,E=null,x="latest",P=50,O=24,B=750,T=1e3,C=10,I=100;Object.defineProperty(this,"handleRevert",{get:function(){return S},set:function(t){S=t,e.Contract.handleRevert=S,R.forEach((function(e){e.handleRevert=S}))},enumerable:!0}),Object.defineProperty(this,"defaultCommon",{get:function(){return _},set:function(t){_=t,e.Contract.defaultCommon=_,R.forEach((function(e){e.defaultCommon=_}))},enumerable:!0}),Object.defineProperty(this,"defaultHardfork",{get:function(){return k},set:function(t){k=t,e.Contract.defaultHardfork=k,R.forEach((function(e){e.defaultHardfork=k}))},enumerable:!0}),Object.defineProperty(this,"defaultChain",{get:function(){return i},set:function(t){i=t,e.Contract.defaultChain=i,R.forEach((function(e){e.defaultChain=i}))},enumerable:!0}),Object.defineProperty(this,"transactionPollingTimeout",{get:function(){return B},set:function(t){B=t,e.Contract.transactionPollingTimeout=B,R.forEach((function(e){e.transactionPollingTimeout=B}))},enumerable:!0}),Object.defineProperty(this,"transactionPollingInterval",{get:function(){return T},set:function(t){T=t,e.Contract.transactionPollingInterval=T,R.forEach((function(e){e.transactionPollingInterval=T}))},enumerable:!0}),Object.defineProperty(this,"transactionConfirmationBlocks",{get:function(){return O},set:function(t){O=t,e.Contract.transactionConfirmationBlocks=O,R.forEach((function(e){e.transactionConfirmationBlocks=O}))},enumerable:!0}),Object.defineProperty(this,"transactionBlockTimeout",{get:function(){return P},set:function(t){P=t,e.Contract.transactionBlockTimeout=P,R.forEach((function(e){e.transactionBlockTimeout=P}))},enumerable:!0}),Object.defineProperty(this,"blockHeaderTimeout",{get:function(){return C},set:function(t){C=t,e.Contract.blockHeaderTimeout=C,R.forEach((function(e){e.blockHeaderTimeout=C}))},enumerable:!0}),Object.defineProperty(this,"defaultAccount",{get:function(){return E},set:function(t){return t&&(E=s.toChecksumAddress(y.inputAddressFormatter(t))),e.Contract.defaultAccount=E,e.personal.defaultAccount=E,R.forEach((function(e){e.defaultAccount=E})),t},enumerable:!0}),Object.defineProperty(this,"defaultBlock",{get:function(){return x},set:function(t){return x=t,e.Contract.defaultBlock=x,e.personal.defaultBlock=x,R.forEach((function(e){e.defaultBlock=x})),t},enumerable:!0}),Object.defineProperty(this,"maxListenersWarningThreshold",{get:function(){return I},set:function(t){e.currentProvider&&e.currentProvider.setMaxListeners&&(I=t,e.currentProvider.setMaxListeners(t))},enumerable:!0}),this.clearSubscriptions=e._requestManager.clearSubscriptions.bind(e._requestManager),this.removeSubscriptionById=e._requestManager.removeSubscription.bind(e._requestManager),this.net=new u(this),this.net.getNetworkType=b.bind(this),this.accounts=new h(this),this.personal=new f(this),this.personal.defaultAccount=this.defaultAccount,this.maxListenersWarningThreshold=I;var M=this,U=function(){d.apply(this,arguments);var e=this,t=M.setProvider;M.setProvider=function(){t.apply(M,arguments),n.packageInit(e,[M])}};U.setProvider=function(){d.setProvider.apply(this,arguments)},(U.prototype=Object.create(d.prototype)).constructor=U,this.Contract=U,this.Contract.defaultAccount=this.defaultAccount,this.Contract.defaultBlock=this.defaultBlock,this.Contract.transactionBlockTimeout=this.transactionBlockTimeout,this.Contract.transactionConfirmationBlocks=this.transactionConfirmationBlocks,this.Contract.transactionPollingTimeout=this.transactionPollingTimeout,this.Contract.transactionPollingInterval=this.transactionPollingInterval,this.Contract.blockHeaderTimeout=this.blockHeaderTimeout,this.Contract.handleRevert=this.handleRevert,this.Contract._requestManager=this._requestManager,this.Contract._ethAccounts=this.accounts,this.Contract.currentProvider=this._requestManager.provider,this.Iban=l,this.abi=p,this.ens=new c(this);var R=[new a({name:"getNodeInfo",call:"web3_clientVersion"}),new a({name:"getProtocolVersion",call:"eth_protocolVersion",params:0}),new a({name:"getCoinbase",call:"eth_coinbase",params:0}),new a({name:"isMining",call:"eth_mining",params:0}),new a({name:"getHashrate",call:"eth_hashrate",params:0,outputFormatter:s.hexToNumber}),new a({name:"isSyncing",call:"eth_syncing",params:0,outputFormatter:y.outputSyncingFormatter}),new a({name:"getGasPrice",call:"eth_gasPrice",params:0,outputFormatter:y.outputBigNumberFormatter}),new a({name:"getFeeHistory",call:"eth_feeHistory",params:3,inputFormatter:[s.numberToHex,y.inputBlockNumberFormatter,null]}),new a({name:"getAccounts",call:"eth_accounts",params:0,outputFormatter:s.toChecksumAddress}),new a({name:"getBlockNumber",call:"eth_blockNumber",params:0,outputFormatter:s.hexToNumber}),new a({name:"getBalance",call:"eth_getBalance",params:2,inputFormatter:[y.inputAddressFormatter,y.inputDefaultBlockNumberFormatter],outputFormatter:y.outputBigNumberFormatter}),new a({name:"getStorageAt",call:"eth_getStorageAt",params:3,inputFormatter:[y.inputAddressFormatter,s.numberToHex,y.inputDefaultBlockNumberFormatter]}),new a({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[y.inputAddressFormatter,y.inputDefaultBlockNumberFormatter]}),new a({name:"getBlock",call:m,params:2,inputFormatter:[y.inputBlockNumberFormatter,function(e){return!!e}],outputFormatter:y.outputBlockFormatter}),new a({name:"getUncle",call:g,params:2,inputFormatter:[y.inputBlockNumberFormatter,s.numberToHex],outputFormatter:y.outputBlockFormatter}),new a({name:"getBlockTransactionCount",call:w,params:1,inputFormatter:[y.inputBlockNumberFormatter],outputFormatter:s.hexToNumber}),new a({name:"getBlockUncleCount",call:A,params:1,inputFormatter:[y.inputBlockNumberFormatter],outputFormatter:s.hexToNumber}),new a({name:"getTransaction",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:y.outputTransactionFormatter}),new a({name:"getTransactionFromBlock",call:v,params:2,inputFormatter:[y.inputBlockNumberFormatter,s.numberToHex],outputFormatter:y.outputTransactionFormatter}),new a({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:y.outputTransactionReceiptFormatter}),new a({name:"getTransactionCount",call:"eth_getTransactionCount",params:2,inputFormatter:[y.inputAddressFormatter,y.inputDefaultBlockNumberFormatter],outputFormatter:s.hexToNumber}),new a({name:"sendSignedTransaction",call:"eth_sendRawTransaction",params:1,inputFormatter:[null],abiCoder:p}),new a({name:"signTransaction",call:"eth_signTransaction",params:1,inputFormatter:[y.inputTransactionFormatter]}),new a({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[y.inputTransactionFormatter],abiCoder:p}),new a({name:"sign",call:"eth_sign",params:2,inputFormatter:[y.inputSignFormatter,y.inputAddressFormatter],transformPayload:function(e){return e.params.reverse(),e}}),new a({name:"call",call:"eth_call",params:2,inputFormatter:[y.inputCallFormatter,y.inputDefaultBlockNumberFormatter],abiCoder:p}),new a({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[y.inputCallFormatter],outputFormatter:s.hexToNumber}),new a({name:"submitWork",call:"eth_submitWork",params:3}),new a({name:"getWork",call:"eth_getWork",params:0}),new a({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[y.inputLogFormatter],outputFormatter:y.outputLogFormatter}),new a({name:"getChainId",call:"eth_chainId",params:0,outputFormatter:s.hexToNumber}),new a({name:"requestAccounts",call:"eth_requestAccounts",params:0,outputFormatter:s.toChecksumAddress}),new a({name:"getProof",call:"eth_getProof",params:3,inputFormatter:[y.inputAddressFormatter,y.inputStorageKeysFormatter,y.inputDefaultBlockNumberFormatter],outputFormatter:y.outputProofFormatter}),new a({name:"getPendingTransactions",call:"eth_pendingTransactions",params:0,outputFormatter:y.outputTransactionFormatter}),new a({name:"createAccessList",call:"eth_createAccessList",params:2,inputFormatter:[y.inputTransactionFormatter,y.inputDefaultBlockNumberFormatter]}),new o({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:y.outputBlockFormatter},pendingTransactions:{subscriptionName:"newPendingTransactions",params:0},logs:{params:1,inputFormatter:[y.inputLogFormatter],outputFormatter:y.outputLogFormatter,subscriptionHandler:function(e){e.removed?this.emit("changed",e):this.emit("data",e),"function"==typeof this.callback&&this.callback(null,e,this)}},syncing:{params:0,outputFormatter:y.outputSyncingFormatter,subscriptionHandler:function(e){var t=this;!0!==this._isSyncing?(this._isSyncing=!0,this.emit("changed",t._isSyncing),"function"==typeof this.callback&&this.callback(null,t._isSyncing,this),setTimeout((function(){t.emit("data",e),"function"==typeof t.callback&&t.callback(null,e,t)}),0)):(this.emit("data",e),"function"==typeof t.callback&&this.callback(null,e,this),clearTimeout(this._isSyncingTimeout),this._isSyncingTimeout=setTimeout((function(){e.currentBlock>e.highestBlock-200&&(t._isSyncing=!1,t.emit("changed",t._isSyncing),"function"==typeof t.callback&&t.callback(null,t._isSyncing,t))}),500))}}}})];R.forEach((function(t){t.attachToObject(e),t.setRequestManager(e._requestManager,e.accounts),t.defaultBlock=e.defaultBlock,t.defaultAccount=e.defaultAccount,t.transactionBlockTimeout=e.transactionBlockTimeout,t.transactionConfirmationBlocks=e.transactionConfirmationBlocks,t.transactionPollingTimeout=e.transactionPollingTimeout,t.transactionPollingInterval=e.transactionPollingInterval,t.handleRevert=e.handleRevert}))};n.addProviders(k),e.exports=k},473:(e,t,r)=>{"use strict";var n=r(606),i=r(3349),o=r(8161),a=function(){var e=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(t){t.attachToObject(e),t.setRequestManager(e._requestManager)}))};n.addProviders(a),e.exports=a},4565:(e,t,r)=>{"use strict";var n=r(1314).errors,i=r(9519),o=r(912);r(2439),r(4258).polyfill(),void 0===r.g||r.g.AbortController||r(3368);var a=function(e,t){t=t||{},this.withCredentials=t.withCredentials,this.timeout=t.timeout||0,this.headers=t.headers,this.agent=t.agent,this.connected=!1;var r=!1!==t.keepAlive;this.host=e||"http://localhost:8545",this.agent||("https"===this.host.substring(0,5)?this.httpsAgent=new o.Agent({keepAlive:r}):this.httpAgent=new i.Agent({keepAlive:r}))};a.prototype.send=function(e,t){var r,i={method:"POST",body:JSON.stringify(e)},o={};if("undefined"!=typeof AbortController?r=new AbortController:"undefined"!=typeof window&&void 0!==window.AbortController&&(r=new window.AbortController),void 0!==r&&(i.signal=r.signal),"undefined"==typeof XMLHttpRequest){var a={httpsAgent:this.httpsAgent,httpAgent:this.httpAgent};this.agent&&(a.httpsAgent=this.agent.https,a.httpAgent=this.agent.http),"https"===this.host.substring(0,5)?i.agent=a.httpsAgent:i.agent=a.httpAgent}this.headers&&this.headers.forEach((function(e){o[e.name]=e.value})),o["Content-Type"]||(o["Content-Type"]="application/json"),this.withCredentials?i.credentials="include":i.credentials="omit",i.headers=o,this.timeout>0&&void 0!==r&&(this.timeoutId=setTimeout((function(){r.abort()}),this.timeout)),fetch(this.host,i).then(function(e){void 0!==this.timeoutId&&clearTimeout(this.timeoutId),e.json().then((function(e){t(null,e)})).catch((function(r){t(n.InvalidResponse(e))}))}.bind(this)).catch(function(e){void 0!==this.timeoutId&&clearTimeout(this.timeoutId),"AbortError"===e.name&&t(n.ConnectionTimeout(this.timeout)),t(n.InvalidConnection(this.host,e))}.bind(this))},a.prototype.disconnect=function(){},a.prototype.supportsSubscriptions=function(){return!1},e.exports=a},2683:(e,t,r)=>{"use strict";var n=r(1314).errors,i=r(3150),o=function(e,t){var r=this;this.responseCallbacks={},this.notificationCallbacks=[],this.path=e,this.connected=!1,this.connection=t.connect({path:this.path}),this.addDefaultEvents();var n=function(e){var t=null;Array.isArray(e)?e.forEach((function(e){r.responseCallbacks[e.id]&&(t=e.id)})):t=e.id,t||-1===e.method.indexOf("_subscription")?r.responseCallbacks[t]&&(r.responseCallbacks[t](null,e),delete r.responseCallbacks[t]):r.notificationCallbacks.forEach((function(t){"function"==typeof t&&t(e)}))};"Socket"===t.constructor.name?i(this.connection).done(n):this.connection.on("data",(function(e){r._parseResponse(e.toString()).forEach(n)}))};o.prototype.addDefaultEvents=function(){var e=this;this.connection.on("connect",(function(){e.connected=!0})),this.connection.on("close",(function(){e.connected=!1})),this.connection.on("error",(function(){e._timeout()})),this.connection.on("end",(function(){e._timeout()})),this.connection.on("timeout",(function(){e._timeout()}))},o.prototype._parseResponse=function(e){var t=this,r=[];return e.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach((function(e){t.lastChunk&&(e=t.lastChunk+e);var i=null;try{i=JSON.parse(e)}catch(r){return t.lastChunk=e,clearTimeout(t.lastChunkTimeout),void(t.lastChunkTimeout=setTimeout((function(){throw t._timeout(),n.InvalidResponse(e)}),15e3))}clearTimeout(t.lastChunkTimeout),t.lastChunk=null,i&&r.push(i)})),r},o.prototype._addResponseCallback=function(e,t){var r=e.id||e[0].id,n=e.method||e[0].method;this.responseCallbacks[r]=t,this.responseCallbacks[r].method=n},o.prototype._timeout=function(){for(var e in this.responseCallbacks)this.responseCallbacks.hasOwnProperty(e)&&(this.responseCallbacks[e](n.InvalidConnection("on IPC")),delete this.responseCallbacks[e])},o.prototype.reconnect=function(){this.connection.connect({path:this.path})},o.prototype.send=function(e,t){this.connection.writable||this.connection.connect({path:this.path}),this.connection.write(JSON.stringify(e)),this._addResponseCallback(e,t)},o.prototype.on=function(e,t){if("function"!=typeof t)throw new Error("The second parameter callback must be a function.");"data"===e?this.notificationCallbacks.push(t):this.connection.on(e,t)},o.prototype.once=function(e,t){if("function"!=typeof t)throw new Error("The second parameter callback must be a function.");this.connection.once(e,t)},o.prototype.removeListener=function(e,t){var r=this;"data"===e?this.notificationCallbacks.forEach((function(e,n){e===t&&r.notificationCallbacks.splice(n,1)})):this.connection.removeListener(e,t)},o.prototype.removeAllListeners=function(e){"data"===e?this.notificationCallbacks=[]:this.connection.removeAllListeners(e)},o.prototype.reset=function(){this._timeout(),this.notificationCallbacks=[],this.connection.removeAllListeners("error"),this.connection.removeAllListeners("end"),this.connection.removeAllListeners("timeout"),this.addDefaultEvents()},o.prototype.supportsSubscriptions=function(){return!0},e.exports=o},360:(e,t,r)=>{"use strict";var n=r(9142),i=r(9033).Buffer,o=r(8847)(r(3355)),a="[object process]"===Object.prototype.toString.call(void 0!==n?n:0),s="undefined"!=typeof navigator&&"ReactNative"===navigator.product,u=null,c=null;if(a||s){u=function(e){return i.from(e).toString("base64")};var f=r(1143);if(f.URL){var d=f.URL;c=function(e){return new d(e)}}else c=r(1143).parse}else u=btoa.bind("object"===("undefined"==typeof globalThis?"undefined":(0,o.default)(globalThis))?globalThis:self),c=function(e){return new URL(e)};e.exports={parseURL:c,btoa:u}},7651:(e,t,r)=>{"use strict";var n=r(8008),i=r(360),o=r(1314).errors,a=r(1158).w3cwebsocket,s=function(e,t){n.call(this),t=t||{},this.url=e,this._customTimeout=t.timeout||15e3,this.headers=t.headers||{},this.protocol=t.protocol||void 0,this.reconnectOptions=Object.assign({auto:!1,delay:5e3,maxAttempts:!1,onTimeout:!1},t.reconnect),this.clientConfig=t.clientConfig||void 0,this.requestOptions=t.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,this.connectFailedDescription=null;var r=i.parseURL(e);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(e){var t=this;this._parseResponse("string"==typeof e.data?e.data:"").forEach((function(e){if(e.method&&-1!==e.method.indexOf("_subscription"))t.emit(t.DATA,e);else{var r=e.id;Array.isArray(e)&&(r=e[0].id),t.responseQueue.has(r)&&(void 0!==t.responseQueue.get(r).callback&&t.responseQueue.get(r).callback(!1,e),t.responseQueue.delete(r))}}))},s.prototype._onConnect=function(){if(this.emit(this.CONNECT),this.reconnectAttempts=0,this.reconnecting=!1,this.requestQueue.size>0){var e=this;this.requestQueue.forEach((function(t,r){e.send(t.payload,t.callback),e.requestQueue.delete(r)}))}},s.prototype._onConnectFailed=function(e){this.connectFailedDescription=e.toString().split("\n")[0];var t=this;this.connectFailedDescription&&(e.description=this.connectFailedDescription,this.connectFailedDescription=null),e.code=1006,e.reason="connection failed",!this.reconnectOptions.auto||[1e3,1001].includes(e.code)&&!1!==e.wasClean?(this.emit(this.ERROR,e),this.requestQueue.size>0&&this.requestQueue.forEach((function(r,n){r.callback(o.ConnectionNotOpenError(e)),t.requestQueue.delete(n)})),this.responseQueue.size>0&&this.responseQueue.forEach((function(r,n){r.callback(o.InvalidConnection("on WS",e)),t.responseQueue.delete(n)})),this.connection._connection&&this.connection._connection.removeAllListeners(),this.connection._client.removeAllListeners(),this.connection._readyState=3,this.emit(this.CLOSE,e)):this.reconnect()},s.prototype._onClose=function(e){var t=this;!this.reconnectOptions.auto||[1e3,1001].includes(e.code)&&!1!==e.wasClean?(this.emit(this.CLOSE,e),this.requestQueue.size>0&&this.requestQueue.forEach((function(r,n){r.callback(o.ConnectionNotOpenError(e)),t.requestQueue.delete(n)})),this.responseQueue.size>0&&this.responseQueue.forEach((function(r,n){r.callback(o.InvalidConnection("on WS",e)),t.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)),this.connection._client&&(this.connection._client.removeAllListeners("connectFailed"),this.connection._client.on("connectFailed",this._onConnectFailed.bind(this)))},s.prototype._removeSocketListeners=function(){this.connection.removeEventListener("message",this._onMessage),this.connection.removeEventListener("open",this._onConnect),this.connection.removeEventListener("close",this._onClose),this.connection._connection&&this.connection._client.removeListener("connectFailed",this._onConnectFailed)},s.prototype._parseResponse=function(e){var t=this,r=[];return e.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach((function(e){t.lastChunk&&(e=t.lastChunk+e);var n=null;try{n=JSON.parse(e)}catch(r){return t.lastChunk=e,clearTimeout(t.lastChunkTimeout),void(t.lastChunkTimeout=setTimeout((function(){t.reconnectOptions.auto&&t.reconnectOptions.onTimeout?t.reconnect():(t.emit(t.ERROR,o.ConnectionTimeout(t._customTimeout)),t.requestQueue.size>0&&t.requestQueue.forEach((function(e,r){e.callback(o.ConnectionTimeout(t._customTimeout)),t.requestQueue.delete(r)})))}),t._customTimeout))}clearTimeout(t.lastChunkTimeout),t.lastChunk=null,n&&r.push(n)})),r},s.prototype.send=function(e,t){var r=e.id,n={payload:e,callback:t};if(Array.isArray(e)&&(r=e[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(e){n.callback(e),this.responseQueue.delete(r)}}},s.prototype.reset=function(){this.responseQueue.clear(),this.requestQueue.clear(),this.removeAllListeners(),this._removeSocketListeners(),this._addSocketListeners()},s.prototype.disconnect=function(e,t){this._removeSocketListeners(),this.connection.close(e||1e3,t)},s.prototype.supportsSubscriptions=function(){return!0},s.prototype.reconnect=function(){var e=this;this.reconnecting=!0,this.responseQueue.size>0&&this.responseQueue.forEach((function(t,r){try{e.responseQueue.delete(r),t.callback(o.PendingRequestsOnReconnectingError())}catch(e){console.error("Error encountered in reconnect: ",e)}})),!this.reconnectOptions.maxAttempts||this.reconnectAttempts0&&this.requestQueue.forEach((function(t,r){t.callback(o.MaxAttemptsReachedOnReconnectingError()),e.requestQueue.delete(r)})))},e.exports=s},2565:(e,t,r)=>{"use strict";var n=r(606),i=r(4178).subscriptions,o=r(3349),a=r(473),s=function(){var e=this;n.packageInit(this,arguments);var t=this.setRequestManager;this.setRequestManager=function(r){return t(r),e.net.setRequestManager(r),!0};var r=this.setProvider;this.setProvider=function(){r.apply(e,arguments),e.setRequestManager(e._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(t){t.attachToObject(e),t.setRequestManager(e._requestManager)}))};s.prototype.clearSubscriptions=function(){this._requestManager.clearSubscriptions()},n.addProviders(s),e.exports=s},8161:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(7130),o=r(323),a=r(747),s=r(5010),u=r(1734),c=function e(t,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=e(t,r.components);Array.isArray(s)&&t?i.push("tuple("+s.join(",")+")"+o):t?i.push("("+s+")"):i.push("("+s.join(",")+")"+o)}else i.push(r.type)})),i},f=function(e){if(!o.isHexStrict(e))throw new Error("The parameter must be a valid HEX string.");var t="",r=0,n=e.length;for("0x"===e.substring(0,2)&&(r=2);r7?r+=e[n].toUpperCase():r+=e[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:f,toAscii:f,asciiToHex:d,fromAscii:d,unitMap:i.unitMap,toWei:function(e,t){if(t=l(t),!o.isBN(e)&&"string"!=typeof e)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(e)?i.toWei(e,t):i.toWei(e,t).toString(10)},fromWei:function(e,t){if(t=l(t),!o.isBN(e)&&"string"!=typeof e)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(e)?i.fromWei(e,t):i.fromWei(e,t).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(e,t){if(e===t)return 0;if("genesis"!==e&&"earliest"!==e&&0!==e||"genesis"!==t&&"earliest"!==t&&0!==t){if("genesis"===e||"earliest"===e||0===e)return-1;if("genesis"===t||"earliest"===t||0===t)return 1;if("latest"===e||"finalized"===e)return"pending"===t?-1:1;if("latest"===t||"finalized"===t)return"pending"===e?1:-1;if("pending"===e)return 1;if("pending"===t)return-1;if("safe"===e||"safe"===t)return;var r=new u(e),n=new u(t);return r.lt(n)?-1:r.eq(n)?0:1}return 0},toNumber:o.toNumber}},747:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(1734),o=r(323),a=function(e){var t=(0,n.default)(e);if("string"===t)return o.isHexStrict(e)?new i(e.replace(/0x/i,""),16):new i(e,10);if("number"===t)return new i(e);if(o.isBigNumber(e))return new i(e.toString(10));if(o.isBN(e))return e;throw new Error(e+" is not a number")},s=function(e,t,r){var n,s;if("bytes"===(e=function(e){return e.startsWith("int[")?"int256"+e.slice(3):"int"===e?"int256":e.startsWith("uint[")?"uint256"+e.slice(4):"uint"===e?"uint256":e.startsWith("fixed[")?"fixed128x128"+e.slice(5):"fixed"===e?"fixed128x128":e.startsWith("ufixed[")?"ufixed128x128"+e.slice(6):"ufixed"===e?"ufixed128x128":e}(e))){if(t.replace(/^0x/i,"").length%2!=0)throw new Error("Invalid bytes characters "+t.length);return t}if("string"===e)return o.utf8ToHex(t);if("bool"===e)return t?"01":"00";if(e.startsWith("address")){if(n=r?64:40,!o.isAddress(t))throw new Error(t+" is not a valid address, or the checksum is invalid.");return o.leftPad(t.toLowerCase(),n)}if(n=function(e){var t=/^\D+(\d+).*$/.exec(e);return t?parseInt(t[1],10):null}(e),e.startsWith("bytes")){if(!n)throw new Error("bytes[] not yet supported in solidity");if(r&&(n=32),n<1||n>32||n256)throw new Error("Invalid uint"+n+" size");if((s=a(t)).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(e.startsWith("int")){if(n%8||n<8||n>256)throw new Error("Invalid int"+n+" size");if((s=a(t)).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: "+e)},u=function(e){if(Array.isArray(e))throw new Error("Autodetection of array types is not supported.");var t,r,a="";if(e&&"object"===(0,n.default)(e)&&(e.hasOwnProperty("v")||e.hasOwnProperty("t")||e.hasOwnProperty("value")||e.hasOwnProperty("type"))?(t=e.hasOwnProperty("t")?e.t:e.type,a=e.hasOwnProperty("v")?e.v:e.value):(t=o.toHex(e,!0),a=o.toHex(e),t.startsWith("int")||t.startsWith("uint")||(t="bytes")),!t.startsWith("int")&&!t.startsWith("uint")||"string"!=typeof a||/^(-)?0x/i.test(a)||(a=new i(a)),Array.isArray(a)){if(r=function(e){var t=/^\D+\d*\[(\d+)\]$/.exec(e);return t?parseInt(t[1],10):null}(t),r&&a.length!==r)throw new Error(t+" is not matching the given array "+JSON.stringify(a));r=a.length}return Array.isArray(a)?a.map((function(e){return s(t,e,r).toString("hex").replace("0x","")})).join(""):s(t,a,r).toString("hex").replace("0x","")};e.exports={soliditySha3:function(){var e=Array.prototype.slice.call(arguments).map(u);return o.sha3("0x"+e.join(""))},soliditySha3Raw:function(){return o.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(u).join(""))},encodePacked:function(){return"0x"+Array.prototype.slice.call(arguments).map(u).join("").toLowerCase()}}},323:(e,t,r)=>{"use strict";var n=r(9033).Buffer,i=r(8847),o=i(r(4519)),a=i(r(3355)),s=r(1734),u=r(7277),c=r(8632),f=r(3062),d=r(9313),l=function(e){return s.isBN(e)},h=function(e){return e&&e.constructor&&"BigNumber"===e.constructor.name},p=function(e){try{return u.apply(null,arguments)}catch(t){throw new Error(t+' Given value: "'+e+'"')}},b=function(e){return!!/^(0x)?[0-9a-f]{40}$/i.test(e)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(e)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(e))||y(e))},y=function(e){e=e.replace(/^0x/i,"");for(var t=S(e.toLowerCase()).replace(/^0x/i,""),r=0;r<40;r++)if(parseInt(t[r],16)>7&&e[r].toUpperCase()!==e[r]||parseInt(t[r],16)<=7&&e[r].toLowerCase()!==e[r])return!1;return!0},m=function(e){var t="";e=(e=(e=(e=(e=c.encode(e)).replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var r=0;r1&&void 0!==arguments[1]&&arguments[1];if(!e)return e;if("string"==typeof e&&!A(e))throw new Error('Given value "'+e+'" is not a valid hex string.');var r=p(e);return t&&(r>Number.MAX_SAFE_INTEGER||r>>4).toString(16)),t.push((15&e[r]).toString(16));return"0x"+t.join("")},isHex:k,isHexStrict:A,stripHexPrefix:function(e){return 0!==e&&k(e)?e.replace(/^(-)?0x/i,"$1"):e},leftPad:function(e,t,r){var n=/^0x/i.test(e)||"number"==typeof e,i=t-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(n?"0x":"")+new Array(i).join(r||"0")+e},rightPad:function(e,t,r){var n=/^0x/i.test(e)||"number"==typeof e,i=t-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(n?"0x":"")+e+new Array(i).join(r||"0")},toTwosComplement:function(e){return"0x"+p(e).toTwos(256).toString(16,64)},sha3:S,sha3Raw:function(e){return null===(e=S(e))?_:e},toNumber:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"number"==typeof e?e:v(w(e),t)}}},7001:(e,t,r)=>{"use strict";var n=r(8920).i8,i=r(606),o=r(6748),a=r(473),s=r(6306),u=r(2565),c=r(2463),f=r(8161),d=function(){var e=this;i.packageInit(this,arguments),this.version=n,this.utils=f,this.eth=new o(this),this.shh=new u(this),this.bzz=new c(this);var t=this.setProvider;this.setProvider=function(r,n){return t.apply(e,arguments),e.eth.setRequestManager(e._requestManager),e.shh.setRequestManager(e._requestManager),e.bzz.setProvider(r),!0}};d.version=n,d.utils=f,d.modules={Eth:o,Net:a,Personal:s,Shh:u,Bzz:c},i.addProviders(d),e.exports=d},9214:()=>{},2361:()=>{},4616:()=>{},8768:e=>{"use strict";e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{"use strict";e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},7907:(e,t,r)=>{"use strict";var n=r(8768);e.exports=function(e){if(Array.isArray(e))return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},8975:e=>{"use strict";e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},5698:e=>{"use strict";function t(e,t,r,n,i,o,a){try{var s=e[o](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(i,o){var a=e.apply(r,n);function s(e){t(a,i,o,s,u,"next",e)}function u(e){t(a,i,o,s,u,"throw",e)}s(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},9721:e=>{"use strict";e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},4727:(e,t,r)=>{"use strict";var n=r(8746),i=r(6923);function o(t,r,a){return i()?(e.exports=o=Reflect.construct.bind(),e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=o=function(e,t,r){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return r&&n(o,r.prototype),o},e.exports.__esModule=!0,e.exports.default=e.exports),o.apply(null,arguments)}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},8985:(e,t,r)=>{"use strict";var n=r(2310);function i(e,t){for(var r=0;r{"use strict";var n=r(2310);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},119:(e,t,r)=>{"use strict";var n=r(7460);function i(){return"undefined"!=typeof Reflect&&Reflect.get?(e.exports=i=Reflect.get.bind(),e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=i=function(e,t,r){var i=n(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},e.exports.__esModule=!0,e.exports.default=e.exports),i.apply(this,arguments)}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},1949:e=>{"use strict";function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},5163:(e,t,r)=>{"use strict";var n=r(8746);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&n(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},8847:e=>{"use strict";e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},6923:e=>{"use strict";e.exports=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(e){return!1}},e.exports.__esModule=!0,e.exports.default=e.exports},1642:e=>{"use strict";e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},1436:e=>{"use strict";e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}},e.exports.__esModule=!0,e.exports.default=e.exports},2966:e=>{"use strict";e.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.")},e.exports.__esModule=!0,e.exports.default=e.exports},2344:e=>{"use strict";e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},4650:(e,t,r)=>{"use strict";var n=r(3355).default,i=r(8975);e.exports=function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},2028:(e,t,r)=>{"use strict";var n=r(3355).default;function i(){e.exports=i=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",f=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof b?t:b,o=Object.create(i.prototype),s=new O(n||[]);return a(o,"_invoke",{value:S(e,r,s)}),o}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p={};function b(){}function y(){}function m(){}var v={};d(v,u,(function(){return this}));var g=Object.getPrototypeOf,w=g&&g(g(B([])));w&&w!==r&&o.call(w,u)&&(v=w);var A=m.prototype=b.prototype=Object.create(v);function k(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){function r(i,a,s,u){var c=h(e[i],e,a);if("throw"!==c.type){var f=c.arg,d=f.value;return d&&"object"==n(d)&&o.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,u)}),(function(e){r("throw",e,s,u)})):t.resolve(d).then((function(e){f.value=e,s(f)}),(function(e){return r("throw",e,s,u)}))}u(c.arg)}var i;a(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,i){r(e,n,t,i)}))}return i=i?i.then(o,o):o()}})}function S(e,t,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{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=E(a,r);if(s){if(s===p)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=h(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function E(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=h(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,p;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function B(e){if(e){var t=e[u];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(s&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),P(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;P(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:B(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},8746:e=>{"use strict";function t(r,n){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4519:(e,t,r)=>{"use strict";var n=r(2338),i=r(1436),o=r(6906),a=r(2966);e.exports=function(e,t){return n(e)||i(e,t)||o(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},7460:(e,t,r)=>{"use strict";var n=r(1949);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=n(e)););return e},e.exports.__esModule=!0,e.exports.default=e.exports},3106:(e,t,r)=>{"use strict";var n=r(7907),i=r(1642),o=r(6906),a=r(2344);e.exports=function(e){return n(e)||i(e)||o(e)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},9662:(e,t,r)=>{"use strict";var n=r(3355).default;e.exports=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},2310:(e,t,r)=>{"use strict";var n=r(3355).default,i=r(9662);e.exports=function(e){var t=i(e,"string");return"symbol"===n(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},3355:e=>{"use strict";function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},6906:(e,t,r)=>{"use strict";var n=r(8768);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},2247:(e,t,r)=>{"use strict";var n=r(8847)(r(3355)),i=r(2028)();e.exports=i;try{regeneratorRuntime=i}catch(e){"object"===("undefined"==typeof globalThis?"undefined":(0,n.default)(globalThis))?globalThis.regeneratorRuntime=i:Function("r","regeneratorRuntime = r")(i)}},3604:(e,t,r)=>{"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;e.exports=function(){for(var e=[],t=0;t{"use strict";e.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":"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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},7098:e=>{"use strict";e.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":"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},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":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"}]}')},7295:e=>{"use strict";e.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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},439:e=>{"use strict";e.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":"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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},1227:e=>{"use strict";e.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":"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"},{"name":"merge","block":null,"forkash":null},{"name":"shanghai","block":null,"forkash":null}],"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"]}')},7523:e=>{"use strict";e.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":{}}')},3339:e=>{"use strict";e.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":{}}')},6769:e=>{"use strict";e.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":{}}')},7897:e=>{"use strict";e.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":{}}')},2170:e=>{"use strict";e.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":{}}')},8436:e=>{"use strict";e.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":{}}')},6213:e=>{"use strict";e.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":{}}')},5491:e=>{"use strict";e.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":{}}')},7852:e=>{"use strict";e.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":{}}')},1871:e=>{"use strict";e.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":{}}')},7225:e=>{"use strict";e.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"}}}')},8571:e=>{"use strict";e.exports=JSON.parse('{"name":"EIP-3675","number":3675,"comment":"Upgrade consensus to Proof-of-Stake","url":"https://eips.ethereum.org/EIPS/eip-3675","status":"Draft","minimumHardfork":"london","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},15:e=>{"use strict";e.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]}')},6985:e=>{"use strict";e.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"}}}')},114:e=>{"use strict";e.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"}}}')},5993:e=>{"use strict";e.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"}}}')},7197:e=>{"use strict";e.exports=JSON.parse('{"name":"dao","comment":"DAO rescue hardfork","url":"https://eips.ethereum.org/EIPS/eip-779","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},2800:e=>{"use strict";e.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":{}}')},3166:e=>{"use strict";e.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":{}}')},1250:e=>{"use strict";e.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]}')},8648:e=>{"use strict";e.exports=JSON.parse('{"name":"merge","comment":"Hardfork to upgrade the consensus mechanism to Proof-of-Stake","url":"https://github.com/ethereum/pm/issues/361","status":"pre-Draft","consensus":{"type":"pos","algorithm":"casper","casper":{}},"eips":[3675]}')},2946:e=>{"use strict";e.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"}}}')},4064:e=>{"use strict";e.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":{}}')},5553:e=>{"use strict";e.exports=JSON.parse('{"name":"shanghai","comment":"Next feature hardfork after the London HF","url":"https://github.com/ethereum/pm/issues/356","status":"Pre-Draft","eips":[]}')},716:e=>{"use strict";e.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":{}}')},2302:e=>{"use strict";e.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":{}}')},4946:e=>{"use strict";e.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},5207:e=>{"use strict";e.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},1308:e=>{"use strict";e.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},3630:e=>{"use strict";e.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,"blake3":30,"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,"dag-jose":133,"dag-cose":134,"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,"bitcoin-witness-commitment":178,"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,"secp256k1-pub":231,"bls12_381-g1-pub":234,"bls12_381-g2-pub":235,"x25519-pub":236,"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,"libp2p-peer-record":769,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,"x11":4352,"sm3-256":21325,"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,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082,"zeroxcert-imprint-256":52753,"fil-commitment-unsealed":61697,"fil-commitment-sealed":61698,"holochain-adr-v0":8417572,"holochain-adr-v1":8483108,"holochain-key-v0":9728292,"holochain-key-v1":9793828,"holochain-sig-v0":10645796,"holochain-sig-v1":10711332}')},9799:e=>{"use strict";e.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"}}')},8597:e=>{"use strict";e.exports={i8:"6.5.4"}},4070:e=>{"use strict";e.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}')},2562:e=>{"use strict";e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},9794:e=>{"use strict";e.exports={version:"1.0.34"}},8920:e=>{"use strict";e.exports={i8:"1.10.0"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n](o,o.exports,r),o.loaded=!0,o.exports}return r.amdO={},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(7001)})())); //# 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 1a585348cd4..7d1873a537a 100644 --- a/dist/web3.min.js.map +++ b/dist/web3.min.js.map @@ -1 +1 @@ -{"version":3,"file":"web3.min.js","mappings":"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A,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,sEAIN9D,IAAK,CACHoE,IAAK,EACLN,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,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AAY,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,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QA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AI,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,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAax6xC,CACLuJ,OAbe,szJAcfC,QAZF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Cf,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,QAGpBhO,EAAQo2C,MAAQ7sC,OAAOyE,OAAO,CAC5B,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,mBAGVhO,EAAQ4hH,eAAiBr4G,OAAOyE,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,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,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,KAAQ,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,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ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","sources":["webpack:///webpack/universalModuleDefinition","webpack:///../../src/chains/index.ts","webpack:///../../src/eips/index.ts","webpack:///../../src/hardforks/index.ts","webpack:///../src/index.ts","webpack:///../src/baseTransaction.ts","webpack:///../src/eip1559Transaction.ts","webpack:///../src/eip2930Transaction.ts","webpack:///../src/legacyTransaction.ts","webpack:///../src/transactionFactory.ts","webpack:///../src/types.ts","webpack:///../src/util.ts","webpack:///../src.ts/_version.ts","webpack:///../src.ts/abi-coder.ts","webpack:///../../src.ts/coders/abstract-coder.ts","webpack:///../../src.ts/coders/address.ts","webpack:///../../src.ts/coders/anonymous.ts","webpack:///../../src.ts/coders/array.ts","webpack:///../../src.ts/coders/boolean.ts","webpack:///../../src.ts/coders/bytes.ts","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/coders/tuple.ts","webpack:///../src.ts/fragments.ts","webpack:///../src.ts/index.ts","webpack:///../src.ts/interface.ts","webpack:///../src.ts/browser-base64.ts","webpack:///../src.ts/bignumber.ts","webpack:///../src.ts/fixednumber.ts","webpack:///../src.ts/addresses.ts","webpack:///../src.ts/bignumbers.ts","webpack:///../src.ts/hashes.ts","webpack:///../src.ts/strings.ts","webpack:///../../src.ts/ens-normalize/decoder.ts","webpack:///../../src.ts/ens-normalize/include.ts","webpack:///../../src.ts/ens-normalize/lib.ts","webpack:///../src.ts/id.ts","webpack:///../src.ts/message.ts","webpack:///../src.ts/namehash.ts","webpack:///../src.ts/typed-data.ts","webpack:///./node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js","webpack:///../../../node_modules/minimalistic-assert/index.js","webpack:///../../../node_modules/minimalistic-crypto-utils/lib/utils.js","webpack:///../../../node_modules/elliptic/lib/elliptic/utils.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///../../../node_modules/inherits/inherits_browser.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curves.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/ec/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic.js","webpack:///elliptic.js","webpack:///../src.ts/bytes32.ts","webpack:///../src.ts/idna.ts","webpack:///../src.ts/utf8.ts","webpack:///./node_modules/abortcontroller-polyfill/dist/polyfill-patch-fetch.js","webpack:///./node_modules/asn1.js/lib/asn1.js","webpack:///./node_modules/asn1.js/lib/asn1/api.js","webpack:///./node_modules/asn1.js/lib/asn1/base/buffer.js","webpack:///./node_modules/asn1.js/lib/asn1/base/index.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:///./node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/der.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/der.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/pem.js","webpack:///./node_modules/assert/assert.js","webpack:///./node_modules/assert/node_modules/inherits/inherits_browser.js","webpack:///./node_modules/assert/node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/assert/node_modules/util/util.js","webpack:///./node_modules/base-x/src/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/bn.js/lib/bn.js","webpack:///./node_modules/brorand/index.js","webpack:///./node_modules/browserify-aes/aes.js","webpack:///./node_modules/browserify-aes/authCipher.js","webpack:///./node_modules/browserify-aes/browser.js","webpack:///./node_modules/browserify-aes/decrypter.js","webpack:///./node_modules/browserify-aes/encrypter.js","webpack:///./node_modules/browserify-aes/ghash.js","webpack:///./node_modules/browserify-aes/incr32.js","webpack:///./node_modules/browserify-aes/modes/cbc.js","webpack:///./node_modules/browserify-aes/modes/cfb.js","webpack:///./node_modules/browserify-aes/modes/cfb1.js","webpack:///./node_modules/browserify-aes/modes/cfb8.js","webpack:///./node_modules/browserify-aes/modes/ctr.js","webpack:///./node_modules/browserify-aes/modes/ecb.js","webpack:///./node_modules/browserify-aes/modes/index.js","webpack:///./node_modules/browserify-aes/modes/ofb.js","webpack:///./node_modules/browserify-aes/streamCipher.js","webpack:///./node_modules/browserify-cipher/browser.js","webpack:///./node_modules/browserify-des/index.js","webpack:///./node_modules/browserify-des/modes.js","webpack:///./node_modules/browserify-rsa/index.js","webpack:///./node_modules/browserify-sign/algos.js","webpack:///./node_modules/browserify-sign/browser/index.js","webpack:///./node_modules/browserify-sign/browser/sign.js","webpack:///./node_modules/browserify-sign/browser/verify.js","webpack:///./node_modules/buffer-xor/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/builtin-status-codes/browser.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/cids/node_modules/multicodec/src/constants.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/print.js","webpack:///./node_modules/cids/node_modules/multicodec/src/util.js","webpack:///./node_modules/cids/node_modules/multicodec/src/varint-table.js","webpack:///./node_modules/cids/src/cid-util.js","webpack:///./node_modules/cids/src/index.js","webpack:///./node_modules/cipher-base/index.js","webpack:///./node_modules/class-is/index.js","webpack:///./node_modules/content-hash/src/helpers.js","webpack:///./node_modules/content-hash/src/index.js","webpack:///./node_modules/content-hash/src/profiles.js","webpack:///./node_modules/crc-32/crc32.js","webpack:///./node_modules/create-ecdh/browser.js","webpack:///./node_modules/create-hash/browser.js","webpack:///./node_modules/create-hash/md5.js","webpack:///./node_modules/create-hmac/browser.js","webpack:///./node_modules/create-hmac/legacy.js","webpack:///./node_modules/cross-fetch/dist/browser-polyfill.js","webpack:///./node_modules/crypto-browserify/index.js","webpack:///./node_modules/decode-uri-component/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/cipher.js","webpack:///./node_modules/des.js/lib/des/des.js","webpack:///./node_modules/des.js/lib/des/ede.js","webpack:///./node_modules/des.js/lib/des/utils.js","webpack:///./node_modules/diffie-hellman/browser.js","webpack:///./node_modules/diffie-hellman/lib/dh.js","webpack:///./node_modules/diffie-hellman/lib/generatePrime.js","webpack:///./node_modules/elliptic/lib/elliptic.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/mont.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///./node_modules/elliptic/lib/elliptic/curves.js","webpack:///./node_modules/elliptic/lib/elliptic/ec/index.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/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack:///./node_modules/elliptic/lib/elliptic/utils.js","webpack:///./node_modules/es5-ext/global.js","webpack:///lib/es6-promise/utils.js","webpack:///lib/es6-promise/asap.js","webpack:///lib/es6-promise/then.js","webpack:///lib/es6-promise/promise/resolve.js","webpack:///lib/es6-promise/-internal.js","webpack:///lib/es6-promise/enumerator.js","webpack:///lib/es6-promise/promise.js","webpack:///lib/es6-promise/promise/all.js","webpack:///lib/es6-promise/promise/race.js","webpack:///lib/es6-promise/promise/reject.js","webpack:///lib/es6-promise.js","webpack:///lib/es6-promise/polyfill.js","webpack:///./node_modules/eth-ens-namehash/index.js","webpack:///./node_modules/eth-lib/lib/account.js","webpack:///./node_modules/eth-lib/lib/array.js","webpack:///./node_modules/eth-lib/lib/bytes.js","webpack:///./node_modules/eth-lib/lib/hash.js","webpack:///./node_modules/eth-lib/lib/nat.js","webpack:///./node_modules/eth-lib/lib/rlp.js","webpack:///./node_modules/ethereum-bloom-filters/dist/index.js","webpack:///./node_modules/ethereum-bloom-filters/dist/utils.js","webpack:///./node_modules/ethereum-bloom-filters/node_modules/js-sha3/src/sha3.js","webpack:///src/hash-utils.ts","webpack:///src/keccak.ts","webpack:///src/random.ts","webpack:///src/secp256k1.ts","webpack:///../src/account.ts","webpack:///../src/address.ts","webpack:///../src/bytes.ts","webpack:///../src/constants.ts","webpack:///../src/externals.ts","webpack:///../src/hash.ts","webpack:///../src/helpers.ts","webpack:///../src/internal.ts","webpack:///../src/object.ts","webpack:///../src/signature.ts","webpack:///./node_modules/ethjs-unit/lib/index.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/evp_bytestokey/index.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/global/window.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/hash-base/index.js","webpack:///./node_modules/hash.js/lib/hash.js","webpack:///./node_modules/hash.js/lib/hash/common.js","webpack:///./node_modules/hash.js/lib/hash/hmac.js","webpack:///./node_modules/hash.js/lib/hash/ripemd.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/256.js","webpack:///./node_modules/hash.js/lib/hash/sha/384.js","webpack:///./node_modules/hash.js/lib/hash/sha/512.js","webpack:///./node_modules/hash.js/lib/hash/sha/common.js","webpack:///./node_modules/hash.js/lib/hash/utils.js","webpack:///./node_modules/hmac-drbg/lib/hmac-drbg.js","webpack:///./node_modules/https-browserify/index.js","webpack:///./node_modules/idna-uts46-hx/idna-map.js","webpack:///./node_modules/idna-uts46-hx/node_modules/punycode/punycode.js","webpack:///./node_modules/idna-uts46-hx/uts46.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/is-function/index.js","webpack:///./node_modules/is-generator-function/index.js","webpack:///./node_modules/is-hex-prefixed/src/index.js","webpack:///./node_modules/is-typed-array/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/js-sha3/src/sha3.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-state-unroll.js","webpack:///./node_modules/keccak/lib/keccak.js","webpack:///./node_modules/md5.js/index.js","webpack:///./node_modules/miller-rabin/lib/mr.js","webpack:///./node_modules/minimalistic-assert/index.js","webpack:///./node_modules/minimalistic-crypto-utils/lib/utils.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/multibase/src/constants.js","webpack:///./node_modules/multibase/src/index.js","webpack:///./node_modules/multicodec/src/constants.js","webpack:///./node_modules/multicodec/src/index.js","webpack:///./node_modules/multicodec/src/int-table.js","webpack:///./node_modules/multicodec/src/print.js","webpack:///./node_modules/multicodec/src/util.js","webpack:///./node_modules/multicodec/src/varint-table.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/node_modules/multibase/src/constants.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/index.js","webpack:///./node_modules/multihashes/src/constants.js","webpack:///./node_modules/multihashes/src/index.js","webpack:///./node_modules/number-to-bn/src/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/oboe/dist/oboe-browser.js","webpack:///./node_modules/parse-asn1/asn1.js","webpack:///./node_modules/parse-asn1/certificate.js","webpack:///./node_modules/parse-asn1/fixProc.js","webpack:///./node_modules/parse-asn1/index.js","webpack:///./node_modules/parse-headers/parse-headers.js","webpack:///./node_modules/pbkdf2/browser.js","webpack:///./node_modules/pbkdf2/lib/async.js","webpack:///./node_modules/pbkdf2/lib/default-encoding.js","webpack:///./node_modules/pbkdf2/lib/precondition.js","webpack:///./node_modules/pbkdf2/lib/sync-browser.js","webpack:///./node_modules/pbkdf2/lib/to-buffer.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/public-encrypt/browser.js","webpack:///./node_modules/public-encrypt/mgf.js","webpack:///./node_modules/public-encrypt/privateDecrypt.js","webpack:///./node_modules/public-encrypt/publicEncrypt.js","webpack:///./node_modules/public-encrypt/withPublic.js","webpack:///./node_modules/public-encrypt/xor.js","webpack:///./node_modules/randombytes/browser.js","webpack:///./node_modules/randomfill/browser.js","webpack:///./node_modules/readable-stream/errors-browser.js","webpack:///./node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///./node_modules/readable-stream/lib/internal/streams/state.js","webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/readable-stream/readable-browser.js","webpack:///./node_modules/ripemd160/index.js","webpack:///./node_modules/safe-buffer/index.js","webpack:///./node_modules/safer-buffer/safer.js","webpack:///./node_modules/scrypt-js/scrypt.js","webpack:///./node_modules/secp256k1/elliptic.js","webpack:///./node_modules/secp256k1/lib/elliptic.js","webpack:///./node_modules/secp256k1/lib/index.js","webpack:///./node_modules/sha.js/hash.js","webpack:///./node_modules/sha.js/index.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/sha256.js","webpack:///./node_modules/sha.js/sha384.js","webpack:///./node_modules/sha.js/sha512.js","webpack:///./node_modules/stream-browserify/index.js","webpack:///./node_modules/stream-http/index.js","webpack:///./node_modules/stream-http/lib/capability.js","webpack:///./node_modules/stream-http/lib/request.js","webpack:///./node_modules/stream-http/lib/response.js","webpack:///./node_modules/string_decoder/lib/string_decoder.js","webpack:///./node_modules/strip-hex-prefix/src/index.js","webpack:///./node_modules/swarm-js/lib/api-browser.js","webpack:///./node_modules/swarm-js/lib/pick.js","webpack:///./node_modules/swarm-js/lib/swarm-hash.js","webpack:///./node_modules/swarm-js/lib/swarm.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/array.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/bytes.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/hash.js","webpack:///./node_modules/url-set-query/index.js","webpack:///./node_modules/url/node_modules/punycode/punycode.js","webpack:///./node_modules/url/node_modules/querystring/decode.js","webpack:///./node_modules/url/node_modules/querystring/encode.js","webpack:///./node_modules/url/node_modules/querystring/index.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/utf8/utf8.js","webpack:///./node_modules/util-deprecate/browser.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/util/support/types.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/uuid/dist/commonjs-browser/index.js","webpack:///./node_modules/uuid/dist/commonjs-browser/md5.js","webpack:///./node_modules/uuid/dist/commonjs-browser/native.js","webpack:///./node_modules/uuid/dist/commonjs-browser/nil.js","webpack:///./node_modules/uuid/dist/commonjs-browser/parse.js","webpack:///./node_modules/uuid/dist/commonjs-browser/regex.js","webpack:///./node_modules/uuid/dist/commonjs-browser/rng.js","webpack:///./node_modules/uuid/dist/commonjs-browser/sha1.js","webpack:///./node_modules/uuid/dist/commonjs-browser/stringify.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v1.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v3.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v35.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v4.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v5.js","webpack:///./node_modules/uuid/dist/commonjs-browser/validate.js","webpack:///./node_modules/uuid/dist/commonjs-browser/version.js","webpack:///./node_modules/varint/decode.js","webpack:///./node_modules/varint/encode.js","webpack:///./node_modules/varint/index.js","webpack:///./node_modules/varint/length.js","webpack:///./node_modules/websocket/lib/browser.js","webpack:///./node_modules/websocket/lib/version.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///./node_modules/xhr-request/index.js","webpack:///./node_modules/xhr-request/lib/ensure-header.js","webpack:///./node_modules/xhr-request/lib/normalize-response.js","webpack:///./node_modules/xhr-request/lib/request-browser.js","webpack:///./node_modules/xhr-request/node_modules/query-string/index.js","webpack:///./node_modules/xhr-request/node_modules/strict-uri-encode/index.js","webpack:///./node_modules/xhr/index.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./packages/web3-bzz/lib/index.js","webpack:///./packages/web3-core-helpers/lib/errors.js","webpack:///./packages/web3-core-helpers/lib/formatters.js","webpack:///./packages/web3-core-helpers/lib/index.js","webpack:///./packages/web3-core-method/lib/index.js","webpack:///./packages/web3-core-promievent/lib/index.js","webpack:///./packages/web3-core-requestmanager/lib/batch.js","webpack:///./packages/web3-core-requestmanager/lib/givenProvider.js","webpack:///./packages/web3-core-requestmanager/lib/index.js","webpack:///./packages/web3-core-requestmanager/lib/jsonrpc.js","webpack:///./packages/web3-core-subscriptions/lib/index.js","webpack:///./packages/web3-core-subscriptions/lib/subscription.js","webpack:///./packages/web3-core/lib/extend.js","webpack:///./packages/web3-core/lib/index.js","webpack:///./packages/web3-eth-abi/lib/index.js","webpack:///./packages/web3-eth-accounts/lib/index.js","webpack:///./packages/web3-eth-contract/lib/index.js","webpack:///./packages/web3-eth-ens/lib/ENS.js","webpack:///./packages/web3-eth-ens/lib/config.js","webpack:///./packages/web3-eth-ens/lib/contracts/Registry.js","webpack:///./packages/web3-eth-ens/lib/index.js","webpack:///./packages/web3-eth-ens/lib/lib/ResolverMethodHandler.js","webpack:///./packages/web3-eth-ens/lib/lib/contentHash.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-iban/lib/index.js","webpack:///./packages/web3-eth-personal/lib/index.js","webpack:///./packages/web3-eth/lib/getNetworkType.js","webpack:///./packages/web3-eth/lib/index.js","webpack:///./packages/web3-net/lib/index.js","webpack:///./packages/web3-providers-http/lib/index.js","webpack:///./packages/web3-providers-ipc/lib/index.js","webpack:///./packages/web3-providers-ws/lib/helpers.js","webpack:///./packages/web3-providers-ws/lib/index.js","webpack:///./packages/web3-shh/lib/index.js","webpack:///./packages/web3-utils/lib/index.js","webpack:///./packages/web3-utils/lib/soliditySha3.js","webpack:///./packages/web3-utils/lib/utils.js","webpack:///./packages/web3/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/construct.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/get.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/superPropBase.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/amd options","webpack:///webpack/runtime/global","webpack:///webpack/runtime/node module decorator","webpack:///webpack/startup"],"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})(self, () => {\nreturn ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\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","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;\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 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","'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","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","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\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 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","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\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","import _ec from \"elliptic\";\nvar EC = _ec.ec;\nexport { EC };\n//# sourceMappingURL=elliptic.js.map",null,null,null,"(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n 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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _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 Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n 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\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'reason', {\n value: undefined,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort(reason) {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n var signalReason = reason;\n\n if (signalReason === undefined) {\n if (typeof document === 'undefined') {\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n } else {\n try {\n signalReason = new DOMException('signal is aborted without reason');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n }\n }\n }\n\n this.signal.reason = signalReason;\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n /**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\n function abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of # which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n if (!self.fetch) {\n console.warn('fetch() is not available, cannot install abortcontroller-polyfill');\n return;\n }\n\n var _abortableFetch = abortableFetchDecorator(self),\n fetch = _abortableFetch.fetch,\n Request = _abortableFetch.Request;\n\n self.fetch = fetch;\n self.Request = Request;\n Object.defineProperty(self, 'AbortController', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortController\n });\n Object.defineProperty(self, 'AbortSignal', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortSignal\n });\n })(typeof self !== 'undefined' ? self : global);\n\n}));\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 = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\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\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\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';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function 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\nconstants.der = require('./der');\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","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\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 encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\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","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","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}","// 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 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 // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\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","'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 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 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'\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","(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 off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\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","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","// 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 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 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 AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\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 xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\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","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\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 xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\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","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 DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","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","module.exports = require('./browser/algorithms.json')\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\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","/*!\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","module.exports = {\n \"100\": \"Continue\",\n \"101\": \"Switching Protocols\",\n \"102\": \"Processing\",\n \"200\": \"OK\",\n \"201\": \"Created\",\n \"202\": \"Accepted\",\n \"203\": \"Non-Authoritative Information\",\n \"204\": \"No Content\",\n \"205\": \"Reset Content\",\n \"206\": \"Partial Content\",\n \"207\": \"Multi-Status\",\n \"208\": \"Already Reported\",\n \"226\": \"IM Used\",\n \"300\": \"Multiple Choices\",\n \"301\": \"Moved Permanently\",\n \"302\": \"Found\",\n \"303\": \"See Other\",\n \"304\": \"Not Modified\",\n \"305\": \"Use Proxy\",\n \"307\": \"Temporary Redirect\",\n \"308\": \"Permanent Redirect\",\n \"400\": \"Bad Request\",\n \"401\": \"Unauthorized\",\n \"402\": \"Payment Required\",\n \"403\": \"Forbidden\",\n \"404\": \"Not Found\",\n \"405\": \"Method Not Allowed\",\n \"406\": \"Not Acceptable\",\n \"407\": \"Proxy Authentication Required\",\n \"408\": \"Request Timeout\",\n \"409\": \"Conflict\",\n \"410\": \"Gone\",\n \"411\": \"Length Required\",\n \"412\": \"Precondition Failed\",\n \"413\": \"Payload Too Large\",\n \"414\": \"URI Too Long\",\n \"415\": \"Unsupported Media Type\",\n \"416\": \"Range Not Satisfiable\",\n \"417\": \"Expectation Failed\",\n \"418\": \"I'm a teapot\",\n \"421\": \"Misdirected Request\",\n \"422\": \"Unprocessable Entity\",\n \"423\": \"Locked\",\n \"424\": \"Failed Dependency\",\n \"425\": \"Unordered Collection\",\n \"426\": \"Upgrade Required\",\n \"428\": \"Precondition Required\",\n \"429\": \"Too Many Requests\",\n \"431\": \"Request Header Fields Too Large\",\n \"451\": \"Unavailable For Legal Reasons\",\n \"500\": \"Internal Server Error\",\n \"501\": \"Not Implemented\",\n \"502\": \"Bad Gateway\",\n \"503\": \"Service Unavailable\",\n \"504\": \"Gateway Timeout\",\n \"505\": \"HTTP Version Not Supported\",\n \"506\": \"Variant Also Negotiates\",\n \"507\": \"Insufficient Storage\",\n \"508\": \"Loop Detected\",\n \"509\": \"Bandwidth Limit Exceeded\",\n \"510\": \"Not Extended\",\n \"511\": \"Network Authentication Required\"\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for codecConstant -> code\nconst constants = {}\n\nfor (const [name, code] of Object.entries(table)) {\n constants[name.toUpperCase().replace(/-/g, '_')] = code\n}\n\nmodule.exports = Object.freeze(constants)\n","/**\n * Implementation of the multicodec specification.\n *\n * @module multicodec\n * @example\n * const multicodec = require('multicodec')\n *\n * const prefixedProtobuf = multicodec.addPrefix('protobuf', protobufBuffer)\n * // prefixedProtobuf 0x50...\n *\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst varint = require('varint')\nconst intTable = require('./int-table')\nconst codecNameToCodeVarint = require('./varint-table')\nconst util = require('./util')\n\nexports = module.exports\n\n/**\n * Prefix a buffer with a multicodec-packed.\n *\n * @param {string|number} multicodecStrOrCode\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.addPrefix = (multicodecStrOrCode, data) => {\n let prefix\n\n if (Buffer.isBuffer(multicodecStrOrCode)) {\n prefix = util.varintBufferEncode(multicodecStrOrCode)\n } else {\n if (codecNameToCodeVarint[multicodecStrOrCode]) {\n prefix = codecNameToCodeVarint[multicodecStrOrCode]\n } else {\n throw new Error('multicodec not recognized')\n }\n }\n return Buffer.concat([prefix, data])\n}\n\n/**\n * Decapsulate the multicodec-packed prefix from the data.\n *\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.rmPrefix = (data) => {\n varint.decode(data)\n return data.slice(varint.decode.bytes)\n}\n\n/**\n * Get the codec of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {string}\n */\nexports.getCodec = (prefixedData) => {\n const code = varint.decode(prefixedData)\n const codecName = intTable.get(code)\n if (codecName === undefined) {\n throw new Error(`Code ${code} not found`)\n }\n return codecName\n}\n\n/**\n * Get the name of the codec.\n * @param {number} codec\n * @returns {string}\n */\nexports.getName = (codec) => {\n return intTable.get(codec)\n}\n\n/**\n * Get the code of the codec\n * @param {string} name\n * @returns {number}\n */\nexports.getNumber = (name) => {\n const code = codecNameToCodeVarint[name]\n if (code === undefined) {\n throw new Error('Codec `' + name + '` not found')\n }\n return util.varintBufferDecode(code)[0]\n}\n\n/**\n * Get the code of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {number}\n */\nexports.getCode = (prefixedData) => {\n return varint.decode(prefixedData)\n}\n\n/**\n * Get the code as varint of a codec name.\n * @param {string} codecName\n * @returns {Buffer}\n */\nexports.getCodeVarint = (codecName) => {\n const code = codecNameToCodeVarint[codecName]\n if (code === undefined) {\n throw new Error('Codec `' + codecName + '` not found')\n }\n return code\n}\n\n/**\n * Get the varint of a code.\n * @param {Number} code\n * @returns {Array.}\n */\nexports.getVarint = (code) => {\n return varint.encode(code)\n}\n\n// Make the constants top-level constants\nconst constants = require('./constants')\nObject.assign(exports, constants)\n\n// Human friendly names for printing, e.g. in error messages\nexports.print = require('./print')\n","'use strict'\nconst baseTable = require('./base-table.json')\n\n// map for hexString -> codecName\nconst nameTable = new Map()\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n nameTable.set(code, encodingName)\n}\n\nmodule.exports = Object.freeze(nameTable)\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for code -> print friendly name\nconst tableByCode = {}\n\nfor (const [name, code] of Object.entries(table)) {\n if (tableByCode[code] === undefined) tableByCode[code] = name\n}\n\nmodule.exports = Object.freeze(tableByCode)\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","'use strict'\n\nconst baseTable = require('./base-table.json')\nconst varintEncode = require('./util').varintEncode\n\n// map for codecName -> codeVarintBuffer\nconst varintTable = {}\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n varintTable[encodingName] = varintEncode(code)\n}\n\nmodule.exports = Object.freeze(varintTable)\n","'use strict'\n\nconst mh = require('multihashes')\nconst { Buffer } = require('buffer')\nvar CIDUtil = {\n /**\n * Test if the given input is a valid CID object.\n * Returns an error message if it is not.\n * Returns undefined if it is a valid CID.\n *\n * @param {any} other\n * @returns {string}\n */\n checkCIDComponents: function (other) {\n if (other == null) {\n return 'null values are not valid CIDs'\n }\n\n if (!(other.version === 0 || other.version === 1)) {\n return 'Invalid version, must be a number equal to 1 or 0'\n }\n\n if (typeof other.codec !== 'string') {\n return 'codec must be string'\n }\n\n if (other.version === 0) {\n if (other.codec !== 'dag-pb') {\n return \"codec must be 'dag-pb' for CIDv0\"\n }\n if (other.multibaseName !== 'base58btc') {\n return \"multibaseName must be 'base58btc' for CIDv0\"\n }\n }\n\n if (!Buffer.isBuffer(other.multihash)) {\n return 'multihash must be a Buffer'\n }\n\n try {\n mh.validate(other.multihash)\n } catch (err) {\n let errorMsg = err.message\n if (!errorMsg) { // Just in case mh.validate() throws an error with empty error message\n errorMsg = 'Multihash validation failed'\n }\n return errorMsg\n }\n }\n}\n\nmodule.exports = CIDUtil\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","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';\n\nfunction withIs(Class, { className, symbolName }) {\n const symbol = Symbol.for(symbolName);\n\n const ClassIsWrapper = {\n // The code below assigns the class wrapper to an object to trick\n // JavaScript engines to show the name of the extended class when\n // logging an instances.\n // We are assigning an anonymous class (class wrapper) to the object\n // with key `className` to keep the correct name.\n // If this is not supported it falls back to logging `ClassIsWrapper`.\n [className]: class extends Class {\n constructor(...args) {\n super(...args);\n Object.defineProperty(this, symbol, { value: true });\n }\n\n get [Symbol.toStringTag]() {\n return className;\n }\n },\n }[className];\n\n ClassIsWrapper[`is${className}`] = (obj) => !!(obj && obj[symbol]);\n\n return ClassIsWrapper;\n}\n\nfunction withIsProto(Class, { className, symbolName, withoutNew }) {\n const symbol = Symbol.for(symbolName);\n\n /* eslint-disable object-shorthand */\n const ClassIsWrapper = {\n [className]: function (...args) {\n if (withoutNew && !(this instanceof ClassIsWrapper)) {\n return new ClassIsWrapper(...args);\n }\n\n const _this = Class.call(this, ...args) || this;\n\n if (_this && !_this[symbol]) {\n Object.defineProperty(_this, symbol, { value: true });\n }\n\n return _this;\n },\n }[className];\n /* eslint-enable object-shorthand */\n\n ClassIsWrapper.prototype = Object.create(Class.prototype);\n ClassIsWrapper.prototype.constructor = ClassIsWrapper;\n\n Object.defineProperty(ClassIsWrapper.prototype, Symbol.toStringTag, {\n get() {\n return className;\n },\n });\n\n ClassIsWrapper[`is${className}`] = (obj) => !!(obj && obj[symbol]);\n\n return ClassIsWrapper;\n}\n\nmodule.exports = withIs;\nmodule.exports.proto = withIsProto;\n","/*\r\n\tISC License\r\n\r\n\tCopyright (c) 2019, Pierre-Louis Despaigne\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted, provided that the above\r\n\tcopyright notice and this permission notice appear in all copies.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n\tWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n\tMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n\tANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n\tWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n\tACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n\tOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n*/\r\n\r\nconst CID = require('cids');\r\n\r\n/**\r\n * Take any ipfsHash and convert it to a CID v1 encoded in base32.\r\n * @param {string} ipfsHash a regular ipfs hash either a cid v0 or v1 (v1 will remain unchanged)\r\n * @return {string} the resulting ipfs hash as a cid v1\r\n */\r\nconst cidV0ToV1Base32 = (ipfsHash) => {\r\n\tlet cid = new CID(ipfsHash);\r\n\tif (cid.version === 0) {\r\n\t\tcid = cid.toV1();\r\n\t}\r\n\treturn cid.toString('base32');\r\n}\r\n\r\nexports.cidV0ToV1Base32 = cidV0ToV1Base32;\r\n","/*\r\n\tISC License\r\n\r\n\tCopyright (c) 2019, Pierre-Louis Despaigne\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted, provided that the above\r\n\tcopyright notice and this permission notice appear in all copies.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n\tWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n\tMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n\tANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n\tWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n\tACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n\tOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n*/\r\n\r\nconst multiC = require('multicodec');\r\n\r\nconst { hexStringToBuffer, profiles } = require('./profiles');\r\nconst { cidV0ToV1Base32 } = require('./helpers');\r\n\r\nmodule.exports = {\r\n\r\n\t//export some helpers functions\r\n\thelpers: {\r\n\t\tcidV0ToV1Base32,\r\n\t},\r\n\r\n\t/**\r\n\t* Decode a Content Hash.\r\n\t* @param {string} hash an hex string containing a content hash\r\n\t* @return {string} the decoded content\r\n\t*/\r\n\tdecode: function (contentHash) {\r\n\t\tconst buffer = hexStringToBuffer(contentHash);\r\n\t\tconst codec = multiC.getCodec(buffer);\r\n\t\tconst value = multiC.rmPrefix(buffer);\r\n\t\tlet profile = profiles[codec];\r\n\t\tif (!profile) profile = profiles['default'];\r\n\t\treturn profile.decode(value);\r\n\t},\r\n\r\n\t/**\r\n\t* Encode an IPFS address into a content hash\r\n\t* @param {string} ipfsHash string containing an IPFS address\r\n\t* @return {string} the resulting content hash\r\n\t*/\r\n\tfromIpfs: function (ipfsHash) {\r\n\t\treturn this.encode('ipfs-ns', ipfsHash);\r\n\t},\r\n\r\n\t/**\r\n\t* Encode a Swarm address into a content hash\r\n\t* @param {string} swarmHash string containing a Swarm address\r\n\t* @return {string} the resulting content hash\r\n\t*/\r\n\tfromSwarm: function (swarmHash) {\r\n\t\treturn this.encode('swarm-ns', swarmHash);\r\n\t},\r\n\r\n\t/**\r\n\t* General purpose encoding function\r\n * @param {string} codec \r\n * @param {string} value \r\n */\r\n\tencode: function (codec, value) {\r\n\t\tlet profile = profiles[codec];\r\n\t\tif (!profile) profile = profiles['default'];\r\n\t\tconst encodedValue = profile.encode(value);\r\n\t\treturn multiC.addPrefix(codec, encodedValue).toString('hex');\r\n\t},\r\n\r\n\t/**\r\n\t* Extract the codec of a content hash\r\n\t* @param {string} hash hex string containing a content hash\r\n\t* @return {string} the extracted codec\r\n\t*/\r\n\tgetCodec: function (hash) {\r\n\t\tlet buffer = hexStringToBuffer(hash);\r\n\t\treturn multiC.getCodec(buffer);\r\n\t},\r\n}\r\n","/*\r\n\tISC License\r\n\r\n\tCopyright (c) 2019, Pierre-Louis Despaigne\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted, provided that the above\r\n\tcopyright notice and this permission notice appear in all copies.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n\tWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n\tMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n\tANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n\tWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n\tACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n\tOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n*/\r\n\r\nconst CID = require('cids');\r\nconst multiH = require('multihashes');\r\n\r\n/**\r\n * Convert an hexadecimal string to a Buffer, the string can start with or without '0x'\r\n * @param {string} hex an hexadecimal value\r\n * @return {Buffer} the resulting Buffer\r\n */\r\nconst hexStringToBuffer = (hex) => {\r\n\tlet prefix = hex.slice(0, 2);\r\n\tlet value = hex.slice(2);\r\n\tlet res = '';\r\n\tif (prefix === '0x') res = value;\r\n\telse res = hex;\r\n\treturn multiH.fromHexString(res);\r\n}\r\n\r\n/**\r\n* list of known encoding,\r\n* encoding should be a function that takes a `string` input,\r\n* and return a `Buffer` result\r\n*/\r\nconst encodes = {\r\n /**\r\n * @param {string} value\r\n * @return {Buffer}\r\n */\r\n swarm: (value) => {\r\n const multihash = multiH.encode(hexStringToBuffer(value), 'keccak-256');\r\n\t\treturn new CID(1, 'swarm-manifest', multihash).buffer;\r\n },\r\n /**\r\n * @param {string} value\r\n * @return {Buffer}\r\n */\r\n ipfs: (value) => {\r\n const multihash = multiH.fromB58String(value);\r\n return new CID(1, 'dag-pb', multihash).buffer;\r\n },\r\n /**\r\n * @param {string} value\r\n * @return {Buffer}\r\n */\r\n utf8: (value) => {\r\n return Buffer.from(value, 'utf8');\r\n },\r\n};\r\n\r\n/** \r\n* list of known decoding,\r\n* decoding should be a function that takes a `Buffer` input,\r\n* and return a `string` result\r\n*/\r\nconst decodes = {\r\n /**\r\n * @param {Buffer} value \r\n */\r\n hexMultiHash: (value) => {\r\n const cid = new CID(value);\r\n return multiH.decode(cid.multihash).digest.toString('hex');\r\n },\r\n /**\r\n * @param {Buffer} value \r\n */\r\n b58MultiHash: (value) => {\r\n const cid = new CID(value);\r\n return multiH.toB58String(cid.multihash);\r\n },\r\n /**\r\n * @param {Buffer} value \r\n */\r\n utf8: (value) => {\r\n return value.toString('utf8');\r\n },\r\n};\r\n\r\n/**\r\n* list of known encoding/decoding for a given codec,\r\n* `encode` should be chosen among the `encodes` functions\r\n* `decode` should be chosen among the `decodes` functions\r\n*/\r\nconst profiles = {\r\n 'swarm-ns': {\r\n encode: encodes.swarm,\r\n decode: decodes.hexMultiHash,\r\n },\r\n 'ipfs-ns': {\r\n encode: encodes.ipfs,\r\n decode: decodes.b58MultiHash,\r\n },\r\n 'ipns-ns': {\r\n encode: encodes.ipfs,\r\n decode: decodes.b58MultiHash,\r\n },\r\n 'default': {\r\n encode: encodes.utf8,\r\n decode: decodes.utf8,\r\n },\r\n};\r\n\r\nexports.hexStringToBuffer = hexStringToBuffer;\r\nexports.profiles = profiles;","/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tif(typeof DO_NOT_EXPORT_CRC === 'undefined') {\n\t\tif('object' === typeof exports) {\n\t\t\tfactory(exports);\n\t\t} else if ('function' === typeof define && define.amd) {\n\t\t\tdefine(function () {\n\t\t\t\tvar module = {};\n\t\t\t\tfactory(module);\n\t\t\t\treturn module;\n\t\t\t});\n\t\t} else {\n\t\t\tfactory(CRC32 = {});\n\t\t}\n\t} else {\n\t\tfactory(CRC32 = {});\n\t}\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.2';\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B, seed) {\n\tvar C = seed ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\n// $FlowIgnore\nCRC32.bstr = crc32_bstr;\n// $FlowIgnore\nCRC32.buf = crc32_buf;\n// $FlowIgnore\nCRC32.str = crc32_str;\n}));\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\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","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\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","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\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\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(typeof self !== 'undefined' ? self : this);\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","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\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","'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","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\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","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\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","'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\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';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\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 BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\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","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\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","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","export function objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n return x !== null && typeof x === 'object';\n}\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nexport var isArray = _isArray;","var len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nexport var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nexport function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}","import { invokeCallback, subscribe, FULFILLED, REJECTED, noop, makePromise, PROMISE_ID } from './-internal';\n\nimport { asap } from './asap';\n\nexport default function then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}","import { noop, resolve as _resolve } from '../-internal';\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nexport default function resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}","import { objectOrFunction, isFunction } from './utils';\n\nimport { asap } from './asap';\n\nimport originalThen from './then';\nimport originalResolve from './promise/resolve';\n\nexport var PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then) {\n if (maybeThenable.constructor === promise.constructor && then === originalThen && maybeThenable.constructor.resolve === originalResolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then)) {\n handleForeignThenable(promise, maybeThenable, then);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then = void 0;\n try {\n then = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nexport { nextId, makePromise, noop, resolve, reject, fulfill, subscribe, publish, publishRejection, initializePromise, invokeCallback, FULFILLED, REJECTED, PENDING, handleMaybeThenable };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isArray, isMaybeThenable } from './utils';\nimport { noop, reject, fulfill, subscribe, FULFILLED, REJECTED, PENDING, handleMaybeThenable } from './-internal';\n\nimport then from './then';\nimport Promise from './promise';\nimport originalResolve from './promise/resolve';\nimport originalThen from './then';\nimport { makePromise, PROMISE_ID } from './-internal';\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve = c.resolve;\n\n\n if (resolve === originalResolve) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === originalThen && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve) {\n return resolve(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\nexport default Enumerator;\n;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isFunction } from './utils';\nimport { noop, nextId, PROMISE_ID, initializePromise } from './-internal';\nimport { asap, setAsap, setScheduler } from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\nimport then from './then';\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","import Enumerator from '../enumerator';\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nexport default function all(entries) {\n return new Enumerator(this, entries).promise;\n}","import { isArray } from \"../utils\";\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nexport default function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}","import { noop, reject as _reject } from '../-internal';\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","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","const Bytes = require(\"./bytes\");\nconst Nat = require(\"./nat\");\nconst elliptic = require(\"elliptic\");\nconst rlp = require(\"./rlp\");\nconst secp256k1 = new elliptic.ec(\"secp256k1\"); // eslint-disable-line\nconst { keccak256, keccak256s } = require(\"./hash\");\n\nconst create = entropy => {\n const innerHex = keccak256(Bytes.concat(Bytes.random(32), entropy || Bytes.random(32)));\n const middleHex = Bytes.concat(Bytes.concat(Bytes.random(32), innerHex), Bytes.random(32));\n const outerHex = keccak256(middleHex);\n return fromPrivate(outerHex);\n};\n\nconst toChecksum = address => {\n const addressHash = keccak256s(address.slice(2));\n let checksumAddress = \"0x\";\n for (let i = 0; i < 40; i++) checksumAddress += parseInt(addressHash[i + 2], 16) > 7 ? address[i + 2].toUpperCase() : address[i + 2];\n return checksumAddress;\n};\n\nconst fromPrivate = privateKey => {\n const buffer = new Buffer(privateKey.slice(2), \"hex\");\n const ecKey = secp256k1.keyFromPrivate(buffer);\n const publicKey = \"0x\" + ecKey.getPublic(false, 'hex').slice(2);\n const publicHash = keccak256(publicKey);\n const address = toChecksum(\"0x\" + publicHash.slice(-40));\n return {\n address: address,\n privateKey: privateKey\n };\n};\n\nconst encodeSignature = ([v, r, s]) => Bytes.flatten([r, s, v]);\n\nconst decodeSignature = hex => [Bytes.slice(64, Bytes.length(hex), hex), Bytes.slice(0, 32, hex), Bytes.slice(32, 64, hex)];\n\nconst makeSigner = addToV => (hash, privateKey) => {\n const signature = secp256k1.keyFromPrivate(new Buffer(privateKey.slice(2), \"hex\")).sign(new Buffer(hash.slice(2), \"hex\"), { canonical: true });\n return encodeSignature([Nat.fromString(Bytes.fromNumber(addToV + signature.recoveryParam)), Bytes.pad(32, Bytes.fromNat(\"0x\" + signature.r.toString(16))), Bytes.pad(32, Bytes.fromNat(\"0x\" + signature.s.toString(16)))]);\n};\n\nconst sign = makeSigner(27); // v=27|28 instead of 0|1...\n\nconst recover = (hash, signature) => {\n const vals = decodeSignature(signature);\n const vrs = { v: Bytes.toNumber(vals[0]), r: vals[1].slice(2), s: vals[2].slice(2) };\n const ecPublicKey = secp256k1.recoverPubKey(new Buffer(hash.slice(2), \"hex\"), vrs, vrs.v < 2 ? vrs.v : 1 - vrs.v % 2); // because odd vals mean v=0... sadly that means v=0 means v=1... I hate that\n const publicKey = \"0x\" + ecPublicKey.encode(\"hex\", false).slice(2);\n const publicHash = keccak256(publicKey);\n const address = toChecksum(\"0x\" + publicHash.slice(-40));\n return address;\n};\n\nmodule.exports = {\n create,\n toChecksum,\n fromPrivate,\n sign,\n makeSigner,\n recover,\n encodeSignature,\n decodeSignature\n};","const generate = (num, fn) => {\n let a = [];\n for (var i = 0; i < num; ++i) a.push(fn(i));\n return a;\n};\n\nconst replicate = (num, val) => generate(num, () => val);\n\nconst concat = (a, b) => a.concat(b);\n\nconst flatten = a => {\n let r = [];\n for (let j = 0, J = a.length; j < J; ++j) for (let i = 0, I = a[j].length; i < I; ++i) r.push(a[j][i]);\n return r;\n};\n\nconst chunksOf = (n, a) => {\n let b = [];\n for (let i = 0, l = a.length; i < l; i += n) b.push(a.slice(i, i + n));\n return b;\n};\n\nmodule.exports = {\n generate,\n replicate,\n concat,\n flatten,\n chunksOf\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};","// 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};","const BN = require(\"bn.js\");\nconst Bytes = require(\"./bytes\");\n\nconst fromBN = bn => \"0x\" + bn.toString(\"hex\");\n\nconst toBN = str => new BN(str.slice(2), 16);\n\nconst fromString = str => {\n const bn = \"0x\" + (str.slice(0, 2) === \"0x\" ? new BN(str.slice(2), 16) : new BN(str, 10)).toString(\"hex\");\n return bn === \"0x0\" ? \"0x\" : bn;\n};\n\nconst toEther = wei => toNumber(div(wei, fromString(\"10000000000\"))) / 100000000;\n\nconst fromEther = eth => mul(fromNumber(Math.floor(eth * 100000000)), fromString(\"10000000000\"));\n\nconst toString = a => toBN(a).toString(10);\n\nconst fromNumber = a => typeof a === \"string\" ? /^0x/.test(a) ? a : \"0x\" + a : \"0x\" + new BN(a).toString(\"hex\");\n\nconst toNumber = a => toBN(a).toNumber();\n\nconst toUint256 = a => Bytes.pad(32, a);\n\nconst bin = method => (a, b) => fromBN(toBN(a)[method](toBN(b)));\n\nconst add = bin(\"add\");\nconst mul = bin(\"mul\");\nconst div = bin(\"div\");\nconst sub = bin(\"sub\");\n\nmodule.exports = {\n toString,\n fromString,\n toNumber,\n fromNumber,\n toEther,\n fromEther,\n toUint256,\n add,\n mul,\n div,\n sub\n};","// The RLP format\n// Serialization and deserialization for the BytesTree type, under the following grammar:\n// | First byte | Meaning |\n// | ---------- | -------------------------------------------------------------------------- |\n// | 0 to 127 | HEX(leaf) |\n// | 128 to 183 | HEX(length_of_leaf + 128) + HEX(leaf) |\n// | 184 to 191 | HEX(length_of_length_of_leaf + 128 + 55) + HEX(length_of_leaf) + HEX(leaf) |\n// | 192 to 247 | HEX(length_of_node + 192) + HEX(node) |\n// | 248 to 255 | HEX(length_of_length_of_node + 128 + 55) + HEX(length_of_node) + HEX(node) |\n\nconst encode = tree => {\n const padEven = str => str.length % 2 === 0 ? str : \"0\" + str;\n\n const uint = num => padEven(num.toString(16));\n\n const length = (len, add) => len < 56 ? uint(add + len) : uint(add + uint(len).length / 2 + 55) + uint(len);\n\n const dataTree = tree => {\n if (typeof tree === \"string\") {\n const hex = tree.slice(2);\n const pre = hex.length != 2 || hex >= \"80\" ? length(hex.length / 2, 128) : \"\";\n return pre + hex;\n } else {\n const hex = tree.map(dataTree).join(\"\");\n const pre = length(hex.length / 2, 192);\n return pre + hex;\n }\n };\n\n return \"0x\" + dataTree(tree);\n};\n\nconst decode = hex => {\n let i = 2;\n\n const parseTree = () => {\n if (i >= hex.length) throw \"\";\n const head = hex.slice(i, i + 2);\n return head < \"80\" ? (i += 2, \"0x\" + head) : head < \"c0\" ? parseHex() : parseList();\n };\n\n const parseLength = () => {\n const len = parseInt(hex.slice(i, i += 2), 16) % 64;\n return len < 56 ? len : parseInt(hex.slice(i, i += (len - 55) * 2), 16);\n };\n\n const parseHex = () => {\n const len = parseLength();\n return \"0x\" + hex.slice(i, i += len * 2);\n };\n\n const parseList = () => {\n const lim = parseLength() * 2 + i;\n let list = [];\n while (i < lim) list.push(parseTree());\n return list;\n };\n\n try {\n return parseTree();\n } catch (e) {\n return [];\n }\n};\n\nmodule.exports = { encode, decode };","\"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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'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};","'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","// 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 objectCreate = Object.create || objectCreatePolyfill\nvar objectKeys = Object.keys || objectKeysPolyfill\nvar bind = Function.prototype.bind || functionBindPolyfill\n\nfunction EventEmitter() {\n if (!this._events || !Object.prototype.hasOwnProperty.call(this, '_events')) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\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\nvar hasDefineProperty;\ntry {\n var o = {};\n if (Object.defineProperty) Object.defineProperty(o, 'x', { value: 0 });\n hasDefineProperty = o.x === 0;\n} catch (err) { hasDefineProperty = false }\nif (hasDefineProperty) {\n Object.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n // check whether the input is a positive number (whose value is zero or\n // greater and not a NaN).\n if (typeof arg !== 'number' || arg < 0 || arg !== arg)\n throw new TypeError('\"defaultMaxListeners\" must be a positive number');\n defaultMaxListeners = arg;\n }\n });\n} else {\n EventEmitter.defaultMaxListeners = defaultMaxListeners;\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 || isNaN(n))\n throw new TypeError('\"n\" argument must be a positive number');\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\n// These standalone emit* functions are used to optimize calling of event\n// handlers for fast cases because emit() itself often has a variable number of\n// arguments and can be deoptimized because of that. These functions always have\n// the same number of arguments and thus do not get deoptimized, so the code\n// inside them can execute faster.\nfunction emitNone(handler, isFn, self) {\n if (isFn)\n handler.call(self);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self);\n }\n}\nfunction emitOne(handler, isFn, self, arg1) {\n if (isFn)\n handler.call(self, arg1);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1);\n }\n}\nfunction emitTwo(handler, isFn, self, arg1, arg2) {\n if (isFn)\n handler.call(self, arg1, arg2);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2);\n }\n}\nfunction emitThree(handler, isFn, self, arg1, arg2, arg3) {\n if (isFn)\n handler.call(self, arg1, arg2, arg3);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2, arg3);\n }\n}\n\nfunction emitMany(handler, isFn, self, args) {\n if (isFn)\n handler.apply(self, args);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].apply(self, args);\n }\n}\n\nEventEmitter.prototype.emit = function emit(type) {\n var er, handler, len, args, i, events;\n var doError = (type === 'error');\n\n events = this._events;\n if (events)\n doError = (doError && events.error == null);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n if (arguments.length > 1)\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Unhandled \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n return false;\n }\n\n handler = events[type];\n\n if (!handler)\n return false;\n\n var isFn = typeof handler === 'function';\n len = arguments.length;\n switch (len) {\n // fast cases\n case 1:\n emitNone(handler, isFn, this);\n break;\n case 2:\n emitOne(handler, isFn, this, arguments[1]);\n break;\n case 3:\n emitTwo(handler, isFn, this, arguments[1], arguments[2]);\n break;\n case 4:\n emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);\n break;\n // slower\n default:\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n emitMany(handler, isFn, 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 if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = target._events;\n if (!events) {\n events = target._events = objectCreate(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) {\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) {\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 } else {\n // If we've already got an array, just append.\n if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n }\n\n // Check for listener leak\n if (!existing.warned) {\n m = $getMaxListeners(target);\n if (m && m > 0 && existing.length > m) {\n existing.warned = true;\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 if (typeof console === 'object' && console.warn) {\n console.warn('%s: %s', w.name, w.message);\n }\n }\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 switch (arguments.length) {\n case 0:\n return this.listener.call(this.target);\n case 1:\n return this.listener.call(this.target, arguments[0]);\n case 2:\n return this.listener.call(this.target, arguments[0], arguments[1]);\n case 3:\n return this.listener.call(this.target, arguments[0], arguments[1],\n arguments[2]);\n default:\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; ++i)\n args[i] = arguments[i];\n this.listener.apply(this.target, args);\n }\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = bind.call(onceWrapper, state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\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 if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = this._events;\n if (!events)\n return this;\n\n list = events[type];\n if (!list)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(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 if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (!events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!events.removeListener) {\n if (arguments.length === 0) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n } else if (events[type]) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(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 = objectKeys(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 = objectCreate(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) {\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)\n return [];\n\n var evlistener = events[type];\n if (!evlistener)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ? 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) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\n\n// About 1.5x faster than the two-arg version of Array#splice().\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)\n list[i] = list[k];\n list.pop();\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 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 objectCreatePolyfill(proto) {\n var F = function() {};\n F.prototype = proto;\n return new F;\n}\nfunction objectKeysPolyfill(obj) {\n var keys = [];\n for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k)) {\n keys.push(k);\n }\n return k;\n}\nfunction functionBindPolyfill(context) {\n var fn = this;\n return function () {\n return fn.apply(context, arguments);\n };\n}\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 isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\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","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';\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 Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\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 Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\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 rh = [\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 s = [\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 sh = [\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","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.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\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\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\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\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};\n\nSHA1.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 SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\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');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), '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","'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 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 hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\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","/* This file is generated from the Unicode IDNA table, using\n the build-unicode-tables.py script. Please edit that\n script instead of this file. */\n\n/* istanbul ignore next */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () { return factory(); });\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.uts46_map = factory();\n }\n}(this, function () {\nvar blocks = [\n new Uint32Array([2157250,2157314,2157378,2157442,2157506,2157570,2157634,0,2157698,2157762,2157826,2157890,2157954,0,2158018,0]),\n new Uint32Array([2179041,6291456,2179073,6291456,2179105,6291456,2179137,6291456,2179169,6291456,2179201,6291456,2179233,6291456,2179265,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([0,2113729,2197345,2197377,2113825,2197409,2197441,2113921,2197473,2114017,2197505,2197537,2197569,2197601,2197633,2197665]),\n new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672,23068672,0,0,0,0,23068672]),\n new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064]),\n new Uint32Array([2196001,2196033,2196065,2196097,2196129,2196161,2196193,2196225,2196257,2196289,2196321,2196353,2196385,2196417,2196449,2196481]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,0,0,0,0,0]),\n new Uint32Array([2097281,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([2177025,6291456,2177057,6291456,2177089,6291456,2177121,6291456,2177153,6291456,2177185,6291456,2177217,6291456,2177249,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456]),\n new Uint32Array([2134435,2134531,2134627,2134723,2134723,2134819,2134819,2134915,2134915,2135011,2105987,2135107,2135203,2135299,2131587,2135395]),\n new Uint32Array([0,0,0,0,0,0,0,6291456,2168673,2169249,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354,2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354]),\n new Uint32Array([2125219,2125315,2152834,2152898,2125411,2152962,2153026,2125506,2125507,2125603,2153090,2153154,2153218,2153282,2153346,2105348]),\n new Uint32Array([2203393,6291456,2203425,6291456,2203457,6291456,2203489,6291456,6291456,6291456,6291456,2203521,6291456,2181281,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,6291456,2145538,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,6291456]),\n new Uint32Array([2139426,2160834,2160898,2160962,2134242,2161026,2161090,2161154,2161218,2161282,2161346,2161410,2138658,2161474,2161538,2134722]),\n new Uint32Array([2119939,2124930,2125026,2106658,2125218,2128962,2129058,2129154,2129250,2129346,2129442,2108866,2108770,2150466,2150530,2150594]),\n new Uint32Array([2201601,6291456,2201633,6291456,2201665,6291456,2201697,6291456,2201729,6291456,2201761,6291456,2201793,6291456,2201825,6291456]),\n new Uint32Array([2193537,2193569,2193601,2193633,2193665,2193697,2193729,2193761,2193793,2193825,2193857,2193889,2193921,2193953,2193985,2194017]),\n new Uint32Array([6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2190561,6291456,2190593,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2190625,6291456,2190657,6291456,23068672]),\n new Uint32Array([2215905,2215937,2215969,2216001,2216033,2216065,2216097,2216129,2216161,2216193,2216225,2216257,2105441,2216289,2216321,2216353]),\n new Uint32Array([23068672,18884130,23068672,23068672,23068672,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2191233,2191265,2191297,2191329,2191361,2191393,2191425,2117377,2191457,2191489,2191521,2191553,2191585,2191617,2191649,2117953]),\n new Uint32Array([2132227,2132323,2132419,2132419,2132515,2132515,2132611,2132707,2132707,2132803,2132899,2132899,2132995,2132995,2133091,2133187]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,0,0]),\n new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10609889,10610785,10609921,10610817,2222241]),\n new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),\n new Uint32Array([2219969,2157121,2157441,2157505,2157889,2157953,2220001,2158465,2158529,10575617,2156994,2157058,2129923,2130019,2157122,2157186]),\n new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2185249,6291456,2185281,6291456,2185313,6291456,2185345,6291456,2185377,6291456,2185409,6291456,2185441,6291456,2185473,6291456]),\n new Uint32Array([0,0,0,0,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,6291456,0]),\n new Uint32Array([2183361,6291456,2183393,6291456,2183425,6291456,2183457,6291456,2183489,6291456,2183521,6291456,2183553,6291456,2183585,6291456]),\n new Uint32Array([2192161,2192193,2192225,2192257,2192289,2192321,2192353,2192385,2192417,2192449,2192481,2192513,2192545,2192577,2192609,2192641]),\n new Uint32Array([2212001,2212033,2212065,2212097,2212129,2212161,2212193,2212225,2212257,2212289,2212321,2212353,2212385,2212417,2212449,2207265]),\n new Uint32Array([2249825,2249857,2249889,2249921,2249954,2250018,2250082,2250145,2250177,2250209,2250241,2250274,2250337,2250370,2250433,2250465]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147905,2147969,2148033,2148097,2148161,2148225,2148289,2148353]),\n new Uint32Array([10485857,6291456,2197217,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2180353,2180385,2144033,2180417,2180449,2180481,2180513,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10610209,10610465,10610241,10610753,10609857]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),\n new Uint32Array([2223842,2223906,2223970,2224034,2224098,2224162,2224226,2224290,2224354,2224418,2224482,2224546,2224610,2224674,2224738,2224802]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([23068672,23068672,23068672,18923650,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,18923714,23068672,23068672]),\n new Uint32Array([2126179,2125538,2126275,2126371,2126467,2125634,2126563,2105603,2105604,2125346,2126659,2126755,2126851,2098179,2098181,2098182]),\n new Uint32Array([2227426,2227490,2227554,2227618,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2192353,2240642,2240642,2240705,2240737,2240737,2240769,2240802,2240866,2240929,2240961,2240993,2241025,2241057,2241089,2241121]),\n new Uint32Array([6291456,2170881,2170913,2170945,6291456,2170977,6291456,2171009,2171041,6291456,6291456,6291456,2171073,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2132226,2132514,2163586,2132610,2160386,2133090,2133186,2160450,2160514,2160578,2133570,2106178,2160642,2133858,2160706,2160770]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10532162,10532226,10532290,10532354,10532418,10532482,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),\n new Uint32Array([2098209,2108353,2108193,2108481,2170241,2111713,2105473,2105569,2105601,2112289,2112481,2098305,2108321,0,0,0]),\n new Uint32Array([2209121,2209153,2209185,2209217,2209249,2209281,2209313,2209345,2209377,2209409,2209441,2209473,2207265,2209505,2209537,2209569]),\n new Uint32Array([2189025,6291456,2189057,6291456,2189089,6291456,2189121,6291456,2189153,6291456,2189185,6291456,2189217,6291456,2189249,6291456]),\n new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2165764,2140004]),\n new Uint32Array([2215105,6291456,2215137,6291456,6291456,2215169,2215201,6291456,6291456,6291456,2215233,2215265,2215297,2215329,2215361,2215393]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,23068672,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([10505091,10505187,10505283,10505379,10505475,10505571,10505667,10505763,10505859,10505955,10506051,10506147,10506243,10506339,10506435,10506531]),\n new Uint32Array([2229730,2229794,2229858,2229922,2229986,2230050,2230114,2230178,2230242,2230306,2230370,2230434,2230498,2230562,2230626,2230690]),\n new Uint32Array([2105505,2098241,2108353,2108417,2105825,0,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),\n new Uint32Array([6291456,6291456,6291456,6291456,10502115,10502178,10502211,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),\n new Uint32Array([2190305,6291456,2190337,6291456,2190369,6291456,2190401,6291456,2190433,6291456,2190465,6291456,2190497,6291456,2190529,6291456]),\n new Uint32Array([2173793,2173985,2174017,6291456,2173761,2173697,6291456,2174689,6291456,2174017,2174721,6291456,6291456,2174753,2174785,2174817]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609,2100033]),\n new Uint32Array([2132898,2163842,2163906,2133282,2132034,2131938,2137410,2132802,2132706,2164866,2133282,2160578,2165186,2165186,6291456,6291456]),\n new Uint32Array([10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059,10501155,10501251,10501347,10501443]),\n new Uint32Array([2163458,2130978,2131074,2131266,2131362,2163522,2160130,2132066,2131010,2131106,2106018,2131618,2131298,2132034,2131938,2137410]),\n new Uint32Array([2212961,2116993,2212993,2213025,2213057,2213089,2213121,2213153,2213185,2213217,2213249,2209633,2213281,2213313,2213345,2213377]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2113729,2113825,2113921,2114017,2114113,2114209,2114305,2114401,2114497,2114593,2114689,2114785,2114881,2114977,2115073,2115169]),\n new Uint32Array([2238177,2238209,2238241,2238273,2238305,2238337,2238337,2217537,2238369,2238401,2238433,2238465,2215649,2238497,2238529,2238561]),\n new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),\n new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0]),\n new Uint32Array([6291456,0,6291456,2145026,0,6291456,2145090,0,6291456,6291456,0,0,23068672,0,23068672,23068672]),\n new Uint32Array([2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129,2100289]),\n new Uint32Array([6291456,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0]),\n new Uint32Array([2187681,2187713,2187745,2187777,2187809,2187841,2187873,2187905,2187937,2187969,2188001,2188033,2188065,2188097,2188129,2188161]),\n new Uint32Array([0,10554498,10554562,10554626,10554690,10554754,10554818,10554882,10554946,10555010,10555074,6291456,6291456,0,0,0]),\n new Uint32Array([2235170,2235234,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0]),\n new Uint32Array([2181153,6291456,2188897,6291456,6291456,2188929,6291456,6291456,6291456,6291456,6291456,6291456,2111905,2100865,2188961,2188993]),\n new Uint32Array([2100833,2100897,0,0,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,2112289]),\n new Uint32Array([6291456,2172833,6291456,2172865,2172897,2172929,2172961,6291456,2172993,6291456,2173025,6291456,2173057,6291456,2173089,6291456]),\n new Uint32Array([6291456,0,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,2190721]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456]),\n new Uint32Array([2184993,6291456,2185025,6291456,2185057,6291456,2185089,6291456,2185121,6291456,2185153,6291456,2185185,6291456,2185217,6291456]),\n new Uint32Array([2115265,2115361,2115457,2115553,2115649,2115745,2115841,2115937,2116033,2116129,2116225,2116321,2150658,2150722,2200225,6291456]),\n new Uint32Array([2168321,6291456,2168353,6291456,2168385,6291456,2168417,6291456,2168449,6291456,2168481,6291456,2168513,6291456,2168545,6291456]),\n new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,0,6291456,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,2186625,0,0,6291456,6291456,2186657,2186689,2186721,2173505,0,10496067,10496163,10496259]),\n new Uint32Array([2178785,6291456,2178817,6291456,2178849,6291456,2178881,6291456,2178913,6291456,2178945,6291456,2178977,6291456,2179009,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),\n new Uint32Array([2097152,0,0,0,2097152,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,2197857,2197889,2197921,2197953,2197985,2198017,0,0,2198049,2198081,2198113,2198145,2198177,2198209]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2098209,2167297,2111137,6291456]),\n new Uint32Array([2171393,6291456,2171425,6291456,2171457,6291456,2171489,6291456,2171521,6291456,2171553,6291456,2171585,6291456,2171617,6291456]),\n new Uint32Array([2206753,2206785,2195457,2206817,2206849,2206881,2206913,2197153,2197153,2206945,2117857,2206977,2207009,2207041,2207073,2207105]),\n new Uint32Array([0,0,0,0,0,0,0,23068672,0,0,0,0,2144834,2144898,0,2144962]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672]),\n new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,0,2105505,2098241]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,2202049,6291456,2202081,6291456,2202113,6291456,2202145,6291456,2202177,6291456,2202209,6291456,2202241,6291456]),\n new Uint32Array([10501155,10501251,10501347,10501443,10501539,10501635,10501731,10501827,10501923,10502019,2141731,2105505,2098177,2155586,2166530,0]),\n new Uint32Array([2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441]),\n new Uint32Array([2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330,2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([10502307,10502403,10502499,10502595,10502691,10502787,10502883,10502979,10503075,10503171,10503267,10503363,10503459,10503555,10503651,10503747]),\n new Uint32Array([2179937,2179969,2180001,2180033,2156545,2180065,2156577,2180097,2180129,2180161,2180193,2180225,2180257,2180289,2156737,2180321]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,0,0,6291456,0,0,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),\n new Uint32Array([2227682,2227746,2227810,2227874,2227938,2228002,2228066,2228130,2228194,2228258,2228322,2228386,2228450,2228514,2228578,2228642]),\n new Uint32Array([2105601,2169121,2108193,2170049,2181025,2181057,2112481,2108321,2108289,2181089,2170497,2100865,2181121,2173601,2173633,2173665]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180641,6291456,6291456,6291456]),\n new Uint32Array([0,6291456,6291456,6291456,0,6291456,0,6291456,0,0,6291456,6291456,0,6291456,6291456,6291456]),\n new Uint32Array([2178273,6291456,2178305,6291456,2178337,6291456,2178369,6291456,2178401,6291456,2178433,6291456,2178465,6291456,2178497,6291456]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),\n new Uint32Array([2237377,2237409,2236225,2237441,2237473,2217441,2215521,2215553,2217473,2237505,2237537,2209697,2237569,2215585,2237601,2237633]),\n new Uint32Array([2221985,2165601,2165601,2165665,2165665,2222017,2222017,2165729,2165729,2158913,2158913,2158913,2158913,2097281,2097281,2105921]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2149634,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2176897,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2176929,6291456,2176961,6291456,2176993,6291456]),\n new Uint32Array([2172641,6291456,2172673,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2172705,2172737,6291456,2172769,2172801,6291456]),\n new Uint32Array([2099173,2104196,2121667,2099395,2121763,2152258,2152322,2098946,2152386,2121859,2121955,2099333,2122051,2104324,2099493,2122147]),\n new Uint32Array([6291456,6291456,6291456,2145794,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2145858,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,0,0,6291456,0]),\n new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,0,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2239074,2239138,2239201,2239233,2239265,2239297,2239329,2239361,0,2239393,2239425,2239425,2239458,2239521,2239553,2209569]),\n new Uint32Array([14680064,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,6291456,23068672]),\n new Uint32Array([2108321,2108289,2113153,2098209,2180897,2180929,2180961,2111137,2098241,2108353,2170241,2170273,2180993,2105825,6291456,2105473]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146114,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([2105921,2105921,2105921,2222049,2222049,2130977,2130977,2130977,2130977,2160065,2160065,2160065,2160065,2097729,2097729,2097729]),\n new Uint32Array([2218145,2214785,2207937,2218177,2218209,2192993,2210113,2212769,2218241,2218273,2216129,2218305,2216161,2218337,2218369,2218401]),\n new Uint32Array([0,0,0,2156546,2156610,2156674,2156738,2156802,0,0,0,0,0,2156866,23068672,2156930]),\n new Uint32Array([23068672,23068672,23068672,0,0,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),\n new Uint32Array([2213409,2213441,2213473,2213505,2213537,2213569,2213601,2213633,2213665,2195681,2213697,2213729,2213761,2213793,2213825,2213857]),\n new Uint32Array([2100033,2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2201857,6291456,2201889,6291456,2201921,6291456,2201953,6291456,2201985,6291456,2202017,6291456,2176193,2176257,23068672,23068672]),\n new Uint32Array([6291456,6291456,23068672,23068672,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2188193,2188225,2188257,2188289,2188321,2188353,2188385,2188417,2188449,2188481,2188513,2188545,2188577,2188609,2188641,0]),\n new Uint32Array([10554529,2221089,0,10502113,10562017,10537921,10538049,2221121,2221153,0,0,0,0,0,0,0]),\n new Uint32Array([2213889,2213921,2213953,2213985,2214017,2214049,2214081,2194177,2214113,2214145,2214177,2214209,2214241,2214273,2214305,2214337]),\n new Uint32Array([2166978,2167042,2099169,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180545,6291456,6291456,6291456]),\n new Uint32Array([10518915,10519011,10519107,10519203,2162242,2162306,2159554,2162370,2159362,2159618,2105922,2162434,2159746,2162498,2159810,2159874]),\n new Uint32Array([2161730,2161794,2135586,2161858,2161922,2137186,2131810,2160290,2135170,2161986,2137954,2162050,2162114,2162178,10518723,10518819]),\n new Uint32Array([10506627,10506723,10506819,10506915,10507011,10507107,10507203,10507299,10507395,10507491,10507587,10507683,10507779,10507875,10507971,10508067]),\n new Uint32Array([6291456,23068672,23068672,23068672,0,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),\n new Uint32Array([2175873,2175905,2175937,2175969,2176001,2176033,2176065,2176097,2176129,2176161,2176193,2176225,2176257,2176289,2176321,2176353]),\n new Uint32Array([2140006,2140198,2140390,2140582,2140774,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,23068672,23068672,23068672]),\n new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241]),\n new Uint32Array([0,23068672,0,0,0,0,0,0,0,2145154,2145218,2145282,6291456,0,2145346,0]),\n new Uint32Array([0,0,0,0,10531458,10495395,2148545,2143201,2173473,2148865,2173505,0,2173537,0,2173569,2149121]),\n new Uint32Array([10537282,10495683,2148738,2148802,2148866,0,6291456,2148930,2186593,2173473,2148737,2148865,2148802,10495779,10495875,10495971]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2215425,2215457,2215489,2215521,2215553,2215585,2215617,2215649,2215681,2215713,2215745,2215777,2192033,2215809,2215841,2215873]),\n new Uint32Array([2242049,2242081,2242113,2242145,2242177,2242209,2242241,2242273,2215937,2242305,2242338,2242401,2242433,2242465,2242497,2216001]),\n new Uint32Array([10554529,2221089,0,0,10562017,10502113,10538049,10537921,2221185,10489601,10489697,10609889,10609921,2141729,2141793,10610273]),\n new Uint32Array([2141923,2142019,2142115,2142211,2142307,2142403,2142499,2142595,2142691,0,0,0,0,0,0,0]),\n new Uint32Array([0,2221185,2221217,10609857,10609857,10489601,10489697,10609889,10609921,2141729,2141793,2221345,2221377,2221409,2221441,2187105]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18923970,23068672,23068672,23068672,0,6291456,6291456]),\n new Uint32Array([2183105,6291456,2183137,6291456,2183169,6291456,2183201,6291456,2183233,6291456,2183265,6291456,2183297,6291456,2183329,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([2134434,2134818,2097666,2097186,2097474,2097698,2105986,2131586,2132450,2131874,2131778,2135970,2135778,2161602,2136162,2161666]),\n new Uint32Array([2236865,2236897,2236930,2236993,2237025,2235681,2237058,2237121,2237153,2237185,2237217,2217281,2237250,2191233,2237313,2237345]),\n new Uint32Array([2190049,6291456,2190081,6291456,2190113,6291456,2190145,6291456,2190177,6291456,2190209,6291456,2190241,6291456,2190273,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2101922,2102050,2102178,2102306,10498755,10498851,10498947,10499043,10499139,10499235,10499331,10499427,10499523,10489604,10489732,10489860]),\n new Uint32Array([2166914,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2181601,2170561,2181633,2181665,2170753,2181697,2172897,2170881,2181729,2170913,2172929,2113441,2181761,2181793,2171009,2173761]),\n new Uint32Array([0,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([2248001,2248033,2248066,2248130,2248193,2248226,2248289,2248322,2248385,2248417,2216673,2248450,2248514,2248577,2248610,2248673]),\n new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([2169729,6291456,2169761,6291456,2169793,6291456,2169825,6291456,2169857,2169889,6291456,2169921,6291456,2143329,6291456,2098305]),\n new Uint32Array([2162178,2163202,2163266,2135170,2136226,2161986,2137954,2159426,2159490,2163330,2159554,2163394,2159682,2139522,2136450,2159746]),\n new Uint32Array([2173953,2173985,0,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2174209,2174241,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,4271169,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2174273]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,2190785,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2189793,6291456,2189825,6291456,2189857,6291456,2189889,6291456,2189921,6291456,2189953,6291456,2189985,6291456,2190017,6291456]),\n new Uint32Array([2105601,2112289,2108193,2112481,2112577,0,2098305,2108321,2108289,2100865,2113153,2108481,2113345,0,2098209,2111137]),\n new Uint32Array([2172129,6291456,2172161,6291456,2172193,6291456,2172225,6291456,2172257,6291456,2172289,6291456,2172321,6291456,2172353,6291456]),\n new Uint32Array([2214753,6291456,2214785,6291456,6291456,2214817,2214849,2214881,2214913,2214945,2214977,2215009,2215041,2215073,2194401,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([0,0,0,0,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([10610305,10610337,10575617,2221761,10610401,10610433,10502177,0,10610465,10610497,10610529,10610561,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,0,0,0,0,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2187105,2187137,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2199393,2199425,2199457,2199489,2199521,2199553,2199585,2199617,2199649,2199681,2199713,2199745,2199777,2199809,2199841,0]),\n new Uint32Array([2217249,2217281,2217313,2217345,2217377,2217409,2217441,2217473,2215617,2217505,2217537,2217569,2214753,2217601,2217633,2217665]),\n new Uint32Array([2170273,2170305,6291456,2170337,2170369,6291456,2170401,2170433,2170465,6291456,6291456,6291456,2170497,2170529,6291456,2170561]),\n new Uint32Array([2188673,6291456,2188705,2188737,2188769,6291456,6291456,2188801,6291456,2188833,6291456,2188865,6291456,2180929,2181505,2180897]),\n new Uint32Array([10489988,10490116,10490244,10490372,10490500,10490628,10490756,10490884,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147393,2147457,2147521,2147585,2147649,2147713,2147777,2147841]),\n new Uint32Array([23068672,23068672,0,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2241153,2241185,2241217,2215809,2241250,2241313,2241345,2241377,2217921,2241377,2241409,2215873,2241441,2241473,2241505,2241537]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2220417,2220417,2220449,2220449,2220481,2220481,2220513,2220513,2220545,2220545,2220577,2220577,2220609,2220609,2220641,2220641]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2144002,0,6291456,6291456,0,0,6291456,6291456,6291456]),\n new Uint32Array([2167105,2167137,2167169,2167201,2167233,2167265,2167297,2167329,2167361,2167393,2167425,2167457,2167489,2167521,2167553,2167585]),\n new Uint32Array([10575521,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),\n new Uint32Array([2234146,2234210,2234274,2234338,2234402,2234466,2234530,2234594,2234658,2234722,2234786,2234850,2234914,2234978,2235042,2235106]),\n new Uint32Array([0,0,0,0,0,0,0,2180577,0,0,0,0,0,2180609,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456]),\n new Uint32Array([2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2242529,2242561,2242593,2242625,2242657,2242689,2242721,2242753,2207937,2218177,2242785,2242817,2242849,2242882,2242945,2242977]),\n new Uint32Array([2118049,2105345,2118241,2105441,2118433,2118529,2118625,2118721,2118817,2200257,2200289,2191809,2200321,2200353,2200385,2200417]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([2185505,6291456,2185537,6291456,2185569,6291456,2185601,6291456,2185633,6291456,2185665,6291456,2185697,6291456,2185729,6291456]),\n new Uint32Array([2231970,2232034,2232098,2232162,2232226,2232290,2232354,2232418,2232482,2232546,2232610,2232674,2232738,2232802,2232866,2232930]),\n new Uint32Array([2218625,2246402,2246466,2246530,2246594,2246657,2246689,2246689,2218657,2219681,2246721,2246753,2246785,2246818,2246881,2208481]),\n new Uint32Array([2197025,2197057,2197089,2197121,2197153,2197185,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2219137,2216961,2219169,2219201,2219233,2219265,2219297,2217025,2215041,2219329,2217057,2219361,2217089,2219393,2197153,2219426]),\n new Uint32Array([23068672,23068672,23068672,0,0,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713]),\n new Uint32Array([2243522,2243585,2243617,2243649,2243681,2210113,2243713,2243746,2243810,2243874,2243937,2243970,2244033,2244065,2244097,2244129]),\n new Uint32Array([2178017,6291456,2178049,6291456,2178081,6291456,2178113,6291456,2178145,6291456,2178177,6291456,2178209,6291456,2178241,6291456]),\n new Uint32Array([10553858,2165314,10518722,6291456,10518818,0,10518914,2130690,10519010,2130786,10519106,2130882,10519202,2165378,10554050,2165506]),\n new Uint32Array([0,0,2135491,2135587,2135683,2135779,2135875,2135971,2135971,2136067,2136163,2136259,2136355,2136355,2136451,2136547]),\n new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2220033,2220033,2220065,2220065,2220065,2220065,2220097,2220097,2220097,2220097,2220129,2220129,2220129,2220129,2220161,2220161]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2100897,2100898,2100899,2150018,2100865,2100866,2100867,2100868,2150082,2108481,2109858,2109859,2105569,2105505,2098241,2105601]),\n new Uint32Array([2097217,2097505,2097505,2097505,2097505,2165570,2165570,2165634,2165634,2165698,2165698,2097858,2097858,0,0,2097152]),\n new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([10503843,10503939,10504035,10504131,10504227,10504323,10504419,10504515,10504611,10504707,10504803,10504899,10504995,10491140,10491268,0]),\n new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,2235297,2220769,2235329,2235361]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2222401,2222433,2222465,10531394,2222497,2222529,2222561,0,2222593,2222625,2222657,2222689,2222721,2222753,2222785,0]),\n new Uint32Array([2184481,6291456,2184513,6291456,2184545,6291456,2184577,6291456,2184609,6291456,2184641,6291456,2184673,6291456,2184705,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2105570,2156034,2126947,2156098,2153666,2127043,2127139,2156162,0,2127235,2156226,2156290,2156354,2156418,2127331,2127427]),\n new Uint32Array([2215905,2207041,2153185,2241569,2241601,2241633,2241665,2241697,2241730,2241793,2241825,2241857,2241889,2241921,2241954,2242017]),\n new Uint32Array([2203777,6291456,2203809,6291456,2203841,6291456,2203873,6291456,2203905,6291456,2173121,2180993,2181249,2203937,2181313,0]),\n new Uint32Array([2168577,6291456,2168609,6291456,2168641,6291456,2168673,6291456,2168705,6291456,2168737,6291456,2168769,6291456,2168801,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,0,0]),\n new Uint32Array([2210113,2195521,2210145,2210177,2210209,2210241,2210273,2210305,2210337,2210369,2210401,2210433,2210465,2210497,2210529,2210561]),\n new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([2228706,2228770,2228834,2228898,2228962,2229026,2229090,2229154,2229218,2229282,2229346,2229410,2229474,2229538,2229602,2229666]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,18874368,18874368,18874368,0,0]),\n new Uint32Array([2133089,2133281,2133281,2133281,2133281,2160577,2160577,2160577,2160577,2097441,2097441,2097441,2097441,2133857,2133857,2133857]),\n new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089]),\n new Uint32Array([2178529,6291456,2178561,6291456,2178593,6291456,2178625,6291456,2178657,6291456,2178689,6291456,2178721,6291456,2178753,6291456]),\n new Uint32Array([2221025,2221025,2221057,2221057,2159329,2159329,2159329,2159329,2097217,2097217,2158914,2158914,2158978,2158978,2159042,2159042]),\n new Uint32Array([2208161,2208193,2208225,2208257,2194433,2208289,2208321,2208353,2208385,2208417,2208449,2208481,2208513,2208545,2208577,2208609]),\n new Uint32Array([2169217,6291456,2169249,6291456,2169281,6291456,2169313,6291456,2169345,6291456,2169377,6291456,2169409,6291456,2169441,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([2133187,2133283,2133283,2133379,2133475,2133571,2133667,2133667,2133763,2133859,2133955,2134051,2134147,2134147,2134243,2134339]),\n new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,0]),\n new Uint32Array([2193089,2193121,2193153,2193185,2117665,2117569,2193217,2193249,2193281,2193313,2193345,2193377,2193409,2193441,2193473,2193505]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2184225,6291456,2184257,6291456,2184289,6291456,2184321,6291456,2184353,6291456,2184385,6291456,2184417,6291456,2184449,6291456]),\n new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2100833,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2200801,2200833,2200865,0]),\n new Uint32Array([23068672,23068672,23068672,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2181153,2105505,2181185,2167617,2180993]),\n new Uint32Array([2160002,2160066,2160130,2160194,2160258,2132066,2131010,2131106,2106018,2131618,2160322,2131298,2132034,2131938,2137410,2132226]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,6291456]),\n new Uint32Array([2183617,6291456,2183649,6291456,2183681,6291456,2183713,6291456,2183745,6291456,2183777,6291456,2183809,6291456,2183841,6291456]),\n new Uint32Array([0,6291456,6291456,0,6291456,0,0,6291456,6291456,0,6291456,0,0,6291456,0,0]),\n new Uint32Array([2250977,2251009,2251041,2251073,2195009,2251106,2251169,2251201,2251233,2251265,2251297,2251330,2251394,2251457,2251489,2251521]),\n new Uint32Array([2205729,2205761,2205793,2205825,2205857,2205889,2205921,2205953,2205985,2206017,2206049,2206081,2206113,2206145,2206177,2206209]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2143170,2168993,6291456,2169025,6291456,2169057,6291456,2169089,6291456,2143234,2169121,6291456,2169153,6291456,2169185,6291456]),\n new Uint32Array([23068672,23068672,2190689,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2248706,2248769,2248801,2248833,2248865,2248897,2248929,2248962,2249026,2249090,2249154,2240705,2249217,2249249,2249281,2249313]),\n new Uint32Array([10485857,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10495394,6291456,2098209,6291456,6291456,2097152,6291456,10531394]),\n new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),\n new Uint32Array([6291456,2186977,6291456,6291456,6291456,6291456,6291456,10537858,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2209601,2209633,2209665,2209697,2209729,2209761,2209793,2209825,2209857,2209889,2209921,2209953,2209985,2210017,2210049,2210081]),\n new Uint32Array([10501539,10501635,10501731,10501827,10501923,10502019,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),\n new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2194561,2194593,2194625,2119777,2119873,2194657,2194689,2194721,2194753,2194785,2194817,2194849,2194881,2194913,2194945,2194977]),\n new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569]),\n new Uint32Array([2222818,2222882,2222946,2223010,2223074,2223138,2223202,2223266,2223330,2223394,2223458,2223522,2223586,2223650,2223714,2223778]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672]),\n new Uint32Array([0,2179553,2179585,2179617,2179649,2144001,2179681,2179713,2179745,2179777,2179809,2156705,2179841,2156833,2179873,2179905]),\n new Uint32Array([6291456,23068672,6291456,2145602,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,6291456,0,0]),\n new Uint32Array([2196513,2196545,2196577,2196609,2196641,2196673,2196705,2196737,2196769,2196801,2196833,2196865,2196897,2196929,2196961,2196993]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2177281,6291456,2177313,6291456,2177345,6291456,2177377,6291456,2177409,6291456,2177441,6291456,2177473,6291456,2177505,6291456]),\n new Uint32Array([2187137,2221473,2221505,2221537,2221569,6291456,6291456,10610209,10610241,10537986,10537986,10537986,10537986,10609857,10609857,10609857]),\n new Uint32Array([2243009,2243041,2216033,2243074,2243137,2243169,2243201,2219617,2243233,2243265,2243297,2243329,2243362,2243425,2243457,2243489]),\n new Uint32Array([10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,2097152,4194304,4194304,0,0]),\n new Uint32Array([2143042,6291456,2143106,2143106,2168833,6291456,2168865,6291456,6291456,2168897,6291456,2168929,6291456,2168961,6291456,2143170]),\n new Uint32Array([6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2204193,2204225,2204257,2204289,2204321,2204353,2204385,2204417,2204449,2204481,2204513,2204545,2204577,2204609,2204641,2204673]),\n new Uint32Array([2202753,6291456,2202785,6291456,2202817,6291456,2202849,6291456,2202881,6291456,2202913,6291456,2202945,6291456,2202977,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321]),\n new Uint32Array([2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842,2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842]),\n new Uint32Array([2253313,2253346,2253409,2253441,2253473,2253505,2253537,2253569,2253601,2253634,2219393,2253697,2253729,2253761,2253793,2253825]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([2162562,2162626,2131362,2162690,2159938,2160002,2162754,2162818,2160130,2162882,2160194,2160258,2160834,2160898,2161026,2161090]),\n new Uint32Array([2175361,2175393,2175425,2175457,2175489,2175521,2175553,2175585,2175617,2175649,2175681,2175713,2175745,2175777,2175809,2175841]),\n new Uint32Array([2253858,2253921,2253954,2254018,2254082,2196737,2254145,2196865,2254177,2254209,2254241,2254273,2197025,2254306,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2202113,2204129,2188705,2204161]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953]),\n new Uint32Array([2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209]),\n new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,0,2108417,0,2111713,2100897,2111905]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0]),\n new Uint32Array([2175425,2175489,2175809,2175905,2175937,2175937,2176193,2176417,2180865,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,2143298,2143298,2143298,2143362,2143362,2143362,2143426,2143426,2143426,2171105,6291456,2171137]),\n new Uint32Array([2120162,2120258,2151618,2151682,2151746,2151810,2151874,2151938,2152002,2120035,2120131,2120227,2152066,2120323,2152130,2120419]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2195361,2142433,2236065,2236097,2236129,2236161,2118241,2117473,2236193,2236225,2236257,2236289,0,0,0,0]),\n new Uint32Array([2189281,6291456,2189313,6291456,2189345,6291456,2189377,6291456,2189409,6291456,2189441,6291456,2189473,6291456,2189505,6291456]),\n new Uint32Array([6291456,6291456,2145922,6291456,6291456,6291456,6291456,2145986,6291456,6291456,6291456,6291456,2146050,6291456,6291456,6291456]),\n new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10502113,10562017,10610401,10502177,10610433,10538049]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,2186401,0,2186433,0,2186465,0,2186497]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,23068672,23068672]),\n new Uint32Array([0,0,2198241,2198273,2198305,2198337,2198369,2198401,0,0,2198433,2198465,2198497,0,0,0]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,0,23068672,23068672,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),\n new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,2133281,2097505,2105889,0,2097697,2135777,2097633,2097441]),\n new Uint32Array([2197889,2197921,2197953,2197985,2198017,2198049,2198081,2198113,2198145,2198177,2198209,2198241,2198273,2198305,2198337,2198369]),\n new Uint32Array([2132514,2132610,2160386,2133090,2133186,2160450,2160514,2133282,2160578,2133570,2106178,2160642,2133858,2160706,2160770,2134146]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,23068672,6291456,23068672,23068672,6291456,23068672,0,0,0,0,0,0,0,0]),\n new Uint32Array([2184737,6291456,2184769,6291456,2184801,6291456,2184833,6291456,2184865,6291456,2184897,6291456,2184929,6291456,2184961,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,2186753,6291456,6291456,6291456,6291456,2186785,2186817,2186849,2173569,2186881,10496355,10495395,10575521]),\n new Uint32Array([0,0,2097729,0,0,0,0,2106017,0,2097505,0,2097185,0,2135777,2097633,2097441]),\n new Uint32Array([2189537,6291456,2189569,6291456,2189601,6291456,2189633,6291456,2189665,6291456,2189697,6291456,2189729,6291456,2189761,6291456]),\n new Uint32Array([2202497,6291456,2202529,6291456,2202561,6291456,2202593,6291456,2202625,6291456,2202657,6291456,2202689,6291456,2202721,6291456]),\n new Uint32Array([2245217,2218369,2245249,2245282,2245345,2245377,2245410,2245474,2245537,2245569,2245601,2245633,2245665,2245665,2245697,2245729]),\n new Uint32Array([6291456,0,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,23068672,6291456,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),\n new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2097281,2105921,2097729,2106081,2097377,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([2176641,6291456,2176673,6291456,2176705,6291456,2176737,6291456,2176769,6291456,2176801,6291456,2176833,6291456,2176865,6291456]),\n new Uint32Array([2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2174369,2174369,0,0,2100833,2100737]),\n new Uint32Array([2116513,2190817,2190849,2190881,2190913,2190945,2116609,2190977,2191009,2191041,2191073,2117185,2191105,2191137,2191169,2191201]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),\n new Uint32Array([2167617,2167649,2167681,2167713,2167745,2167777,2167809,6291456,2167841,2167873,2167905,2167937,2167969,2168001,2168033,4240130]),\n new Uint32Array([2165122,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122,2134562,2132162,2132834,2136866]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2186209,2186241,2186273,2186305,2186337,2186369,0,0]),\n new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([0,0,23068672,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),\n new Uint32Array([0,10537921,10610689,10610273,10610497,10610529,10610305,10610721,10489601,10489697,10610337,10575617,10554529,2221761,2197217,10496577]),\n new Uint32Array([2105473,2105569,2105601,2112289,0,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),\n new Uint32Array([2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481]),\n new Uint32Array([2125346,2153410,2153474,2127394,2153538,2153602,2153666,2153730,2105507,2105476,2153794,2153858,2153922,2153986,2154050,2105794]),\n new Uint32Array([2200449,2119681,2200481,2153313,2199873,2199905,2199937,2200513,2200545,2200577,2200609,2119105,2119201,2119297,2119393,2119489]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2175777,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2222273,2197217,2221473,2221505,2221089,2222305,2200865,2099681,2104481,2222337,2099905,2120737,2222369,2103713,2100225,2098785]),\n new Uint32Array([2201377,6291456,2201409,6291456,2201441,6291456,2201473,6291456,2201505,6291456,2201537,6291456,2201569,6291456,6291456,23068672]),\n new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),\n new Uint32Array([2200897,6291456,2200929,6291456,2200961,6291456,2200993,6291456,2201025,6291456,2180865,6291456,2201057,6291456,2201089,6291456]),\n new Uint32Array([0,0,0,0,0,23068672,23068672,0,6291456,6291456,6291456,0,0,0,0,0]),\n new Uint32Array([2161154,2161410,2138658,2161474,2161538,2097666,2097186,2097474,2162946,2132450,2163010,2163074,2136162,2163138,2161666,2161730]),\n new Uint32Array([2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953]),\n new Uint32Array([0,0,0,0,0,0,23068672,23068672,0,0,0,0,2145410,2145474,0,6291456]),\n new Uint32Array([2244161,2216065,2212769,2244193,2244225,2244257,2244290,2244353,2244385,2244417,2244449,2218273,2244481,2244514,2244577,2244609]),\n new Uint32Array([2125730,2125699,2125795,2125891,2125987,2154114,2154178,2154242,2154306,2154370,2154434,2154498,2126082,2126178,2126274,2126083]),\n new Uint32Array([2237665,2237697,2237697,2237697,2237730,2237793,2237825,2237857,2237890,2237953,2237985,2238017,2238049,2238081,2238113,2238145]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150146,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),\n new Uint32Array([2214369,2238593,2238625,2238657,2238689,2238721,2238753,2238785,2238817,2238850,2238913,2238945,2238977,2235457,2239009,2239041]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([2252066,2252130,2252193,2252225,2252257,2252290,2252353,2252385,2252417,2252449,2252481,2252513,2252545,2252578,2252641,2252673]),\n new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,2197857]),\n new Uint32Array([2224866,2224930,2224994,2225058,2225122,2225186,2225250,2225314,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2219490,2219554,2219617,2219649,2219681,2219714,2219778,2219842,2219905,2219937,0,0,0,0,0,0]),\n new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),\n new Uint32Array([2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),\n new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665]),\n new Uint32Array([2220161,2220161,2220193,2220193,2220193,2220193,2220225,2220225,2220225,2220225,2220257,2220257,2220257,2220257,2220289,2220289]),\n new Uint32Array([2192673,2192705,2192737,2192769,2192801,2192833,2192865,2118049,2192897,2117473,2117761,2192929,2192961,2192993,2193025,2193057]),\n new Uint32Array([2179297,6291456,2179329,6291456,2179361,6291456,2179393,6291456,2179425,6291456,2179457,6291456,2179489,6291456,2179521,6291456]),\n new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2235745,2235777,2193633,2235809,2235841,2235873,2235905,2235937,2235969,2116513,2116705,2236001,2200513,2199905,2200545,2236033]),\n new Uint32Array([2113153,2108481,2113345,2113441,2232993,2233025,0,0,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761]),\n new Uint32Array([2170593,6291456,2170625,6291456,2170657,6291456,2170689,2170721,6291456,2170753,6291456,6291456,2170785,6291456,2170817,2170849]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2166786,2166850,0,0,0,0]),\n new Uint32Array([23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,0]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2134562,2132162,2132834,2136866,2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058]),\n new Uint32Array([6291456,6291456,2098337,2101441,10531458,2153473,6291456,6291456,10531522,2100737,2108193,6291456,2106499,2106595,2106691,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2233122,2233186,2233250,2233314,2233378,2233442,2233506,2233570,2233634,2233698,2233762,2233826,2233890,2233954,2234018,2234082]),\n new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2205217,2205249,2205281,2205313,2205345,2205377,2205409,2205441,2205473,2205505,2205537,2205569,2205601,2205633,2205665,2205697]),\n new Uint32Array([6291456,0,6291456,0,0,0,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),\n new Uint32Array([2173601,2173761,2174081,2173569,2174241,2174113,2173953,6291456,2174305,6291456,2174337,6291456,2174369,6291456,2174401,6291456]),\n new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2152450,2152514,2099653,2104452,2099813,2122243,2099973,2152578,2122339,2122435,2122531,2122627,2122723,2104580,2122819,2152642]),\n new Uint32Array([2236385,2236417,2236449,2236482,2236545,2215425,2236577,2236609,2236641,2236673,2215457,2236705,2236737,2236770,2215489,2236833]),\n new Uint32Array([2163394,2159746,2163458,2131362,2163522,2160130,2163778,2132226,2163842,2132898,2163906,2161410,2138658,2097666,2136162,2163650]),\n new Uint32Array([2218721,2246913,2246946,2216385,2247010,2247074,2215009,2247137,2247169,2216481,2247201,2247233,2247266,2247330,2247330,0]),\n new Uint32Array([2129730,2129762,2129858,2129731,2129827,2156482,2156482,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0,0,0,0,6291456,0,0]),\n new Uint32Array([2203969,2204001,2181377,2204033,2204065,6291456,2204097,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([2169473,6291456,2169505,6291456,2169537,6291456,2169569,6291456,2169601,6291456,2169633,6291456,2169665,6291456,2169697,6291456]),\n new Uint32Array([2141542,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2220801,2220801,2220801,2220801,2220833,2220833,2220865,2220865,2220865,2220865,2220897,2220897,2220897,2220897,2139873,2139873]),\n new Uint32Array([0,0,0,0,0,23068672,23068672,0,0,0,0,0,0,0,6291456,0]),\n new Uint32Array([2214849,2218433,2218465,2218497,2218529,2218561,2214881,2218593,2218625,2218657,2218689,2218721,2218753,2216545,2218785,2218817]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,6291456]),\n new Uint32Array([2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058,2165122,2132802,2132706,2164866]),\n new Uint32Array([2207649,2207681,2207713,2207745,2207777,2207809,2207841,2207873,2207905,2207937,2207969,2208001,2208033,2208065,2208097,2208129]),\n new Uint32Array([2123683,2105092,2152706,2123779,2105220,2152770,2100453,2098755,2123906,2124002,2124098,2124194,2124290,2124386,2124482,2124578]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,0,0,0,0,0,0,0,10485857]),\n new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([10508163,10508259,10508355,10508451,2200129,2200161,2192737,2200193,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2203553,6291456,2203585,6291456,6291456,6291456,2203617,6291456,2203649,6291456,2203681,6291456,2203713,6291456,2203745,6291456]),\n new Uint32Array([18884449,18884065,23068672,18884417,18884034,18921185,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18874368]),\n new Uint32Array([2247393,2247426,2247489,2247521,2247553,2247586,2247649,2247681,2247713,2247745,2247777,2247810,2247873,2247905,2247937,2247969]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),\n new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,2160577,2133857,2235297,0,2235329,0]),\n new Uint32Array([2182593,6291456,2182625,6291456,2182657,6291456,2182689,6291456,2182721,6291456,2182753,6291456,2182785,6291456,2182817,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102402,2102403,6291456,2110050]),\n new Uint32Array([2149890,2108323,2149954,6291456,2113441,6291456,2149057,6291456,2113441,6291456,2105473,2167265,2111137,2105505,6291456,2108353]),\n new Uint32Array([2219105,2219137,2195233,2251554,2251617,2251649,2251681,2251713,2251746,2251810,2251873,2251905,2251937,2251970,2252033,2219169]),\n new Uint32Array([2203009,6291456,2203041,6291456,2203073,6291456,2203105,6291456,2203137,6291456,2203169,6291456,2203201,6291456,2203233,6291456]),\n new Uint32Array([2128195,2128291,2128387,2128483,2128579,2128675,2128771,2128867,2128963,2129059,2129155,2129251,2129347,2129443,2129539,2129635]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2140964,2141156,2140966,2141158,2141350]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2225378,2225442,2225506,2225570,2225634,2225698,2225762,2225826,2225890,2225954,2226018,2226082,2226146,2226210,2226274,2226338]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417]),\n new Uint32Array([2108353,2108417,0,2105601,2108193,2157121,2157313,2157377,2157441,2100897,6291456,2108419,2173953,2173633,2173633,2173953]),\n new Uint32Array([2111713,2173121,2111905,2098177,2173153,2173185,2173217,2113153,2113345,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2190753]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,2197249,6291456,2117377,2197281,2197313,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,6291456,6291456,6291456]),\n new Uint32Array([2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,23068672]),\n new Uint32Array([2173281,6291456,2173313,6291456,2173345,6291456,2173377,6291456,0,0,10532546,6291456,6291456,6291456,10562017,2173441]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),\n new Uint32Array([23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2159426,2159490,2159554,2159362,2159618,2159682,2139522,2136450,2159746,2159810,2159874,2130978,2131074,2131266,2131362,2159938]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2203233,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2203265,6291456,2203297,6291456,2203329,2203361,6291456]),\n new Uint32Array([6291456,6291456,2148418,2148482,2148546,0,6291456,2148610,2186529,2186561,2148417,2148545,2148482,10495778,2143969,10495778]),\n new Uint32Array([2134146,2139426,2160962,2134242,2161218,2161282,2161346,2161410,2138658,2134722,2134434,2134818,2097666,2097346,2097698,2105986]),\n new Uint32Array([2198881,2198913,2198945,2198977,2199009,2199041,2199073,2199105,2199137,2199169,2199201,2199233,2199265,2199297,2199329,2199361]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([10610561,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),\n new Uint32Array([2183873,6291456,2183905,6291456,2183937,6291456,2183969,6291456,2184001,6291456,2184033,6291456,2184065,6291456,2184097,6291456]),\n new Uint32Array([2244642,2244706,2244769,2244801,2218305,2244833,2244865,2244897,2244929,2244961,2244993,2245026,2245089,2245122,2245185,0]),\n new Uint32Array([6291456,6291456,2116513,2116609,2116705,2116801,2199873,2199905,2199937,2199969,2190913,2200001,2200033,2200065,2200097,2191009]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2180673,2180705,2180737,2180769,2180801,2180833,0,0]),\n new Uint32Array([2098081,2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150402]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,2145666,2145730,6291456,6291456]),\n new Uint32Array([2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665]),\n new Uint32Array([2187073,6291456,6291456,6291456,6291456,2098241,2098241,2108353,2100897,2111905,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102404,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2100612,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10485857]),\n new Uint32Array([2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),\n new Uint32Array([2217697,2217729,2217761,2217793,2217825,2217857,2217889,2217921,2217953,2215873,2217985,2215905,2218017,2218049,2218081,2218113]),\n new Uint32Array([2211233,2218849,2216673,2218881,2218913,2218945,2218977,2219009,2216833,2219041,2215137,2219073,2216865,2209505,2219105,2216897]),\n new Uint32Array([2240097,2240129,2240161,2240193,2240225,2240257,2240289,2240321,2240353,2240386,2240449,2240481,2240513,2240545,2207905,2240578]),\n new Uint32Array([6291456,6291456,2202273,6291456,2202305,6291456,2202337,6291456,2202369,6291456,2202401,6291456,2202433,6291456,2202465,6291456]),\n new Uint32Array([0,23068672,23068672,18923394,23068672,18923458,18923522,18884099,18923586,18884195,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2201121,6291456,2201153,6291456,2201185,6291456,2201217,6291456,2201249,6291456,2201281,6291456,2201313,6291456,2201345,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),\n new Uint32Array([2211041,2211073,2211105,2211137,2211169,2211201,2211233,2211265,2211297,2211329,2211361,2211393,2211425,2211457,2211489,2211521]),\n new Uint32Array([2181825,6291456,2181857,6291456,2181889,6291456,2181921,6291456,2181953,6291456,2181985,6291456,2182017,6291456,2182049,6291456]),\n new Uint32Array([2162337,2097633,2097633,2097633,2097633,2132705,2132705,2132705,2132705,2097153,2097153,2097153,2097153,2133089,2133089,2133089]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,2148545,6291456,2173473,6291456,2148865,6291456,2173505,6291456,2173537,6291456,2173569,6291456,2149121,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2207137,2207169,2207201,2207233,2207265,2207297,2207329,2207361,2207393,2207425,2207457,2207489,2207521,2207553,2207585,2207617]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,23068672,23068672,0,0,0,0,0,0]),\n new Uint32Array([2198401,2198433,2198465,2198497,0,2198529,2198561,2198593,2198625,2198657,2198689,2198721,2198753,2198785,2198817,2198849]),\n new Uint32Array([2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),\n new Uint32Array([2216385,2118721,2216417,2216449,2216481,2216513,2216545,2211233,2216577,2216609,2216641,2216673,2216705,2216737,2216737,2216769]),\n new Uint32Array([2216801,2216833,2216865,2216897,2216929,2216961,2216993,2215169,2217025,2217057,2217089,2217121,2217154,2217217,0,0]),\n new Uint32Array([2210593,2191809,2210625,2210657,2210689,2210721,2210753,2210785,2210817,2210849,2191297,2210881,2210913,2210945,2210977,2211009]),\n new Uint32Array([0,0,2105825,0,0,2111905,2105473,0,0,2112289,2108193,2112481,2112577,0,2098305,2108321]),\n new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,2097153,2134241,0,2132705,0,0,2131297,0,2133089,0,2133857,0,2220769,0,2235361]),\n new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,6291456,6291456,14680064]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([2171873,6291456,2171905,6291456,2171937,6291456,2171969,6291456,2172001,6291456,2172033,6291456,2172065,6291456,2172097,6291456]),\n new Uint32Array([2220929,2220929,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2133857,2134145,2134145,2134145,2134145,2134241,2134241,2134241,2134241,2105889,2105889,2105889,2105889,2097185,2097185,2097185]),\n new Uint32Array([2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,10499619,10499715,10499811,10499907]),\n new Uint32Array([0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2144322,2144386,2144450,2144514,2144578,2144642,2144706,2144770]),\n new Uint32Array([23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456]),\n new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0,0,2111905,2105473,2105569]),\n new Uint32Array([2236321,2236353,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2152194,2121283,2103684,2103812,2097986,2098533,2097990,2098693,2098595,2098853,2099013,2103940,2121379,2121475,2121571,2104068]),\n new Uint32Array([2206241,2206273,2206305,2206337,2206369,2206401,2206433,2206465,2206497,2206529,2206561,2206593,2206625,2206657,2206689,2206721]),\n new Uint32Array([6291456,6291456,6291456,6291456,16777216,16777216,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,10538818,10538882,6291456,6291456,2150338]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2214369,2214401,2214433,2214465,2214497,2214529,2214561,2214593,2194977,2214625,2195073,2214657,2214689,2214721,6291456,6291456]),\n new Uint32Array([2097152,2097152,2097152,2097152,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2182081,6291456,2182113,6291456,2182145,6291456,2182177,6291456,2182209,6291456,2182241,6291456,2182273,6291456,2182305,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146881,2146945,2147009,2147073,2147137,2147201,2147265,2147329]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672]),\n new Uint32Array([0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2122915,2123011,2123107,2104708,2123203,2123299,2123395,2100133,2104836,2100290,2100293,2104962,2104964,2098052,2123491,2123587]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([6291456,2171169,6291456,2171201,6291456,2171233,6291456,2171265,6291456,2171297,6291456,2171329,6291456,6291456,2171361,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,2148994,2149058,2149122,0,6291456,2149186,2186945,2173537,2148993,2149121,2149058,10531458,10496066,0]),\n new Uint32Array([2195009,2195041,2195073,2195105,2195137,2195169,2195201,2195233,2195265,2195297,2195329,2195361,2195393,2195425,2195457,2195489]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,0,0,6291456,6291456]),\n new Uint32Array([2182849,6291456,2182881,6291456,2182913,6291456,2182945,6291456,2182977,6291456,2183009,6291456,2183041,6291456,2183073,6291456]),\n new Uint32Array([2211553,2210081,2211585,2211617,2211649,2211681,2211713,2211745,2211777,2211809,2209569,2211841,2211873,2211905,2211937,2211969]),\n new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2166594,2127298,2166658,2142978,2141827,2166722]),\n new Uint32Array([2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2185761,2185793,2185825,2185857,2185889,2185921,0,0]),\n new Uint32Array([6291456,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456]),\n new Uint32Array([0,0,0,2220961,2220961,2220961,2220961,2144193,2144193,2159201,2159201,2159265,2159265,2144194,2220993,2220993]),\n new Uint32Array([2192641,2235393,2235425,2152257,2116609,2235457,2235489,2200065,2235521,2235553,2235585,2212449,2235617,2235649,2235681,2235713]),\n new Uint32Array([2194049,2194081,2194113,2194145,2194177,2194209,2194241,2194273,2194305,2194337,2194369,2194401,2194433,2194465,2194497,2194529]),\n new Uint32Array([2196673,2208641,2208673,2208705,2208737,2208769,2208801,2208833,2208865,2208897,2208929,2208961,2208993,2209025,2209057,2209089]),\n new Uint32Array([2191681,2191713,2191745,2191777,2153281,2191809,2191841,2191873,2191905,2191937,2191969,2192001,2192033,2192065,2192097,2192129]),\n new Uint32Array([2230946,2231010,2231074,2231138,2231202,2231266,2231330,2231394,2231458,2231522,2231586,2231650,2231714,2231778,2231842,2231906]),\n new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2185953,2185985,2186017,2186049,2186081,2186113,2186145,2186177]),\n new Uint32Array([2139811,2139907,2097284,2105860,2105988,2106116,2106244,2097444,2097604,2097155,10485778,10486344,2106372,6291456,0,0]),\n new Uint32Array([2110051,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2172385,6291456,2172417,6291456,2172449,6291456,2172481,6291456,2172513,6291456,2172545,6291456,2172577,6291456,2172609,6291456]),\n new Uint32Array([0,0,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2249345,2249377,2249409,2249441,2249473,2249505,2249537,2249570,2210209,2249633,2249665,2249697,2249729,2249761,2249793,2216769]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([2187169,2187201,2187233,2187265,2187297,2187329,2187361,2187393,2187425,2187457,2187489,2187521,2187553,2187585,2187617,2187649]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,6291456,6291456,0,0,0,6291456,6291456,6291456,0,0,0,6291456,6291456]),\n new Uint32Array([2182337,6291456,2182369,6291456,2182401,6291456,2182433,6291456,2182465,6291456,2182497,6291456,2182529,6291456,2182561,6291456]),\n new Uint32Array([2138179,2138275,2138371,2138467,2134243,2134435,2138563,2138659,2138755,2138851,2138947,2139043,2138947,2138755,2139139,2139235]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([0,0,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2250498,2250562,2250625,2250657,2208321,2250689,2250721,2250753,2250785,2250817,2250849,2218945,2250881,2250913,2250945,0]),\n new Uint32Array([2170369,2105569,2098305,2108481,2173249,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),\n new Uint32Array([2100897,2111905,2105473,2105569,2105601,0,2108193,0,0,0,2098305,2108321,2108289,2100865,2113153,2108481]),\n new Uint32Array([2100897,2100897,2105569,2105569,6291456,2112289,2149826,6291456,6291456,2112481,2112577,2098177,2098177,2098177,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456,6291456]),\n new Uint32Array([6291456,2169953,2169985,6291456,2170017,6291456,2170049,2170081,6291456,2170113,2170145,2170177,6291456,6291456,2170209,2170241]),\n new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2220641,2220641,2220673,2220673,2220673,2220673,2220705,2220705,2220705,2220705,2220737,2220737,2220737,2220737,2220769,2220769]),\n new Uint32Array([2127650,2127746,2127842,2127938,2128034,2128130,2128226,2128322,2128418,2127523,2127619,2127715,2127811,2127907,2128003,2128099]),\n new Uint32Array([2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177]),\n new Uint32Array([0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2204705,2204737,2204769,2204801,2204833,2204865,2204897,2204929,2204961,2204993,2205025,2205057,2205089,2205121,2205153,2205185]),\n new Uint32Array([2176385,6291456,2176417,6291456,2176449,6291456,2176481,6291456,2176513,6291456,2176545,6291456,2176577,6291456,2176609,6291456]),\n new Uint32Array([2195521,2195553,2195585,2195617,2195649,2195681,2117857,2195713,2195745,2195777,2195809,2195841,2195873,2195905,2195937,2195969]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456]),\n new Uint32Array([2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113]),\n new Uint32Array([2131586,2132450,2135970,2135778,2161602,2136162,2163650,2161794,2135586,2163714,2137186,2131810,2160290,2135170,2097506,2159554]),\n new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,0,0,0,0]),\n new Uint32Array([2116513,2116609,2116705,2116801,2116897,2116993,2117089,2117185,2117281,2117377,2117473,2117569,2117665,2117761,2117857,2117953]),\n new Uint32Array([2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100802,2101154,2101282,2101410,2101538,2101666,2101794]),\n new Uint32Array([2100289,2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2098977,2150241,2150305]),\n new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,2109955,6291456,6291456,0,0,0,0]),\n new Uint32Array([18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,0,0]),\n new Uint32Array([2130979,2131075,2131075,2131171,2131267,2131363,2131459,2131555,2131651,2131651,2131747,2131843,2131939,2132035,2132131,2132227]),\n new Uint32Array([0,2177793,6291456,2177825,6291456,2177857,6291456,2177889,6291456,2177921,6291456,2177953,6291456,2177985,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2113345,0,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),\n new Uint32Array([2136643,2136739,2136835,2136931,2137027,2137123,2137219,2137315,2137411,2137507,2137603,2137699,2137795,2137891,2137987,2138083]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([2174433,6291456,2174465,6291456,2174497,6291456,2174529,6291456,2174561,6291456,2174593,6291456,2174625,6291456,2174657,6291456]),\n new Uint32Array([0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),\n new Uint32Array([10496547,10496643,2105505,2149698,6291456,10496739,10496835,2170273,6291456,2149762,2105825,2111713,2111713,2111713,2111713,2168673]),\n new Uint32Array([6291456,2143490,2143490,2143490,2171649,6291456,2171681,2171713,2171745,6291456,2171777,6291456,2171809,6291456,2171841,6291456]),\n new Uint32Array([2159106,2159106,2159170,2159170,2159234,2159234,2159298,2159298,2159298,2159362,2159362,2159362,2106401,2106401,2106401,2106401]),\n new Uint32Array([2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137]),\n new Uint32Array([2108417,2181217,2181249,2181281,2170433,2170401,2181313,2181345,2181377,2181409,2181441,2181473,2181505,2181537,2170529,2181569]),\n new Uint32Array([2218433,2245761,2245793,2245825,2245857,2245890,2245953,2245986,2209665,2246050,2246113,2246146,2246210,2246274,2246337,2246369]),\n new Uint32Array([2230754,2230818,2230882,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2184129,6291456,2184161,6291456,2184193,6291456,6291456,6291456,6291456,6291456,2146818,2183361,6291456,6291456,2142978,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2135170,2097506,2130691,2130787,2130883,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122]),\n new Uint32Array([2108515,2108611,2100740,2108707,2108803,2108899,2108995,2109091,2109187,2109283,2109379,2109475,2109571,2109667,2109763,2100738]),\n new Uint32Array([2102788,2102916,2103044,2120515,2103172,2120611,2120707,2098373,2103300,2120803,2120899,2120995,2103428,2103556,2121091,2121187]),\n new Uint32Array([2158082,2158146,0,2158210,2158274,0,2158338,2158402,2158466,2129922,2158530,2158594,2158658,2158722,2158786,2158850]),\n new Uint32Array([10499619,10499715,10499811,10499907,10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059]),\n new Uint32Array([2239585,2239618,2239681,2239713,0,2191969,2239745,2239777,2192033,2239809,2239841,2239874,2239937,2239970,2240033,2240065]),\n new Uint32Array([2252705,2252738,2252801,2252833,2252865,2252897,2252930,2252994,2253057,2253089,2253121,2253154,2253217,2253250,2219361,2219361]),\n new Uint32Array([2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,10538050,10538114,10538178,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2226402,2226466,2226530,2226594,2226658,2226722,2226786,2226850,2226914,2226978,2227042,2227106,2227170,2227234,2227298,2227362]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,2144066,2144130,2144194,2144258,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([2124674,2124770,2123875,2123971,2124067,2124163,2124259,2124355,2124451,2124547,2124643,2124739,2124835,2124931,2125027,2125123]),\n new Uint32Array([2168065,6291456,2168097,6291456,2168129,6291456,2168161,6291456,2168193,6291456,2168225,6291456,2168257,6291456,2168289,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,2100610,2100611,6291456,2107842,2107843,6291456,6291456,6291456,6291456,10537922,6291456,10537986,6291456]),\n new Uint32Array([2174849,2174881,2174913,2174945,2174977,2175009,2175041,2175073,2175105,2175137,2175169,2175201,2175233,2175265,2175297,2175329]),\n new Uint32Array([2154562,2154626,2154690,2154754,2141858,2154818,2154882,2127298,2154946,2127298,2155010,2155074,2155138,2155202,2155266,2155202]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0]),\n new Uint32Array([2200641,2150786,2150850,2150914,2150978,2151042,2106562,2151106,2150562,2151170,2151234,2151298,2151362,2151426,2151490,2151554]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456]),\n new Uint32Array([2220289,2220289,2220321,2220321,2220321,2220321,2220353,2220353,2220353,2220353,2220385,2220385,2220385,2220385,2220417,2220417]),\n new Uint32Array([2155330,2155394,0,2155458,2155522,2155586,2105732,0,2155650,2155714,2155778,2125314,2155842,2155906,2126274,2155970]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0]),\n new Uint32Array([2097729,2106017,2106017,2106017,2106017,2131297,2131297,2131297,2131297,2106081,2106081,2162049,2162049,2105953,2105953,2162337]),\n new Uint32Array([2097185,2097697,2097697,2097697,2097697,2135777,2135777,2135777,2135777,2097377,2097377,2097377,2097377,2097601,2097601,2097217]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),\n new Uint32Array([2139331,2139427,2139523,2139043,2133571,2132611,2139619,2139715,0,0,0,0,0,0,0,0]),\n new Uint32Array([2174113,2174145,2100897,2098177,2108289,2100865,2173601,2173633,2173985,2174113,2174145,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,23068672,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,18923778,23068672,23068672,23068672,23068672,18923842,23068672,23068672,23068672,23068672,18923906,23068672,23068672,23068672]),\n new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,0,2133857,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2177537,6291456,2177569,6291456,2177601,6291456,2177633,6291456,2177665,6291456,2177697,6291456,2177729,6291456,2177761,6291456]),\n new Uint32Array([2212481,2212513,2212545,2212577,2197121,2212609,2212641,2212673,2212705,2212737,2212769,2212801,2212833,2212865,2212897,2212929]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2098241,2108353,2170209,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,6291456,2108193,2172417,2112481,2098177]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n];\nvar blockIdxes = 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]);\nvar mappingStr = \"صلى الله عليه وسلمجل جلالهキロメートル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ほかココàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįĵķĺļľłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷÿźżɓƃƅɔƈɖɗƌǝəɛƒɠɣɩɨƙɯɲɵơƣƥʀƨʃƭʈưʊʋƴƶʒƹƽǎǐǒǔǖǘǚǜǟǡǣǥǧǩǫǭǯǵƕƿǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟƞȣȥȧȩȫȭȯȱȳⱥȼƚⱦɂƀʉʌɇɉɋɍɏɦɹɻʁʕͱͳʹͷ;ϳέίόύβγδεζθκλνξοπρστυφχψϊϋϗϙϛϝϟϡϣϥϧϩϫϭϯϸϻͻͼͽѐёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюяѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯաբգդզէըթժլծկհձղճյշոչպջռստրցփքօֆ་ⴧⴭნᏰᏱᏲᏳᏴᏵꙋɐɑᴂɜᴖᴗᴝᴥɒɕɟɡɥɪᵻʝɭᶅʟɱɰɳɴɸʂƫᴜʐʑḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿἐἑἒἓἔἕἰἱἲἳἴἵἶἷὀὁὂὃὄὅὑὓὕὗᾰᾱὲΐῐῑὶΰῠῡὺῥ`ὸ‐+−∑〈〉ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞⱡɫᵽɽⱨⱪⱬⱳⱶȿɀⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳬⳮⳳⵡ母龟丨丶丿乙亅亠人儿入冂冖冫几凵刀力勹匕匚匸卜卩厂厶又口囗士夂夊夕女子宀寸小尢尸屮山巛工己巾干幺广廴廾弋弓彐彡彳心戈戶手支攴文斗斤方无曰欠止歹殳毋比毛氏气爪父爻爿片牙牛犬玄玉瓜瓦甘生用田疋疒癶白皮皿目矛矢石示禸禾穴立竹米糸缶网羊羽老而耒耳聿肉臣臼舌舛舟艮色艸虍虫血行衣襾見角言谷豆豕豸貝赤走足身車辛辰辵邑酉釆里長門阜隶隹雨靑非面革韋韭音頁風飛食首香馬骨高髟鬥鬯鬲鬼魚鳥鹵鹿麥麻黃黍黑黹黽鼎鼓鼠鼻齊齒龍龜龠.〒卄卅ᄁᆪᆬᆭᄄᆰᆱᆲᆳᆴᆵᄚᄈᄡᄊ짜ᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵᄔᄕᇇᇈᇌᇎᇓᇗᇙᄜᇝᇟᄝᄞᄠᄢᄣᄧᄩᄫᄬᄭᄮᄯᄲᄶᅀᅇᅌᇱᇲᅗᅘᅙᆄᆅᆈᆑᆒᆔᆞᆡ上中下甲丙丁天地問幼箏우秘男適優印注項写左右医宗夜テヌモヨヰヱヲꙁꙃꙅꙇꙉꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝺꝼᵹꝿꞁꞃꞅꞇꞌꞑꞓꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩɬʞʇꭓꞵꞷꬷꭒᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅᏆᏇᏈᏉᏊᏋᏌᏍᏎᏏᏐᏑᏒᏓᏔᏕᏖᏗᏘᏙᏚᏛᏜᏝᏞᏟᏠᏡᏢᏣᏤᏥᏦᏧᏨᏩᏪᏫᏬᏭᏮᏯ豈更賈滑串句契喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧蘆虜路露魯鷺碌祿綠菉錄論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏諾丹寧怒率異北磻便復不泌數索參塞省葉說殺沈拾若掠略亮兩凉梁糧良諒量勵呂廬旅濾礪閭驪麗黎曆歷轢年憐戀撚漣煉璉秊練聯輦蓮連鍊列劣咽烈裂廉念捻殮簾獵令囹嶺怜玲瑩羚聆鈴零靈領例禮醴隸惡了僚寮尿料燎療蓼遼暈阮劉杻柳流溜琉留硫紐類戮陸倫崙淪輪律慄栗隆利吏履易李梨泥理痢罹裏裡離匿溺吝燐璘藺隣鱗麟林淋臨笠粒狀炙識什茶刺切度拓糖宅洞暴輻降廓兀嗀塚晴凞猪益礼神祥福靖精蘒諸逸都飯飼館鶴郞隷侮僧免勉勤卑喝嘆器塀墨層悔慨憎懲敏既暑梅海渚漢煮爫琢碑祉祈祐祖禍禎穀突節縉繁署者臭艹著褐視謁謹賓贈辶難響頻恵𤋮舘並况全侀充冀勇勺啕喙嗢墳奄奔婢嬨廒廙彩徭惘慎愈慠戴揄搜摒敖望杖滛滋瀞瞧爵犯瑱甆画瘝瘟盛直睊着磌窱类絛缾荒華蝹襁覆調請諭變輸遲醙鉶陼韛頋鬒𢡊𢡄𣏕㮝䀘䀹𥉉𥳐𧻓齃龎עםٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھۓڭۋۅۉ、〖〗—–_{}【】《》「」『』[]#&*-<>\\\\$%@ءؤة\\\"'^|~⦅⦆・ゥャ¢£¬¦¥₩│←↑→↓■○𐐨𐐩𐐪𐐫𐐬𐐭𐐮𐐯𐐰𐐱𐐲𐐳𐐴𐐵𐐶𐐷𐐸𐐹𐐺𐐻𐐼𐐽𐐾𐐿𐑀𐑁𐑂𐑃𐑄𐑅𐑆𐑇𐑈𐑉𐑊𐑋𐑌𐑍𐑎𐑏𐓘𐓙𐓚𐓛𐓜𐓝𐓞𐓟𐓠𐓡𐓢𐓣𐓤𐓥𐓦𐓧𐓨𐓩𐓪𐓫𐓬𐓭𐓮𐓯𐓰𐓱𐓲𐓳𐓴𐓵𐓶𐓷𐓸𐓹𐓺𐓻𐳀𐳁𐳂𐳃𐳄𐳅𐳆𐳇𐳈𐳉𐳊𐳋𐳌𐳍𐳎𐳏𐳐𐳑𐳒𐳓𐳔𐳕𐳖𐳗𐳘𐳙𐳚𐳛𐳜𐳝𐳞𐳟𐳠𐳡𐳢𐳣𐳤𐳥𐳦𐳧𐳨𐳩𐳪𐳫𐳬𐳭𐳮𐳯𐳰𐳱𐳲𑣀𑣁𑣂𑣃𑣄𑣅𑣆𑣇𑣈𑣉𑣊𑣋𑣌𑣍𑣎𑣏𑣐𑣑𑣒𑣓𑣔𑣕𑣖𑣗𑣘𑣙𑣚𑣛𑣜𑣝𑣞𑣟ıȷ∇∂𞤢𞤣𞤤𞤥𞤦𞤧𞤨𞤩𞤪𞤫𞤬𞤭𞤮𞤯𞤰𞤱𞤲𞤳𞤴𞤵𞤶𞤷𞤸𞤹𞤺𞤻𞤼𞤽𞤾𞤿𞥀𞥁𞥂𞥃ٮڡٯ字双多解交映無前後再新初終販声吹演投捕遊指禁空合満申割営配得可丽丸乁𠄢你侻倂偺備像㒞𠘺兔兤具𠔜㒹內𠕋冗冤仌冬𩇟刃㓟刻剆剷㔕包匆卉博即卽卿𠨬灰及叟𠭣叫叱吆咞吸呈周咢哶唐啓啣善喫喳嗂圖圗噑噴壮城埴堍型堲報墬𡓤売壷夆夢奢𡚨𡛪姬娛娧姘婦㛮嬈嬾𡧈寃寘寳𡬘寿将㞁屠峀岍𡷤嵃𡷦嵮嵫嵼巡巢㠯巽帨帽幩㡢𢆃㡼庰庳庶𪎒𢌱舁弢㣇𣊸𦇚形彫㣣徚忍志忹悁㤺㤜𢛔惇慈慌慺憲憤憯懞戛扝抱拔捐𢬌挽拼捨掃揤𢯱搢揅掩㨮摩摾撝摷㩬敬𣀊旣書晉㬙㬈㫤冒冕最暜肭䏙朡杞杓𣏃㭉柺枅桒𣑭梎栟椔楂榣槪檨𣚣櫛㰘次𣢧歔㱎歲殟殻𣪍𡴋𣫺汎𣲼沿泍汧洖派浩浸涅𣴞洴港湮㴳滇𣻑淹潮𣽞𣾎濆瀹瀛㶖灊災灷炭𠔥煅𤉣熜爨牐𤘈犀犕𤜵𤠔獺王㺬玥㺸瑇瑜璅瓊㼛甤𤰶甾𤲒𢆟瘐𤾡𤾸𥁄㿼䀈𥃳𥃲𥄙𥄳眞真瞋䁆䂖𥐝硎䃣𥘦𥚚𥛅秫䄯穊穏𥥼𥪧䈂𥮫篆築䈧𥲀糒䊠糨糣紀𥾆絣䌁緇縂繅䌴𦈨𦉇䍙𦋙罺𦌾羕翺𦓚𦔣聠𦖨聰𣍟䏕育脃䐋脾媵𦞧𦞵𣎓𣎜舄辞䑫芑芋芝劳花芳芽苦𦬼茝荣莭茣莽菧荓菊菌菜𦰶𦵫𦳕䔫蓱蓳蔖𧏊蕤𦼬䕝䕡𦾱𧃒䕫虐虧虩蚩蚈蜎蛢蜨蝫螆蟡蠁䗹衠𧙧裗裞䘵裺㒻𧢮𧥦䚾䛇誠𧲨貫賁贛起𧼯𠠄跋趼跰𠣞軔𨗒𨗭邔郱鄑𨜮鄛鈸鋗鋘鉼鏹鐕𨯺開䦕閷𨵷䧦雃嶲霣𩅅𩈚䩮䩶韠𩐊䪲𩒖頩𩖶飢䬳餩馧駂駾䯎𩬰鱀鳽䳎䳭鵧𪃎䳸𪄅𪈎𪊑䵖黾鼅鼏鼖𪘀\";\n\nfunction mapChar(codePoint) {\n if (codePoint >= 0x30000) {\n // High planes are special cased.\n if (codePoint >= 0xE0100 && codePoint <= 0xE01EF)\n return 18874368;\n return 0;\n }\n return blocks[blockIdxes[codePoint >> 4]][codePoint & 15];\n}\n\nreturn {\n mapStr: mappingStr,\n mapChar: mapChar\n};\n}));\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nmodule.exports = punycode;\n","(function(root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define(['punycode', './idna-map'], function(punycode, idna_map) {\n return factory(punycode, idna_map);\n });\n }\n else if (typeof exports === 'object') {\n module.exports = factory(require('punycode'), require('./idna-map'));\n }\n else {\n root.uts46 = factory(root.punycode, root.idna_map);\n }\n}(this, function(punycode, idna_map) {\n\n function mapLabel(label, useStd3ASCII, transitional) {\n var mapped = [];\n var chars = punycode.ucs2.decode(label);\n for (var i = 0; i < chars.length; i++) {\n var cp = chars[i];\n var ch = punycode.ucs2.encode([chars[i]]);\n var composite = idna_map.mapChar(cp);\n var flags = (composite >> 23);\n var kind = (composite >> 21) & 3;\n var index = (composite >> 5) & 0xffff;\n var length = composite & 0x1f;\n var value = idna_map.mapStr.substr(index, length);\n if (kind === 0 || (useStd3ASCII && (flags & 1))) {\n throw new Error(\"Illegal char \" + ch);\n }\n else if (kind === 1) {\n mapped.push(value);\n }\n else if (kind === 2) {\n mapped.push(transitional ? value : ch);\n }\n /* istanbul ignore next */\n else if (kind === 3) {\n mapped.push(ch);\n }\n }\n\n var newLabel = mapped.join(\"\").normalize(\"NFC\");\n return newLabel;\n }\n\n function process(domain, transitional, useStd3ASCII) {\n /* istanbul ignore if */\n if (useStd3ASCII === undefined)\n useStd3ASCII = false;\n var mappedIDNA = mapLabel(domain, useStd3ASCII, transitional);\n\n // Step 3. Break\n var labels = mappedIDNA.split(\".\");\n\n // Step 4. Convert/Validate\n labels = labels.map(function(label) {\n if (label.startsWith(\"xn--\")) {\n label = punycode.decode(label.substring(4));\n validateLabel(label, useStd3ASCII, false);\n }\n else {\n validateLabel(label, useStd3ASCII, transitional);\n }\n return label;\n });\n\n return labels.join(\".\");\n }\n\n function validateLabel(label, useStd3ASCII, transitional) {\n // 2. The label must not contain a U+002D HYPHEN-MINUS character in both the\n // third position and fourth positions.\n if (label[2] === '-' && label[3] === '-')\n throw new Error(\"Failed to validate \" + label);\n\n // 3. The label must neither begin nor end with a U+002D HYPHEN-MINUS\n // character.\n if (label.startsWith('-') || label.endsWith('-'))\n throw new Error(\"Failed to validate \" + label);\n\n // 4. The label must not contain a U+002E ( . ) FULL STOP.\n // this should nerver happen as label is chunked internally by this character\n /* istanbul ignore if */\n if (label.includes('.'))\n throw new Error(\"Failed to validate \" + label);\n\n if (mapLabel(label, useStd3ASCII, transitional) !== label)\n throw new Error(\"Failed to validate \" + label);\n\n // 5. The label must not begin with a combining mark, that is:\n // General_Category=Mark.\n var ch = label.codePointAt(0);\n if (idna_map.mapChar(ch) & (0x2 << 23))\n throw new Error(\"Label contains illegal character: \" + ch);\n }\n\n function toAscii(domain, options) {\n if (options === undefined)\n options = {};\n var transitional = 'transitional' in options ? options.transitional : true;\n var useStd3ASCII = 'useStd3ASCII' in options ? options.useStd3ASCII : false;\n var verifyDnsLength = 'verifyDnsLength' in options ? options.verifyDnsLength : false;\n var labels = process(domain, transitional, useStd3ASCII).split('.');\n var asciiLabels = labels.map(punycode.toASCII);\n var asciiString = asciiLabels.join('.');\n var i;\n if (verifyDnsLength) {\n if (asciiString.length < 1 || asciiString.length > 253) {\n throw new Error(\"DNS name has wrong length: \" + asciiString);\n }\n for (i = 0; i < asciiLabels.length; i++) {//for .. of replacement\n var label = asciiLabels[i];\n if (label.length < 1 || label.length > 63)\n throw new Error(\"DNS label has wrong length: \" + label);\n }\n }\n return asciiString;\n }\n\n function toUnicode(domain, options) {\n if (options === undefined)\n options = {};\n var useStd3ASCII = 'useStd3ASCII' in options ? options.useStd3ASCII : false;\n return process(domain, false, useStd3ASCII);\n }\n\n return {\n toUnicode: toUnicode,\n toAscii: toAscii,\n };\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","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","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","module.exports = isFunction\n\nvar toString = Object.prototype.toString\n\nfunction isFunction (fn) {\n if (!fn) {\n return false\n }\n var string = toString.call(fn)\n return string === '[object Function]' ||\n (typeof fn === 'function' && string !== '[object RegExp]') ||\n (typeof window !== 'undefined' &&\n // IE8 and below\n (fn === window.setTimeout ||\n fn === window.alert ||\n fn === window.confirm ||\n fn === window.prompt))\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\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","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\r\n *\r\n * @version 0.5.7\r\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\r\n * @copyright Chen, Yi-Cyuan 2015-2016\r\n * @license MIT\r\n */\r\n/*jslint bitwise: true */\r\n(function () {\r\n 'use strict';\r\n\r\n var root = typeof window === 'object' ? window : {};\r\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\r\n if (NODE_JS) {\r\n root = global;\r\n }\r\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\r\n var HEX_CHARS = '0123456789abcdef'.split('');\r\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\r\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\r\n var PADDING = [6, 1536, 393216, 100663296];\r\n var SHIFT = [0, 8, 16, 24];\r\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\r\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\r\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\r\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\r\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\r\n var BITS = [224, 256, 384, 512];\r\n var SHAKE_BITS = [128, 256];\r\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array'];\r\n\r\n var createOutputMethod = function (bits, padding, outputType) {\r\n return function (message) {\r\n return new Keccak(bits, padding, bits).update(message)[outputType]();\r\n };\r\n };\r\n\r\n var createShakeOutputMethod = function (bits, padding, outputType) {\r\n return function (message, outputBits) {\r\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\r\n };\r\n };\r\n\r\n var createMethod = function (bits, padding) {\r\n var method = createOutputMethod(bits, padding, 'hex');\r\n method.create = function () {\r\n return new Keccak(bits, padding, bits);\r\n };\r\n method.update = function (message) {\r\n return method.create().update(message);\r\n };\r\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\r\n var type = OUTPUT_TYPES[i];\r\n method[type] = createOutputMethod(bits, padding, type);\r\n }\r\n return method;\r\n };\r\n\r\n var createShakeMethod = function (bits, padding) {\r\n var method = createShakeOutputMethod(bits, padding, 'hex');\r\n method.create = function (outputBits) {\r\n return new Keccak(bits, padding, outputBits);\r\n };\r\n method.update = function (message, outputBits) {\r\n return method.create(outputBits).update(message);\r\n };\r\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\r\n var type = OUTPUT_TYPES[i];\r\n method[type] = createShakeOutputMethod(bits, padding, type);\r\n }\r\n return method;\r\n };\r\n\r\n var algorithms = [\r\n {name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod},\r\n {name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod},\r\n {name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod}\r\n ];\r\n\r\n var methods = {}, methodNames = [];\r\n\r\n for (var i = 0; i < algorithms.length; ++i) {\r\n var algorithm = algorithms[i];\r\n var bits = algorithm.bits;\r\n for (var j = 0; j < bits.length; ++j) {\r\n var methodName = algorithm.name +'_' + bits[j];\r\n methodNames.push(methodName);\r\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\r\n }\r\n }\r\n\r\n function Keccak(bits, padding, outputBits) {\r\n this.blocks = [];\r\n this.s = [];\r\n this.padding = padding;\r\n this.outputBits = outputBits;\r\n this.reset = true;\r\n this.block = 0;\r\n this.start = 0;\r\n this.blockCount = (1600 - (bits << 1)) >> 5;\r\n this.byteCount = this.blockCount << 2;\r\n this.outputBlocks = outputBits >> 5;\r\n this.extraBytes = (outputBits & 31) >> 3;\r\n\r\n for (var i = 0; i < 50; ++i) {\r\n this.s[i] = 0;\r\n }\r\n }\r\n\r\n Keccak.prototype.update = function (message) {\r\n var notString = typeof message !== 'string';\r\n if (notString && message.constructor === ArrayBuffer) {\r\n message = new Uint8Array(message);\r\n }\r\n var length = message.length, blocks = this.blocks, byteCount = this.byteCount,\r\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\r\n\r\n while (index < length) {\r\n if (this.reset) {\r\n this.reset = false;\r\n blocks[0] = this.block;\r\n for (i = 1; i < blockCount + 1; ++i) {\r\n blocks[i] = 0;\r\n }\r\n }\r\n if (notString) {\r\n for (i = this.start; index < length && i < byteCount; ++index) {\r\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\r\n }\r\n } else {\r\n for (i = this.start; index < length && i < byteCount; ++index) {\r\n code = message.charCodeAt(index);\r\n if (code < 0x80) {\r\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\r\n } else if (code < 0x800) {\r\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\r\n } else if (code < 0xd800 || code >= 0xe000) {\r\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\r\n } else {\r\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\r\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\r\n }\r\n }\r\n }\r\n this.lastByteIndex = i;\r\n if (i >= byteCount) {\r\n this.start = i - byteCount;\r\n this.block = blocks[blockCount];\r\n for (i = 0; i < blockCount; ++i) {\r\n s[i] ^= blocks[i];\r\n }\r\n f(s);\r\n this.reset = true;\r\n } else {\r\n this.start = i;\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n Keccak.prototype.finalize = function () {\r\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\r\n blocks[i >> 2] |= this.padding[i & 3];\r\n if (this.lastByteIndex === this.byteCount) {\r\n blocks[0] = blocks[blockCount];\r\n for (i = 1; i < blockCount + 1; ++i) {\r\n blocks[i] = 0;\r\n }\r\n }\r\n blocks[blockCount - 1] |= 0x80000000;\r\n for (i = 0; i < blockCount; ++i) {\r\n s[i] ^= blocks[i];\r\n }\r\n f(s);\r\n };\r\n\r\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\r\n this.finalize();\r\n\r\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\r\n extraBytes = this.extraBytes, i = 0, j = 0;\r\n var hex = '', block;\r\n while (j < outputBlocks) {\r\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\r\n block = s[i];\r\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\r\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\r\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\r\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\r\n }\r\n if (j % blockCount === 0) {\r\n f(s);\r\n i = 0;\r\n }\r\n }\r\n if (extraBytes) {\r\n block = s[i];\r\n if (extraBytes > 0) {\r\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\r\n }\r\n if (extraBytes > 1) {\r\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\r\n }\r\n if (extraBytes > 2) {\r\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\r\n }\r\n }\r\n return hex;\r\n };\r\n\r\n Keccak.prototype.arrayBuffer = function () {\r\n this.finalize();\r\n\r\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\r\n extraBytes = this.extraBytes, i = 0, j = 0;\r\n var bytes = this.outputBits >> 3;\r\n var buffer;\r\n if (extraBytes) {\r\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\r\n } else {\r\n buffer = new ArrayBuffer(bytes);\r\n }\r\n var array = new Uint32Array(buffer);\r\n while (j < outputBlocks) {\r\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\r\n array[j] = s[i];\r\n }\r\n if (j % blockCount === 0) {\r\n f(s);\r\n }\r\n }\r\n if (extraBytes) {\r\n array[i] = s[i];\r\n buffer = buffer.slice(0, bytes);\r\n }\r\n return buffer;\r\n };\r\n\r\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\r\n\r\n Keccak.prototype.digest = Keccak.prototype.array = function () {\r\n this.finalize();\r\n\r\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\r\n extraBytes = this.extraBytes, i = 0, j = 0;\r\n var array = [], offset, block;\r\n while (j < outputBlocks) {\r\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\r\n offset = j << 2;\r\n block = s[i];\r\n array[offset] = block & 0xFF;\r\n array[offset + 1] = (block >> 8) & 0xFF;\r\n array[offset + 2] = (block >> 16) & 0xFF;\r\n array[offset + 3] = (block >> 24) & 0xFF;\r\n }\r\n if (j % blockCount === 0) {\r\n f(s);\r\n }\r\n }\r\n if (extraBytes) {\r\n offset = j << 2;\r\n block = s[i];\r\n if (extraBytes > 0) {\r\n array[offset] = block & 0xFF;\r\n }\r\n if (extraBytes > 1) {\r\n array[offset + 1] = (block >> 8) & 0xFF;\r\n }\r\n if (extraBytes > 2) {\r\n array[offset + 2] = (block >> 16) & 0xFF;\r\n }\r\n }\r\n return array;\r\n };\r\n\r\n var f = function (s) {\r\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\r\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\r\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\r\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\r\n for (n = 0; n < 48; n += 2) {\r\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\r\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\r\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\r\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\r\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\r\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\r\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\r\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\r\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\r\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\r\n\r\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\r\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\r\n s[0] ^= h;\r\n s[1] ^= l;\r\n s[10] ^= h;\r\n s[11] ^= l;\r\n s[20] ^= h;\r\n s[21] ^= l;\r\n s[30] ^= h;\r\n s[31] ^= l;\r\n s[40] ^= h;\r\n s[41] ^= l;\r\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\r\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\r\n s[2] ^= h;\r\n s[3] ^= l;\r\n s[12] ^= h;\r\n s[13] ^= l;\r\n s[22] ^= h;\r\n s[23] ^= l;\r\n s[32] ^= h;\r\n s[33] ^= l;\r\n s[42] ^= h;\r\n s[43] ^= l;\r\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\r\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\r\n s[4] ^= h;\r\n s[5] ^= l;\r\n s[14] ^= h;\r\n s[15] ^= l;\r\n s[24] ^= h;\r\n s[25] ^= l;\r\n s[34] ^= h;\r\n s[35] ^= l;\r\n s[44] ^= h;\r\n s[45] ^= l;\r\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\r\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\r\n s[6] ^= h;\r\n s[7] ^= l;\r\n s[16] ^= h;\r\n s[17] ^= l;\r\n s[26] ^= h;\r\n s[27] ^= l;\r\n s[36] ^= h;\r\n s[37] ^= l;\r\n s[46] ^= h;\r\n s[47] ^= l;\r\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\r\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\r\n s[8] ^= h;\r\n s[9] ^= l;\r\n s[18] ^= h;\r\n s[19] ^= l;\r\n s[28] ^= h;\r\n s[29] ^= l;\r\n s[38] ^= h;\r\n s[39] ^= l;\r\n s[48] ^= h;\r\n s[49] ^= l;\r\n\r\n b0 = s[0];\r\n b1 = s[1];\r\n b32 = (s[11] << 4) | (s[10] >>> 28);\r\n b33 = (s[10] << 4) | (s[11] >>> 28);\r\n b14 = (s[20] << 3) | (s[21] >>> 29);\r\n b15 = (s[21] << 3) | (s[20] >>> 29);\r\n b46 = (s[31] << 9) | (s[30] >>> 23);\r\n b47 = (s[30] << 9) | (s[31] >>> 23);\r\n b28 = (s[40] << 18) | (s[41] >>> 14);\r\n b29 = (s[41] << 18) | (s[40] >>> 14);\r\n b20 = (s[2] << 1) | (s[3] >>> 31);\r\n b21 = (s[3] << 1) | (s[2] >>> 31);\r\n b2 = (s[13] << 12) | (s[12] >>> 20);\r\n b3 = (s[12] << 12) | (s[13] >>> 20);\r\n b34 = (s[22] << 10) | (s[23] >>> 22);\r\n b35 = (s[23] << 10) | (s[22] >>> 22);\r\n b16 = (s[33] << 13) | (s[32] >>> 19);\r\n b17 = (s[32] << 13) | (s[33] >>> 19);\r\n b48 = (s[42] << 2) | (s[43] >>> 30);\r\n b49 = (s[43] << 2) | (s[42] >>> 30);\r\n b40 = (s[5] << 30) | (s[4] >>> 2);\r\n b41 = (s[4] << 30) | (s[5] >>> 2);\r\n b22 = (s[14] << 6) | (s[15] >>> 26);\r\n b23 = (s[15] << 6) | (s[14] >>> 26);\r\n b4 = (s[25] << 11) | (s[24] >>> 21);\r\n b5 = (s[24] << 11) | (s[25] >>> 21);\r\n b36 = (s[34] << 15) | (s[35] >>> 17);\r\n b37 = (s[35] << 15) | (s[34] >>> 17);\r\n b18 = (s[45] << 29) | (s[44] >>> 3);\r\n b19 = (s[44] << 29) | (s[45] >>> 3);\r\n b10 = (s[6] << 28) | (s[7] >>> 4);\r\n b11 = (s[7] << 28) | (s[6] >>> 4);\r\n b42 = (s[17] << 23) | (s[16] >>> 9);\r\n b43 = (s[16] << 23) | (s[17] >>> 9);\r\n b24 = (s[26] << 25) | (s[27] >>> 7);\r\n b25 = (s[27] << 25) | (s[26] >>> 7);\r\n b6 = (s[36] << 21) | (s[37] >>> 11);\r\n b7 = (s[37] << 21) | (s[36] >>> 11);\r\n b38 = (s[47] << 24) | (s[46] >>> 8);\r\n b39 = (s[46] << 24) | (s[47] >>> 8);\r\n b30 = (s[8] << 27) | (s[9] >>> 5);\r\n b31 = (s[9] << 27) | (s[8] >>> 5);\r\n b12 = (s[18] << 20) | (s[19] >>> 12);\r\n b13 = (s[19] << 20) | (s[18] >>> 12);\r\n b44 = (s[29] << 7) | (s[28] >>> 25);\r\n b45 = (s[28] << 7) | (s[29] >>> 25);\r\n b26 = (s[38] << 8) | (s[39] >>> 24);\r\n b27 = (s[39] << 8) | (s[38] >>> 24);\r\n b8 = (s[48] << 14) | (s[49] >>> 18);\r\n b9 = (s[49] << 14) | (s[48] >>> 18);\r\n\r\n s[0] = b0 ^ (~b2 & b4);\r\n s[1] = b1 ^ (~b3 & b5);\r\n s[10] = b10 ^ (~b12 & b14);\r\n s[11] = b11 ^ (~b13 & b15);\r\n s[20] = b20 ^ (~b22 & b24);\r\n s[21] = b21 ^ (~b23 & b25);\r\n s[30] = b30 ^ (~b32 & b34);\r\n s[31] = b31 ^ (~b33 & b35);\r\n s[40] = b40 ^ (~b42 & b44);\r\n s[41] = b41 ^ (~b43 & b45);\r\n s[2] = b2 ^ (~b4 & b6);\r\n s[3] = b3 ^ (~b5 & b7);\r\n s[12] = b12 ^ (~b14 & b16);\r\n s[13] = b13 ^ (~b15 & b17);\r\n s[22] = b22 ^ (~b24 & b26);\r\n s[23] = b23 ^ (~b25 & b27);\r\n s[32] = b32 ^ (~b34 & b36);\r\n s[33] = b33 ^ (~b35 & b37);\r\n s[42] = b42 ^ (~b44 & b46);\r\n s[43] = b43 ^ (~b45 & b47);\r\n s[4] = b4 ^ (~b6 & b8);\r\n s[5] = b5 ^ (~b7 & b9);\r\n s[14] = b14 ^ (~b16 & b18);\r\n s[15] = b15 ^ (~b17 & b19);\r\n s[24] = b24 ^ (~b26 & b28);\r\n s[25] = b25 ^ (~b27 & b29);\r\n s[34] = b34 ^ (~b36 & b38);\r\n s[35] = b35 ^ (~b37 & b39);\r\n s[44] = b44 ^ (~b46 & b48);\r\n s[45] = b45 ^ (~b47 & b49);\r\n s[6] = b6 ^ (~b8 & b0);\r\n s[7] = b7 ^ (~b9 & b1);\r\n s[16] = b16 ^ (~b18 & b10);\r\n s[17] = b17 ^ (~b19 & b11);\r\n s[26] = b26 ^ (~b28 & b20);\r\n s[27] = b27 ^ (~b29 & b21);\r\n s[36] = b36 ^ (~b38 & b30);\r\n s[37] = b37 ^ (~b39 & b31);\r\n s[46] = b46 ^ (~b48 & b40);\r\n s[47] = b47 ^ (~b49 & b41);\r\n s[8] = b8 ^ (~b0 & b2);\r\n s[9] = b9 ^ (~b1 & b3);\r\n s[18] = b18 ^ (~b10 & b12);\r\n s[19] = b19 ^ (~b11 & b13);\r\n s[28] = b28 ^ (~b20 & b22);\r\n s[29] = b29 ^ (~b21 & b23);\r\n s[38] = b38 ^ (~b30 & b32);\r\n s[39] = b39 ^ (~b31 & b33);\r\n s[48] = b48 ^ (~b40 & b42);\r\n s[49] = b49 ^ (~b41 & b43);\r\n\r\n s[0] ^= RC[n];\r\n s[1] ^= RC[n + 1];\r\n }\r\n };\r\n\r\n if (COMMON_JS) {\r\n module.exports = methods;\r\n } else {\r\n for (var i = 0; i < methodNames.length; ++i) {\r\n root[methodNames[i]] = methods[methodNames[i]];\r\n }\r\n }\r\n})();\r\n","module.exports = require('./lib/api')(require('./lib/keccak'))\n","const createKeccak = require('./keccak')\nconst createShake = require('./shake')\n\nmodule.exports = function (KeccakState) {\n const Keccak = createKeccak(KeccakState)\n const Shake = createShake(KeccakState)\n\n return function (algorithm, options) {\n const hash = typeof algorithm === 'string' ? algorithm.toLowerCase() : algorithm\n switch (hash) {\n case 'keccak224': return new Keccak(1152, 448, null, 224, options)\n case 'keccak256': return new Keccak(1088, 512, null, 256, options)\n case 'keccak384': return new Keccak(832, 768, null, 384, options)\n case 'keccak512': return new Keccak(576, 1024, null, 512, options)\n\n case 'sha3-224': return new Keccak(1152, 448, 0x06, 224, options)\n case 'sha3-256': return new Keccak(1088, 512, 0x06, 256, options)\n case 'sha3-384': return new Keccak(832, 768, 0x06, 384, options)\n case 'sha3-512': return new Keccak(576, 1024, 0x06, 512, options)\n\n case 'shake128': return new Shake(1344, 256, 0x1f, options)\n case 'shake256': return new Shake(1088, 512, 0x1f, options)\n\n default: throw new Error('Invald algorithm: ' + algorithm)\n }\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Keccak extends Transform {\n constructor (rate, capacity, delimitedSuffix, hashBitLength, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._hashBitLength = hashBitLength\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush (callback) {\n let error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n digest (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix)\n let digest = this._state.squeeze(this._hashBitLength / 8)\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n this._resetState()\n\n return digest\n }\n\n // remove result from memory\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n // because sometimes we need hash right now and little later\n _clone () {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Shake extends Transform {\n constructor (rate, capacity, delimitedSuffix, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush () {}\n\n _read (size) {\n this.push(this.squeeze(size))\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Squeeze already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n squeeze (dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true\n this._state.absorbLastFewBits(this._delimitedSuffix)\n }\n\n let data = this._state.squeeze(dataByteLength)\n if (encoding !== undefined) data = data.toString(encoding)\n\n return data\n }\n\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n _clone () {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const P1600_ROUND_CONSTANTS = [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\nexports.p1600 = function (s) {\n for (let round = 0; round < 24; ++round) {\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]\n\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31)\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31)\n const t1slo0 = s[0] ^ lo\n const t1shi0 = s[1] ^ hi\n const t1slo5 = s[10] ^ lo\n const t1shi5 = s[11] ^ hi\n const t1slo10 = s[20] ^ lo\n const t1shi10 = s[21] ^ hi\n const t1slo15 = s[30] ^ lo\n const t1shi15 = s[31] ^ hi\n const t1slo20 = s[40] ^ lo\n const t1shi20 = s[41] ^ hi\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31)\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31)\n const t1slo1 = s[2] ^ lo\n const t1shi1 = s[3] ^ hi\n const t1slo6 = s[12] ^ lo\n const t1shi6 = s[13] ^ hi\n const t1slo11 = s[22] ^ lo\n const t1shi11 = s[23] ^ hi\n const t1slo16 = s[32] ^ lo\n const t1shi16 = s[33] ^ hi\n const t1slo21 = s[42] ^ lo\n const t1shi21 = s[43] ^ hi\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31)\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31)\n const t1slo2 = s[4] ^ lo\n const t1shi2 = s[5] ^ hi\n const t1slo7 = s[14] ^ lo\n const t1shi7 = s[15] ^ hi\n const t1slo12 = s[24] ^ lo\n const t1shi12 = s[25] ^ hi\n const t1slo17 = s[34] ^ lo\n const t1shi17 = s[35] ^ hi\n const t1slo22 = s[44] ^ lo\n const t1shi22 = s[45] ^ hi\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31)\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31)\n const t1slo3 = s[6] ^ lo\n const t1shi3 = s[7] ^ hi\n const t1slo8 = s[16] ^ lo\n const t1shi8 = s[17] ^ hi\n const t1slo13 = s[26] ^ lo\n const t1shi13 = s[27] ^ hi\n const t1slo18 = s[36] ^ lo\n const t1shi18 = s[37] ^ hi\n const t1slo23 = s[46] ^ lo\n const t1shi23 = s[47] ^ hi\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31)\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31)\n const t1slo4 = s[8] ^ lo\n const t1shi4 = s[9] ^ hi\n const t1slo9 = s[18] ^ lo\n const t1shi9 = s[19] ^ hi\n const t1slo14 = s[28] ^ lo\n const t1shi14 = s[29] ^ hi\n const t1slo19 = s[38] ^ lo\n const t1shi19 = s[39] ^ hi\n const t1slo24 = s[48] ^ lo\n const t1shi24 = s[49] ^ hi\n\n // rho & pi\n const t2slo0 = t1slo0\n const t2shi0 = t1shi0\n const t2slo16 = (t1shi5 << 4 | t1slo5 >>> 28)\n const t2shi16 = (t1slo5 << 4 | t1shi5 >>> 28)\n const t2slo7 = (t1slo10 << 3 | t1shi10 >>> 29)\n const t2shi7 = (t1shi10 << 3 | t1slo10 >>> 29)\n const t2slo23 = (t1shi15 << 9 | t1slo15 >>> 23)\n const t2shi23 = (t1slo15 << 9 | t1shi15 >>> 23)\n const t2slo14 = (t1slo20 << 18 | t1shi20 >>> 14)\n const t2shi14 = (t1shi20 << 18 | t1slo20 >>> 14)\n const t2slo10 = (t1slo1 << 1 | t1shi1 >>> 31)\n const t2shi10 = (t1shi1 << 1 | t1slo1 >>> 31)\n const t2slo1 = (t1shi6 << 12 | t1slo6 >>> 20)\n const t2shi1 = (t1slo6 << 12 | t1shi6 >>> 20)\n const t2slo17 = (t1slo11 << 10 | t1shi11 >>> 22)\n const t2shi17 = (t1shi11 << 10 | t1slo11 >>> 22)\n const t2slo8 = (t1shi16 << 13 | t1slo16 >>> 19)\n const t2shi8 = (t1slo16 << 13 | t1shi16 >>> 19)\n const t2slo24 = (t1slo21 << 2 | t1shi21 >>> 30)\n const t2shi24 = (t1shi21 << 2 | t1slo21 >>> 30)\n const t2slo20 = (t1shi2 << 30 | t1slo2 >>> 2)\n const t2shi20 = (t1slo2 << 30 | t1shi2 >>> 2)\n const t2slo11 = (t1slo7 << 6 | t1shi7 >>> 26)\n const t2shi11 = (t1shi7 << 6 | t1slo7 >>> 26)\n const t2slo2 = (t1shi12 << 11 | t1slo12 >>> 21)\n const t2shi2 = (t1slo12 << 11 | t1shi12 >>> 21)\n const t2slo18 = (t1slo17 << 15 | t1shi17 >>> 17)\n const t2shi18 = (t1shi17 << 15 | t1slo17 >>> 17)\n const t2slo9 = (t1shi22 << 29 | t1slo22 >>> 3)\n const t2shi9 = (t1slo22 << 29 | t1shi22 >>> 3)\n const t2slo5 = (t1slo3 << 28 | t1shi3 >>> 4)\n const t2shi5 = (t1shi3 << 28 | t1slo3 >>> 4)\n const t2slo21 = (t1shi8 << 23 | t1slo8 >>> 9)\n const t2shi21 = (t1slo8 << 23 | t1shi8 >>> 9)\n const t2slo12 = (t1slo13 << 25 | t1shi13 >>> 7)\n const t2shi12 = (t1shi13 << 25 | t1slo13 >>> 7)\n const t2slo3 = (t1slo18 << 21 | t1shi18 >>> 11)\n const t2shi3 = (t1shi18 << 21 | t1slo18 >>> 11)\n const t2slo19 = (t1shi23 << 24 | t1slo23 >>> 8)\n const t2shi19 = (t1slo23 << 24 | t1shi23 >>> 8)\n const t2slo15 = (t1slo4 << 27 | t1shi4 >>> 5)\n const t2shi15 = (t1shi4 << 27 | t1slo4 >>> 5)\n const t2slo6 = (t1slo9 << 20 | t1shi9 >>> 12)\n const t2shi6 = (t1shi9 << 20 | t1slo9 >>> 12)\n const t2slo22 = (t1shi14 << 7 | t1slo14 >>> 25)\n const t2shi22 = (t1slo14 << 7 | t1shi14 >>> 25)\n const t2slo13 = (t1slo19 << 8 | t1shi19 >>> 24)\n const t2shi13 = (t1shi19 << 8 | t1slo19 >>> 24)\n const t2slo4 = (t1slo24 << 14 | t1shi24 >>> 18)\n const t2shi4 = (t1shi24 << 14 | t1slo24 >>> 18)\n\n // chi\n s[0] = t2slo0 ^ (~t2slo1 & t2slo2)\n s[1] = t2shi0 ^ (~t2shi1 & t2shi2)\n s[10] = t2slo5 ^ (~t2slo6 & t2slo7)\n s[11] = t2shi5 ^ (~t2shi6 & t2shi7)\n s[20] = t2slo10 ^ (~t2slo11 & t2slo12)\n s[21] = t2shi10 ^ (~t2shi11 & t2shi12)\n s[30] = t2slo15 ^ (~t2slo16 & t2slo17)\n s[31] = t2shi15 ^ (~t2shi16 & t2shi17)\n s[40] = t2slo20 ^ (~t2slo21 & t2slo22)\n s[41] = t2shi20 ^ (~t2shi21 & t2shi22)\n s[2] = t2slo1 ^ (~t2slo2 & t2slo3)\n s[3] = t2shi1 ^ (~t2shi2 & t2shi3)\n s[12] = t2slo6 ^ (~t2slo7 & t2slo8)\n s[13] = t2shi6 ^ (~t2shi7 & t2shi8)\n s[22] = t2slo11 ^ (~t2slo12 & t2slo13)\n s[23] = t2shi11 ^ (~t2shi12 & t2shi13)\n s[32] = t2slo16 ^ (~t2slo17 & t2slo18)\n s[33] = t2shi16 ^ (~t2shi17 & t2shi18)\n s[42] = t2slo21 ^ (~t2slo22 & t2slo23)\n s[43] = t2shi21 ^ (~t2shi22 & t2shi23)\n s[4] = t2slo2 ^ (~t2slo3 & t2slo4)\n s[5] = t2shi2 ^ (~t2shi3 & t2shi4)\n s[14] = t2slo7 ^ (~t2slo8 & t2slo9)\n s[15] = t2shi7 ^ (~t2shi8 & t2shi9)\n s[24] = t2slo12 ^ (~t2slo13 & t2slo14)\n s[25] = t2shi12 ^ (~t2shi13 & t2shi14)\n s[34] = t2slo17 ^ (~t2slo18 & t2slo19)\n s[35] = t2shi17 ^ (~t2shi18 & t2shi19)\n s[44] = t2slo22 ^ (~t2slo23 & t2slo24)\n s[45] = t2shi22 ^ (~t2shi23 & t2shi24)\n s[6] = t2slo3 ^ (~t2slo4 & t2slo0)\n s[7] = t2shi3 ^ (~t2shi4 & t2shi0)\n s[16] = t2slo8 ^ (~t2slo9 & t2slo5)\n s[17] = t2shi8 ^ (~t2shi9 & t2shi5)\n s[26] = t2slo13 ^ (~t2slo14 & t2slo10)\n s[27] = t2shi13 ^ (~t2shi14 & t2shi10)\n s[36] = t2slo18 ^ (~t2slo19 & t2slo15)\n s[37] = t2shi18 ^ (~t2shi19 & t2shi15)\n s[46] = t2slo23 ^ (~t2slo24 & t2slo20)\n s[47] = t2shi23 ^ (~t2shi24 & t2shi20)\n s[8] = t2slo4 ^ (~t2slo0 & t2slo1)\n s[9] = t2shi4 ^ (~t2shi0 & t2shi1)\n s[18] = t2slo9 ^ (~t2slo5 & t2slo6)\n s[19] = t2shi9 ^ (~t2shi5 & t2shi6)\n s[28] = t2slo14 ^ (~t2slo10 & t2slo11)\n s[29] = t2shi14 ^ (~t2shi10 & t2shi11)\n s[38] = t2slo19 ^ (~t2slo15 & t2slo16)\n s[39] = t2shi19 ^ (~t2shi15 & t2shi16)\n s[48] = t2slo24 ^ (~t2slo20 & t2slo21)\n s[49] = t2shi24 ^ (~t2shi20 & t2shi21)\n\n // iota\n s[0] ^= P1600_ROUND_CONSTANTS[round * 2]\n s[1] ^= P1600_ROUND_CONSTANTS[round * 2 + 1]\n }\n}\n","const keccakState = require('./keccak-state-unroll')\n\nfunction Keccak () {\n // much faster than `new Array(50)`\n this.state = [\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0\n ]\n\n this.blockSize = null\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.initialize = function (rate, capacity) {\n for (let i = 0; i < 50; ++i) this.state[i] = 0\n this.blockSize = rate / 8\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.absorb = function (data) {\n for (let i = 0; i < data.length; ++i) {\n this.state[~~(this.count / 4)] ^= data[i] << (8 * (this.count % 4))\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n}\n\nKeccak.prototype.absorbLastFewBits = function (bits) {\n this.state[~~(this.count / 4)] ^= bits << (8 * (this.count % 4))\n if ((bits & 0x80) !== 0 && this.count === (this.blockSize - 1)) keccakState.p1600(this.state)\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << (8 * ((this.blockSize - 1) % 4))\n keccakState.p1600(this.state)\n this.count = 0\n this.squeezing = true\n}\n\nKeccak.prototype.squeeze = function (length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01)\n\n const output = Buffer.alloc(length)\n for (let i = 0; i < length; ++i) {\n output[i] = (this.state[~~(this.count / 4)] >>> (8 * (this.count % 4))) & 0xff\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n\n return output\n}\n\nKeccak.prototype.copy = function (dest) {\n for (let i = 0; i < 50; ++i) dest.state[i] = this.state[i]\n dest.blockSize = this.blockSize\n dest.count = this.count\n dest.squeezing = this.squeezing\n}\n\nmodule.exports = Keccak\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","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","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;\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\nclass Base {\n constructor (name, code, implementation, alphabet) {\n this.name = name\n this.code = code\n this.alphabet = alphabet\n if (implementation && alphabet) {\n this.engine = implementation(alphabet)\n }\n }\n\n encode (stringOrBuffer) {\n return this.engine.encode(stringOrBuffer)\n }\n\n decode (stringOrBuffer) {\n return this.engine.decode(stringOrBuffer)\n }\n\n isImplemented () {\n return this.engine\n }\n}\n\nmodule.exports = Base\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base16 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return Buffer.from(input).toString('hex')\n }\n return input.toString('hex')\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base16 character')\n }\n }\n return Buffer.from(input, 'hex')\n }\n }\n}\n","'use strict'\n\nfunction decode (input, alphabet) {\n input = input.replace(new RegExp('=', 'g'), '')\n const length = input.length\n\n let bits = 0\n let value = 0\n\n let index = 0\n const output = new Uint8Array((length * 5 / 8) | 0)\n\n for (let i = 0; i < length; i++) {\n value = (value << 5) | alphabet.indexOf(input[i])\n bits += 5\n\n if (bits >= 8) {\n output[index++] = (value >>> (bits - 8)) & 255\n bits -= 8\n }\n }\n\n return output.buffer\n}\n\nfunction encode (buffer, alphabet) {\n const length = buffer.byteLength\n const view = new Uint8Array(buffer)\n const padding = alphabet.indexOf('=') === alphabet.length - 1\n\n if (padding) {\n alphabet = alphabet.substring(0, alphabet.length - 1)\n }\n\n let bits = 0\n let value = 0\n let output = ''\n\n for (let i = 0; i < length; i++) {\n value = (value << 8) | view[i]\n bits += 8\n\n while (bits >= 5) {\n output += alphabet[(value >>> (bits - 5)) & 31]\n bits -= 5\n }\n }\n\n if (bits > 0) {\n output += alphabet[(value << (5 - bits)) & 31]\n }\n\n if (padding) {\n while ((output.length % 8) !== 0) {\n output += '='\n }\n }\n\n return output\n}\n\nmodule.exports = function base32 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return encode(Uint8Array.from(input), alphabet)\n }\n\n return encode(input, alphabet)\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base32 character')\n }\n }\n\n return decode(input, alphabet)\n }\n }\n}\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base64 (alphabet) {\n // The alphabet is only used to know:\n // 1. If padding is enabled (must contain '=')\n // 2. If the output must be url-safe (must contain '-' and '_')\n // 3. If the input of the output function is valid\n // The alphabets from RFC 4648 are always used.\n const padding = alphabet.indexOf('=') > -1\n const url = alphabet.indexOf('-') > -1 && alphabet.indexOf('_') > -1\n\n return {\n encode (input) {\n let output = ''\n\n if (typeof input === 'string') {\n output = Buffer.from(input).toString('base64')\n } else {\n output = input.toString('base64')\n }\n\n if (url) {\n output = output.replace(/\\+/g, '-').replace(/\\//g, '_')\n }\n\n const pad = output.indexOf('=')\n if (pad > 0 && !padding) {\n output = output.substring(0, pad)\n }\n\n return output\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base64 character')\n }\n }\n\n return Buffer.from(input, 'base64')\n }\n }\n}\n","'use strict'\n\nconst Base = require('./base.js')\nconst baseX = require('base-x')\nconst base16 = require('./base16')\nconst base32 = require('./base32')\nconst base64 = require('./base64')\n\n// name, code, implementation, alphabet\nconst constants = [\n ['base1', '1', '', '1'],\n ['base2', '0', baseX, '01'],\n ['base8', '7', baseX, '01234567'],\n ['base10', '9', baseX, '0123456789'],\n ['base16', 'f', base16, '0123456789abcdef'],\n ['base32', 'b', base32, 'abcdefghijklmnopqrstuvwxyz234567'],\n ['base32pad', 'c', base32, 'abcdefghijklmnopqrstuvwxyz234567='],\n ['base32hex', 'v', base32, '0123456789abcdefghijklmnopqrstuv'],\n ['base32hexpad', 't', base32, '0123456789abcdefghijklmnopqrstuv='],\n ['base32z', 'h', base32, 'ybndrfg8ejkmcpqxot1uwisza345h769'],\n ['base58flickr', 'Z', baseX, '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'],\n ['base58btc', 'z', baseX, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'],\n ['base64', 'm', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'],\n ['base64pad', 'M', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='],\n ['base64url', 'u', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'],\n ['base64urlpad', 'U', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=']\n]\n\nconst names = constants.reduce((prev, tupple) => {\n prev[tupple[0]] = new Base(tupple[0], tupple[1], tupple[2], tupple[3])\n return prev\n}, {})\n\nconst codes = constants.reduce((prev, tupple) => {\n prev[tupple[1]] = names[tupple[0]]\n return prev\n}, {})\n\nmodule.exports = {\n names: names,\n codes: codes\n}\n","/**\n * Implementation of the [multibase](https://github.com/multiformats/multibase) specification.\n * @module Multibase\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst constants = require('./constants')\n\nexports = module.exports = multibase\nexports.encode = encode\nexports.decode = decode\nexports.isEncoded = isEncoded\nexports.names = Object.freeze(Object.keys(constants.names))\nexports.codes = Object.freeze(Object.keys(constants.codes))\n\nconst errNotSupported = new Error('Unsupported encoding')\n\n/**\n * Create a new buffer with the multibase varint+code.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be prefixed with multibase.\n * @memberof Multibase\n * @returns {Buffer}\n */\nfunction multibase (nameOrCode, buf) {\n if (!buf) {\n throw new Error('requires an encoded buffer')\n }\n const base = getBase(nameOrCode)\n const codeBuf = Buffer.from(base.code)\n\n const name = base.name\n validEncode(name, buf)\n return Buffer.concat([codeBuf, buf])\n}\n\n/**\n * Encode data with the specified base and add the multibase prefix.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be encoded.\n * @returns {Buffer}\n * @memberof Multibase\n */\nfunction encode (nameOrCode, buf) {\n const base = getBase(nameOrCode)\n const name = base.name\n\n return multibase(name, Buffer.from(base.encode(buf)))\n}\n\n/**\n * Takes a buffer or string encoded with multibase header, decodes it and\n * returns the decoded buffer\n *\n * @param {Buffer|string} bufOrString\n * @returns {Buffer}\n * @memberof Multibase\n *\n */\nfunction decode (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n const code = bufOrString.substring(0, 1)\n bufOrString = bufOrString.substring(1, bufOrString.length)\n\n if (typeof bufOrString === 'string') {\n bufOrString = Buffer.from(bufOrString)\n }\n\n const base = getBase(code)\n return Buffer.from(base.decode(bufOrString.toString()))\n}\n\n/**\n * Is the given data multibase encoded?\n *\n * @param {Buffer|string} bufOrString\n * @returns {boolean}\n * @memberof Multibase\n */\nfunction isEncoded (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n // Ensure bufOrString is a string\n if (Object.prototype.toString.call(bufOrString) !== '[object String]') {\n return false\n }\n\n const code = bufOrString.substring(0, 1)\n try {\n const base = getBase(code)\n return base.name\n } catch (err) {\n return false\n }\n}\n\n/**\n * @param {string} name\n * @param {Buffer} buf\n * @private\n * @returns {undefined}\n */\nfunction validEncode (name, buf) {\n const base = getBase(name)\n base.decode(buf.toString())\n}\n\nfunction getBase (nameOrCode) {\n let base\n\n if (constants.names[nameOrCode]) {\n base = constants.names[nameOrCode]\n } else if (constants.codes[nameOrCode]) {\n base = constants.codes[nameOrCode]\n } else {\n throw errNotSupported\n }\n\n if (!base.isImplemented()) {\n throw new Error('Base ' + nameOrCode + ' is not implemented yet')\n }\n\n return base\n}\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for codecConstant -> code\nconst constants = {}\n\nfor (const [name, code] of Object.entries(table)) {\n constants[name.toUpperCase().replace(/-/g, '_')] = code\n}\n\nmodule.exports = Object.freeze(constants)\n","/**\n * Implementation of the multicodec specification.\n *\n * @module multicodec\n * @example\n * const multicodec = require('multicodec')\n *\n * const prefixedProtobuf = multicodec.addPrefix('protobuf', protobufBuffer)\n * // prefixedProtobuf 0x50...\n *\n */\n'use strict'\n\nconst varint = require('varint')\nconst intTable = require('./int-table')\nconst codecNameToCodeVarint = require('./varint-table')\nconst util = require('./util')\n\nexports = module.exports\n\n/**\n * Prefix a buffer with a multicodec-packed.\n *\n * @param {string|number} multicodecStrOrCode\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.addPrefix = (multicodecStrOrCode, data) => {\n let prefix\n\n if (Buffer.isBuffer(multicodecStrOrCode)) {\n prefix = util.varintBufferEncode(multicodecStrOrCode)\n } else {\n if (codecNameToCodeVarint[multicodecStrOrCode]) {\n prefix = codecNameToCodeVarint[multicodecStrOrCode]\n } else {\n throw new Error('multicodec not recognized')\n }\n }\n return Buffer.concat([prefix, data])\n}\n\n/**\n * Decapsulate the multicodec-packed prefix from the data.\n *\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.rmPrefix = (data) => {\n varint.decode(data)\n return data.slice(varint.decode.bytes)\n}\n\n/**\n * Get the codec of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {string}\n */\nexports.getCodec = (prefixedData) => {\n const code = varint.decode(prefixedData)\n const codecName = intTable.get(code)\n if (codecName === undefined) {\n throw new Error(`Code ${code} not found`)\n }\n return codecName\n}\n\n/**\n * Get the name of the codec.\n * @param {number} codec\n * @returns {string}\n */\nexports.getName = (codec) => {\n return intTable.get(codec)\n}\n\n/**\n * Get the code of the codec\n * @param {string} name\n * @returns {number}\n */\nexports.getNumber = (name) => {\n const code = codecNameToCodeVarint[name]\n if (code === undefined) {\n throw new Error('Codec `' + name + '` not found')\n }\n return util.varintBufferDecode(code)[0]\n}\n\n/**\n * Get the code of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {number}\n */\nexports.getCode = (prefixedData) => {\n return varint.decode(prefixedData)\n}\n\n/**\n * Get the code as varint of a codec name.\n * @param {string} codecName\n * @returns {Buffer}\n */\nexports.getCodeVarint = (codecName) => {\n const code = codecNameToCodeVarint[codecName]\n if (code === undefined) {\n throw new Error('Codec `' + codecName + '` not found')\n }\n return code\n}\n\n/**\n * Get the varint of a code.\n * @param {Number} code\n * @returns {Array.}\n */\nexports.getVarint = (code) => {\n return varint.encode(code)\n}\n\n// Make the constants top-level constants\nconst constants = require('./constants')\nObject.assign(exports, constants)\n\n// Human friendly names for printing, e.g. in error messages\nexports.print = require('./print')\n","'use strict'\nconst baseTable = require('./base-table.json')\n\n// map for hexString -> codecName\nconst nameTable = new Map()\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n nameTable.set(code, encodingName)\n}\n\nmodule.exports = Object.freeze(nameTable)\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for code -> print friendly name\nconst tableByCode = {}\n\nfor (const [name, code] of Object.entries(table)) {\n if (tableByCode[code] === undefined) tableByCode[code] = name\n}\n\nmodule.exports = Object.freeze(tableByCode)\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 baseTable = require('./base-table.json')\nconst varintEncode = require('./util').varintEncode\n\n// map for codecName -> codeVarintBuffer\nconst varintTable = {}\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n varintTable[encodingName] = varintEncode(code)\n}\n\nmodule.exports = Object.freeze(varintTable)\n","'use strict'\n\nclass Base {\n constructor (name, code, implementation, alphabet) {\n this.name = name\n this.code = code\n this.alphabet = alphabet\n if (implementation && alphabet) {\n this.engine = implementation(alphabet)\n }\n }\n\n encode (stringOrBuffer) {\n return this.engine.encode(stringOrBuffer)\n }\n\n decode (stringOrBuffer) {\n return this.engine.decode(stringOrBuffer)\n }\n\n isImplemented () {\n return this.engine\n }\n}\n\nmodule.exports = Base\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base16 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return Buffer.from(input).toString('hex')\n }\n return input.toString('hex')\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base16 character')\n }\n }\n return Buffer.from(input, 'hex')\n }\n }\n}\n","'use strict'\n\nfunction decode (input, alphabet) {\n input = input.replace(new RegExp('=', 'g'), '')\n const length = input.length\n\n let bits = 0\n let value = 0\n\n let index = 0\n const output = new Uint8Array((length * 5 / 8) | 0)\n\n for (let i = 0; i < length; i++) {\n value = (value << 5) | alphabet.indexOf(input[i])\n bits += 5\n\n if (bits >= 8) {\n output[index++] = (value >>> (bits - 8)) & 255\n bits -= 8\n }\n }\n\n return output.buffer\n}\n\nfunction encode (buffer, alphabet) {\n const length = buffer.byteLength\n const view = new Uint8Array(buffer)\n const padding = alphabet.indexOf('=') === alphabet.length - 1\n\n if (padding) {\n alphabet = alphabet.substring(0, alphabet.length - 1)\n }\n\n let bits = 0\n let value = 0\n let output = ''\n\n for (let i = 0; i < length; i++) {\n value = (value << 8) | view[i]\n bits += 8\n\n while (bits >= 5) {\n output += alphabet[(value >>> (bits - 5)) & 31]\n bits -= 5\n }\n }\n\n if (bits > 0) {\n output += alphabet[(value << (5 - bits)) & 31]\n }\n\n if (padding) {\n while ((output.length % 8) !== 0) {\n output += '='\n }\n }\n\n return output\n}\n\nmodule.exports = function base32 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return encode(Uint8Array.from(input), alphabet)\n }\n\n return encode(input, alphabet)\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base32 character')\n }\n }\n\n return decode(input, alphabet)\n }\n }\n}\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base64 (alphabet) {\n // The alphabet is only used to know:\n // 1. If padding is enabled (must contain '=')\n // 2. If the output must be url-safe (must contain '-' and '_')\n // 3. If the input of the output function is valid\n // The alphabets from RFC 4648 are always used.\n const padding = alphabet.indexOf('=') > -1\n const url = alphabet.indexOf('-') > -1 && alphabet.indexOf('_') > -1\n\n return {\n encode (input) {\n let output = ''\n\n if (typeof input === 'string') {\n output = Buffer.from(input).toString('base64')\n } else {\n output = input.toString('base64')\n }\n\n if (url) {\n output = output.replace(/\\+/g, '-').replace(/\\//g, '_')\n }\n\n const pad = output.indexOf('=')\n if (pad > 0 && !padding) {\n output = output.substring(0, pad)\n }\n\n return output\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base64 character')\n }\n }\n\n return Buffer.from(input, 'base64')\n }\n }\n}\n","'use strict'\n\nconst Base = require('./base.js')\nconst baseX = require('base-x')\nconst base16 = require('./base16')\nconst base32 = require('./base32')\nconst base64 = require('./base64')\n\n// name, code, implementation, alphabet\nconst constants = [\n ['base1', '1', '', '1'],\n ['base2', '0', baseX, '01'],\n ['base8', '7', baseX, '01234567'],\n ['base10', '9', baseX, '0123456789'],\n ['base16', 'f', base16, '0123456789abcdef'],\n ['base32', 'b', base32, 'abcdefghijklmnopqrstuvwxyz234567'],\n ['base32pad', 'c', base32, 'abcdefghijklmnopqrstuvwxyz234567='],\n ['base32hex', 'v', base32, '0123456789abcdefghijklmnopqrstuv'],\n ['base32hexpad', 't', base32, '0123456789abcdefghijklmnopqrstuv='],\n ['base32z', 'h', base32, 'ybndrfg8ejkmcpqxot1uwisza345h769'],\n ['base58flickr', 'Z', baseX, '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'],\n ['base58btc', 'z', baseX, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'],\n ['base64', 'm', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'],\n ['base64pad', 'M', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='],\n ['base64url', 'u', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'],\n ['base64urlpad', 'U', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=']\n]\n\nconst names = constants.reduce((prev, tupple) => {\n prev[tupple[0]] = new Base(tupple[0], tupple[1], tupple[2], tupple[3])\n return prev\n}, {})\n\nconst codes = constants.reduce((prev, tupple) => {\n prev[tupple[1]] = names[tupple[0]]\n return prev\n}, {})\n\nmodule.exports = {\n names: names,\n codes: codes\n}\n","/**\n * Implementation of the [multibase](https://github.com/multiformats/multibase) specification.\n * @module Multibase\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst constants = require('./constants')\n\nexports = module.exports = multibase\nexports.encode = encode\nexports.decode = decode\nexports.isEncoded = isEncoded\nexports.names = Object.freeze(Object.keys(constants.names))\nexports.codes = Object.freeze(Object.keys(constants.codes))\n\n/**\n * Create a new buffer with the multibase varint+code.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be prefixed with multibase.\n * @memberof Multibase\n * @returns {Buffer}\n */\nfunction multibase (nameOrCode, buf) {\n if (!buf) {\n throw new Error('requires an encoded buffer')\n }\n const base = getBase(nameOrCode)\n const codeBuf = Buffer.from(base.code)\n\n const name = base.name\n validEncode(name, buf)\n return Buffer.concat([codeBuf, buf])\n}\n\n/**\n * Encode data with the specified base and add the multibase prefix.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be encoded.\n * @returns {Buffer}\n * @memberof Multibase\n */\nfunction encode (nameOrCode, buf) {\n const base = getBase(nameOrCode)\n const name = base.name\n\n return multibase(name, Buffer.from(base.encode(buf)))\n}\n\n/**\n * Takes a buffer or string encoded with multibase header, decodes it and\n * returns the decoded buffer\n *\n * @param {Buffer|string} bufOrString\n * @returns {Buffer}\n * @memberof Multibase\n *\n */\nfunction decode (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n const code = bufOrString.substring(0, 1)\n bufOrString = bufOrString.substring(1, bufOrString.length)\n\n if (typeof bufOrString === 'string') {\n bufOrString = Buffer.from(bufOrString)\n }\n\n const base = getBase(code)\n return Buffer.from(base.decode(bufOrString.toString()))\n}\n\n/**\n * Is the given data multibase encoded?\n *\n * @param {Buffer|string} bufOrString\n * @returns {boolean}\n * @memberof Multibase\n */\nfunction isEncoded (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n // Ensure bufOrString is a string\n if (Object.prototype.toString.call(bufOrString) !== '[object String]') {\n return false\n }\n\n const code = bufOrString.substring(0, 1)\n try {\n const base = getBase(code)\n return base.name\n } catch (err) {\n return false\n }\n}\n\n/**\n * @param {string} name\n * @param {Buffer} buf\n * @private\n * @returns {undefined}\n */\nfunction validEncode (name, buf) {\n const base = getBase(name)\n base.decode(buf.toString())\n}\n\nfunction getBase (nameOrCode) {\n let base\n\n if (constants.names[nameOrCode]) {\n base = constants.names[nameOrCode]\n } else if (constants.codes[nameOrCode]) {\n base = constants.codes[nameOrCode]\n } else {\n throw new Error('Unsupported encoding')\n }\n\n if (!base.isImplemented()) {\n throw new Error('Base ' + nameOrCode + ' is not implemented yet')\n }\n\n return base\n}\n","/* eslint quote-props: off */\n/* eslint key-spacing: off */\n'use strict'\n\nexports.names = Object.freeze({\n 'identity': 0x0,\n 'sha1': 0x11,\n 'sha2-256': 0x12,\n 'sha2-512': 0x13,\n 'dbl-sha2-256': 0x56,\n 'sha3-224': 0x17,\n 'sha3-256': 0x16,\n 'sha3-384': 0x15,\n 'sha3-512': 0x14,\n 'shake-128': 0x18,\n 'shake-256': 0x19,\n 'keccak-224': 0x1A,\n 'keccak-256': 0x1B,\n 'keccak-384': 0x1C,\n 'keccak-512': 0x1D,\n 'murmur3-128': 0x22,\n 'murmur3-32': 0x23,\n 'md4': 0xd4,\n 'md5': 0xd5,\n 'blake2b-8': 0xb201,\n 'blake2b-16': 0xb202,\n 'blake2b-24': 0xb203,\n 'blake2b-32': 0xb204,\n 'blake2b-40': 0xb205,\n 'blake2b-48': 0xb206,\n 'blake2b-56': 0xb207,\n 'blake2b-64': 0xb208,\n 'blake2b-72': 0xb209,\n 'blake2b-80': 0xb20a,\n 'blake2b-88': 0xb20b,\n 'blake2b-96': 0xb20c,\n 'blake2b-104': 0xb20d,\n 'blake2b-112': 0xb20e,\n 'blake2b-120': 0xb20f,\n 'blake2b-128': 0xb210,\n 'blake2b-136': 0xb211,\n 'blake2b-144': 0xb212,\n 'blake2b-152': 0xb213,\n 'blake2b-160': 0xb214,\n 'blake2b-168': 0xb215,\n 'blake2b-176': 0xb216,\n 'blake2b-184': 0xb217,\n 'blake2b-192': 0xb218,\n 'blake2b-200': 0xb219,\n 'blake2b-208': 0xb21a,\n 'blake2b-216': 0xb21b,\n 'blake2b-224': 0xb21c,\n 'blake2b-232': 0xb21d,\n 'blake2b-240': 0xb21e,\n 'blake2b-248': 0xb21f,\n 'blake2b-256': 0xb220,\n 'blake2b-264': 0xb221,\n 'blake2b-272': 0xb222,\n 'blake2b-280': 0xb223,\n 'blake2b-288': 0xb224,\n 'blake2b-296': 0xb225,\n 'blake2b-304': 0xb226,\n 'blake2b-312': 0xb227,\n 'blake2b-320': 0xb228,\n 'blake2b-328': 0xb229,\n 'blake2b-336': 0xb22a,\n 'blake2b-344': 0xb22b,\n 'blake2b-352': 0xb22c,\n 'blake2b-360': 0xb22d,\n 'blake2b-368': 0xb22e,\n 'blake2b-376': 0xb22f,\n 'blake2b-384': 0xb230,\n 'blake2b-392': 0xb231,\n 'blake2b-400': 0xb232,\n 'blake2b-408': 0xb233,\n 'blake2b-416': 0xb234,\n 'blake2b-424': 0xb235,\n 'blake2b-432': 0xb236,\n 'blake2b-440': 0xb237,\n 'blake2b-448': 0xb238,\n 'blake2b-456': 0xb239,\n 'blake2b-464': 0xb23a,\n 'blake2b-472': 0xb23b,\n 'blake2b-480': 0xb23c,\n 'blake2b-488': 0xb23d,\n 'blake2b-496': 0xb23e,\n 'blake2b-504': 0xb23f,\n 'blake2b-512': 0xb240,\n 'blake2s-8': 0xb241,\n 'blake2s-16': 0xb242,\n 'blake2s-24': 0xb243,\n 'blake2s-32': 0xb244,\n 'blake2s-40': 0xb245,\n 'blake2s-48': 0xb246,\n 'blake2s-56': 0xb247,\n 'blake2s-64': 0xb248,\n 'blake2s-72': 0xb249,\n 'blake2s-80': 0xb24a,\n 'blake2s-88': 0xb24b,\n 'blake2s-96': 0xb24c,\n 'blake2s-104': 0xb24d,\n 'blake2s-112': 0xb24e,\n 'blake2s-120': 0xb24f,\n 'blake2s-128': 0xb250,\n 'blake2s-136': 0xb251,\n 'blake2s-144': 0xb252,\n 'blake2s-152': 0xb253,\n 'blake2s-160': 0xb254,\n 'blake2s-168': 0xb255,\n 'blake2s-176': 0xb256,\n 'blake2s-184': 0xb257,\n 'blake2s-192': 0xb258,\n 'blake2s-200': 0xb259,\n 'blake2s-208': 0xb25a,\n 'blake2s-216': 0xb25b,\n 'blake2s-224': 0xb25c,\n 'blake2s-232': 0xb25d,\n 'blake2s-240': 0xb25e,\n 'blake2s-248': 0xb25f,\n 'blake2s-256': 0xb260,\n 'Skein256-8': 0xb301,\n 'Skein256-16': 0xb302,\n 'Skein256-24': 0xb303,\n 'Skein256-32': 0xb304,\n 'Skein256-40': 0xb305,\n 'Skein256-48': 0xb306,\n 'Skein256-56': 0xb307,\n 'Skein256-64': 0xb308,\n 'Skein256-72': 0xb309,\n 'Skein256-80': 0xb30a,\n 'Skein256-88': 0xb30b,\n 'Skein256-96': 0xb30c,\n 'Skein256-104': 0xb30d,\n 'Skein256-112': 0xb30e,\n 'Skein256-120': 0xb30f,\n 'Skein256-128': 0xb310,\n 'Skein256-136': 0xb311,\n 'Skein256-144': 0xb312,\n 'Skein256-152': 0xb313,\n 'Skein256-160': 0xb314,\n 'Skein256-168': 0xb315,\n 'Skein256-176': 0xb316,\n 'Skein256-184': 0xb317,\n 'Skein256-192': 0xb318,\n 'Skein256-200': 0xb319,\n 'Skein256-208': 0xb31a,\n 'Skein256-216': 0xb31b,\n 'Skein256-224': 0xb31c,\n 'Skein256-232': 0xb31d,\n 'Skein256-240': 0xb31e,\n 'Skein256-248': 0xb31f,\n 'Skein256-256': 0xb320,\n 'Skein512-8': 0xb321,\n 'Skein512-16': 0xb322,\n 'Skein512-24': 0xb323,\n 'Skein512-32': 0xb324,\n 'Skein512-40': 0xb325,\n 'Skein512-48': 0xb326,\n 'Skein512-56': 0xb327,\n 'Skein512-64': 0xb328,\n 'Skein512-72': 0xb329,\n 'Skein512-80': 0xb32a,\n 'Skein512-88': 0xb32b,\n 'Skein512-96': 0xb32c,\n 'Skein512-104': 0xb32d,\n 'Skein512-112': 0xb32e,\n 'Skein512-120': 0xb32f,\n 'Skein512-128': 0xb330,\n 'Skein512-136': 0xb331,\n 'Skein512-144': 0xb332,\n 'Skein512-152': 0xb333,\n 'Skein512-160': 0xb334,\n 'Skein512-168': 0xb335,\n 'Skein512-176': 0xb336,\n 'Skein512-184': 0xb337,\n 'Skein512-192': 0xb338,\n 'Skein512-200': 0xb339,\n 'Skein512-208': 0xb33a,\n 'Skein512-216': 0xb33b,\n 'Skein512-224': 0xb33c,\n 'Skein512-232': 0xb33d,\n 'Skein512-240': 0xb33e,\n 'Skein512-248': 0xb33f,\n 'Skein512-256': 0xb340,\n 'Skein512-264': 0xb341,\n 'Skein512-272': 0xb342,\n 'Skein512-280': 0xb343,\n 'Skein512-288': 0xb344,\n 'Skein512-296': 0xb345,\n 'Skein512-304': 0xb346,\n 'Skein512-312': 0xb347,\n 'Skein512-320': 0xb348,\n 'Skein512-328': 0xb349,\n 'Skein512-336': 0xb34a,\n 'Skein512-344': 0xb34b,\n 'Skein512-352': 0xb34c,\n 'Skein512-360': 0xb34d,\n 'Skein512-368': 0xb34e,\n 'Skein512-376': 0xb34f,\n 'Skein512-384': 0xb350,\n 'Skein512-392': 0xb351,\n 'Skein512-400': 0xb352,\n 'Skein512-408': 0xb353,\n 'Skein512-416': 0xb354,\n 'Skein512-424': 0xb355,\n 'Skein512-432': 0xb356,\n 'Skein512-440': 0xb357,\n 'Skein512-448': 0xb358,\n 'Skein512-456': 0xb359,\n 'Skein512-464': 0xb35a,\n 'Skein512-472': 0xb35b,\n 'Skein512-480': 0xb35c,\n 'Skein512-488': 0xb35d,\n 'Skein512-496': 0xb35e,\n 'Skein512-504': 0xb35f,\n 'Skein512-512': 0xb360,\n 'Skein1024-8': 0xb361,\n 'Skein1024-16': 0xb362,\n 'Skein1024-24': 0xb363,\n 'Skein1024-32': 0xb364,\n 'Skein1024-40': 0xb365,\n 'Skein1024-48': 0xb366,\n 'Skein1024-56': 0xb367,\n 'Skein1024-64': 0xb368,\n 'Skein1024-72': 0xb369,\n 'Skein1024-80': 0xb36a,\n 'Skein1024-88': 0xb36b,\n 'Skein1024-96': 0xb36c,\n 'Skein1024-104': 0xb36d,\n 'Skein1024-112': 0xb36e,\n 'Skein1024-120': 0xb36f,\n 'Skein1024-128': 0xb370,\n 'Skein1024-136': 0xb371,\n 'Skein1024-144': 0xb372,\n 'Skein1024-152': 0xb373,\n 'Skein1024-160': 0xb374,\n 'Skein1024-168': 0xb375,\n 'Skein1024-176': 0xb376,\n 'Skein1024-184': 0xb377,\n 'Skein1024-192': 0xb378,\n 'Skein1024-200': 0xb379,\n 'Skein1024-208': 0xb37a,\n 'Skein1024-216': 0xb37b,\n 'Skein1024-224': 0xb37c,\n 'Skein1024-232': 0xb37d,\n 'Skein1024-240': 0xb37e,\n 'Skein1024-248': 0xb37f,\n 'Skein1024-256': 0xb380,\n 'Skein1024-264': 0xb381,\n 'Skein1024-272': 0xb382,\n 'Skein1024-280': 0xb383,\n 'Skein1024-288': 0xb384,\n 'Skein1024-296': 0xb385,\n 'Skein1024-304': 0xb386,\n 'Skein1024-312': 0xb387,\n 'Skein1024-320': 0xb388,\n 'Skein1024-328': 0xb389,\n 'Skein1024-336': 0xb38a,\n 'Skein1024-344': 0xb38b,\n 'Skein1024-352': 0xb38c,\n 'Skein1024-360': 0xb38d,\n 'Skein1024-368': 0xb38e,\n 'Skein1024-376': 0xb38f,\n 'Skein1024-384': 0xb390,\n 'Skein1024-392': 0xb391,\n 'Skein1024-400': 0xb392,\n 'Skein1024-408': 0xb393,\n 'Skein1024-416': 0xb394,\n 'Skein1024-424': 0xb395,\n 'Skein1024-432': 0xb396,\n 'Skein1024-440': 0xb397,\n 'Skein1024-448': 0xb398,\n 'Skein1024-456': 0xb399,\n 'Skein1024-464': 0xb39a,\n 'Skein1024-472': 0xb39b,\n 'Skein1024-480': 0xb39c,\n 'Skein1024-488': 0xb39d,\n 'Skein1024-496': 0xb39e,\n 'Skein1024-504': 0xb39f,\n 'Skein1024-512': 0xb3a0,\n 'Skein1024-520': 0xb3a1,\n 'Skein1024-528': 0xb3a2,\n 'Skein1024-536': 0xb3a3,\n 'Skein1024-544': 0xb3a4,\n 'Skein1024-552': 0xb3a5,\n 'Skein1024-560': 0xb3a6,\n 'Skein1024-568': 0xb3a7,\n 'Skein1024-576': 0xb3a8,\n 'Skein1024-584': 0xb3a9,\n 'Skein1024-592': 0xb3aa,\n 'Skein1024-600': 0xb3ab,\n 'Skein1024-608': 0xb3ac,\n 'Skein1024-616': 0xb3ad,\n 'Skein1024-624': 0xb3ae,\n 'Skein1024-632': 0xb3af,\n 'Skein1024-640': 0xb3b0,\n 'Skein1024-648': 0xb3b1,\n 'Skein1024-656': 0xb3b2,\n 'Skein1024-664': 0xb3b3,\n 'Skein1024-672': 0xb3b4,\n 'Skein1024-680': 0xb3b5,\n 'Skein1024-688': 0xb3b6,\n 'Skein1024-696': 0xb3b7,\n 'Skein1024-704': 0xb3b8,\n 'Skein1024-712': 0xb3b9,\n 'Skein1024-720': 0xb3ba,\n 'Skein1024-728': 0xb3bb,\n 'Skein1024-736': 0xb3bc,\n 'Skein1024-744': 0xb3bd,\n 'Skein1024-752': 0xb3be,\n 'Skein1024-760': 0xb3bf,\n 'Skein1024-768': 0xb3c0,\n 'Skein1024-776': 0xb3c1,\n 'Skein1024-784': 0xb3c2,\n 'Skein1024-792': 0xb3c3,\n 'Skein1024-800': 0xb3c4,\n 'Skein1024-808': 0xb3c5,\n 'Skein1024-816': 0xb3c6,\n 'Skein1024-824': 0xb3c7,\n 'Skein1024-832': 0xb3c8,\n 'Skein1024-840': 0xb3c9,\n 'Skein1024-848': 0xb3ca,\n 'Skein1024-856': 0xb3cb,\n 'Skein1024-864': 0xb3cc,\n 'Skein1024-872': 0xb3cd,\n 'Skein1024-880': 0xb3ce,\n 'Skein1024-888': 0xb3cf,\n 'Skein1024-896': 0xb3d0,\n 'Skein1024-904': 0xb3d1,\n 'Skein1024-912': 0xb3d2,\n 'Skein1024-920': 0xb3d3,\n 'Skein1024-928': 0xb3d4,\n 'Skein1024-936': 0xb3d5,\n 'Skein1024-944': 0xb3d6,\n 'Skein1024-952': 0xb3d7,\n 'Skein1024-960': 0xb3d8,\n 'Skein1024-968': 0xb3d9,\n 'Skein1024-976': 0xb3da,\n 'Skein1024-984': 0xb3db,\n 'Skein1024-992': 0xb3dc,\n 'Skein1024-1000': 0xb3dd,\n 'Skein1024-1008': 0xb3de,\n 'Skein1024-1016': 0xb3df,\n 'Skein1024-1024': 0xb3e0\n})\n\nexports.codes = Object.freeze({\n 0x0: 'identity',\n\n // sha family\n 0x11: 'sha1',\n 0x12: 'sha2-256',\n 0x13: 'sha2-512',\n 0x56: 'dbl-sha2-256',\n 0x17: 'sha3-224',\n 0x16: 'sha3-256',\n 0x15: 'sha3-384',\n 0x14: 'sha3-512',\n 0x18: 'shake-128',\n 0x19: 'shake-256',\n 0x1A: 'keccak-224',\n 0x1B: 'keccak-256',\n 0x1C: 'keccak-384',\n 0x1D: 'keccak-512',\n\n 0x22: 'murmur3-128',\n 0x23: 'murmur3-32',\n\n 0xd4: 'md4',\n 0xd5: 'md5',\n\n // blake2\n 0xb201: 'blake2b-8',\n 0xb202: 'blake2b-16',\n 0xb203: 'blake2b-24',\n 0xb204: 'blake2b-32',\n 0xb205: 'blake2b-40',\n 0xb206: 'blake2b-48',\n 0xb207: 'blake2b-56',\n 0xb208: 'blake2b-64',\n 0xb209: 'blake2b-72',\n 0xb20a: 'blake2b-80',\n 0xb20b: 'blake2b-88',\n 0xb20c: 'blake2b-96',\n 0xb20d: 'blake2b-104',\n 0xb20e: 'blake2b-112',\n 0xb20f: 'blake2b-120',\n 0xb210: 'blake2b-128',\n 0xb211: 'blake2b-136',\n 0xb212: 'blake2b-144',\n 0xb213: 'blake2b-152',\n 0xb214: 'blake2b-160',\n 0xb215: 'blake2b-168',\n 0xb216: 'blake2b-176',\n 0xb217: 'blake2b-184',\n 0xb218: 'blake2b-192',\n 0xb219: 'blake2b-200',\n 0xb21a: 'blake2b-208',\n 0xb21b: 'blake2b-216',\n 0xb21c: 'blake2b-224',\n 0xb21d: 'blake2b-232',\n 0xb21e: 'blake2b-240',\n 0xb21f: 'blake2b-248',\n 0xb220: 'blake2b-256',\n 0xb221: 'blake2b-264',\n 0xb222: 'blake2b-272',\n 0xb223: 'blake2b-280',\n 0xb224: 'blake2b-288',\n 0xb225: 'blake2b-296',\n 0xb226: 'blake2b-304',\n 0xb227: 'blake2b-312',\n 0xb228: 'blake2b-320',\n 0xb229: 'blake2b-328',\n 0xb22a: 'blake2b-336',\n 0xb22b: 'blake2b-344',\n 0xb22c: 'blake2b-352',\n 0xb22d: 'blake2b-360',\n 0xb22e: 'blake2b-368',\n 0xb22f: 'blake2b-376',\n 0xb230: 'blake2b-384',\n 0xb231: 'blake2b-392',\n 0xb232: 'blake2b-400',\n 0xb233: 'blake2b-408',\n 0xb234: 'blake2b-416',\n 0xb235: 'blake2b-424',\n 0xb236: 'blake2b-432',\n 0xb237: 'blake2b-440',\n 0xb238: 'blake2b-448',\n 0xb239: 'blake2b-456',\n 0xb23a: 'blake2b-464',\n 0xb23b: 'blake2b-472',\n 0xb23c: 'blake2b-480',\n 0xb23d: 'blake2b-488',\n 0xb23e: 'blake2b-496',\n 0xb23f: 'blake2b-504',\n 0xb240: 'blake2b-512',\n 0xb241: 'blake2s-8',\n 0xb242: 'blake2s-16',\n 0xb243: 'blake2s-24',\n 0xb244: 'blake2s-32',\n 0xb245: 'blake2s-40',\n 0xb246: 'blake2s-48',\n 0xb247: 'blake2s-56',\n 0xb248: 'blake2s-64',\n 0xb249: 'blake2s-72',\n 0xb24a: 'blake2s-80',\n 0xb24b: 'blake2s-88',\n 0xb24c: 'blake2s-96',\n 0xb24d: 'blake2s-104',\n 0xb24e: 'blake2s-112',\n 0xb24f: 'blake2s-120',\n 0xb250: 'blake2s-128',\n 0xb251: 'blake2s-136',\n 0xb252: 'blake2s-144',\n 0xb253: 'blake2s-152',\n 0xb254: 'blake2s-160',\n 0xb255: 'blake2s-168',\n 0xb256: 'blake2s-176',\n 0xb257: 'blake2s-184',\n 0xb258: 'blake2s-192',\n 0xb259: 'blake2s-200',\n 0xb25a: 'blake2s-208',\n 0xb25b: 'blake2s-216',\n 0xb25c: 'blake2s-224',\n 0xb25d: 'blake2s-232',\n 0xb25e: 'blake2s-240',\n 0xb25f: 'blake2s-248',\n 0xb260: 'blake2s-256',\n\n // skein\n 0xb301: 'Skein256-8',\n 0xb302: 'Skein256-16',\n 0xb303: 'Skein256-24',\n 0xb304: 'Skein256-32',\n 0xb305: 'Skein256-40',\n 0xb306: 'Skein256-48',\n 0xb307: 'Skein256-56',\n 0xb308: 'Skein256-64',\n 0xb309: 'Skein256-72',\n 0xb30a: 'Skein256-80',\n 0xb30b: 'Skein256-88',\n 0xb30c: 'Skein256-96',\n 0xb30d: 'Skein256-104',\n 0xb30e: 'Skein256-112',\n 0xb30f: 'Skein256-120',\n 0xb310: 'Skein256-128',\n 0xb311: 'Skein256-136',\n 0xb312: 'Skein256-144',\n 0xb313: 'Skein256-152',\n 0xb314: 'Skein256-160',\n 0xb315: 'Skein256-168',\n 0xb316: 'Skein256-176',\n 0xb317: 'Skein256-184',\n 0xb318: 'Skein256-192',\n 0xb319: 'Skein256-200',\n 0xb31a: 'Skein256-208',\n 0xb31b: 'Skein256-216',\n 0xb31c: 'Skein256-224',\n 0xb31d: 'Skein256-232',\n 0xb31e: 'Skein256-240',\n 0xb31f: 'Skein256-248',\n 0xb320: 'Skein256-256',\n 0xb321: 'Skein512-8',\n 0xb322: 'Skein512-16',\n 0xb323: 'Skein512-24',\n 0xb324: 'Skein512-32',\n 0xb325: 'Skein512-40',\n 0xb326: 'Skein512-48',\n 0xb327: 'Skein512-56',\n 0xb328: 'Skein512-64',\n 0xb329: 'Skein512-72',\n 0xb32a: 'Skein512-80',\n 0xb32b: 'Skein512-88',\n 0xb32c: 'Skein512-96',\n 0xb32d: 'Skein512-104',\n 0xb32e: 'Skein512-112',\n 0xb32f: 'Skein512-120',\n 0xb330: 'Skein512-128',\n 0xb331: 'Skein512-136',\n 0xb332: 'Skein512-144',\n 0xb333: 'Skein512-152',\n 0xb334: 'Skein512-160',\n 0xb335: 'Skein512-168',\n 0xb336: 'Skein512-176',\n 0xb337: 'Skein512-184',\n 0xb338: 'Skein512-192',\n 0xb339: 'Skein512-200',\n 0xb33a: 'Skein512-208',\n 0xb33b: 'Skein512-216',\n 0xb33c: 'Skein512-224',\n 0xb33d: 'Skein512-232',\n 0xb33e: 'Skein512-240',\n 0xb33f: 'Skein512-248',\n 0xb340: 'Skein512-256',\n 0xb341: 'Skein512-264',\n 0xb342: 'Skein512-272',\n 0xb343: 'Skein512-280',\n 0xb344: 'Skein512-288',\n 0xb345: 'Skein512-296',\n 0xb346: 'Skein512-304',\n 0xb347: 'Skein512-312',\n 0xb348: 'Skein512-320',\n 0xb349: 'Skein512-328',\n 0xb34a: 'Skein512-336',\n 0xb34b: 'Skein512-344',\n 0xb34c: 'Skein512-352',\n 0xb34d: 'Skein512-360',\n 0xb34e: 'Skein512-368',\n 0xb34f: 'Skein512-376',\n 0xb350: 'Skein512-384',\n 0xb351: 'Skein512-392',\n 0xb352: 'Skein512-400',\n 0xb353: 'Skein512-408',\n 0xb354: 'Skein512-416',\n 0xb355: 'Skein512-424',\n 0xb356: 'Skein512-432',\n 0xb357: 'Skein512-440',\n 0xb358: 'Skein512-448',\n 0xb359: 'Skein512-456',\n 0xb35a: 'Skein512-464',\n 0xb35b: 'Skein512-472',\n 0xb35c: 'Skein512-480',\n 0xb35d: 'Skein512-488',\n 0xb35e: 'Skein512-496',\n 0xb35f: 'Skein512-504',\n 0xb360: 'Skein512-512',\n 0xb361: 'Skein1024-8',\n 0xb362: 'Skein1024-16',\n 0xb363: 'Skein1024-24',\n 0xb364: 'Skein1024-32',\n 0xb365: 'Skein1024-40',\n 0xb366: 'Skein1024-48',\n 0xb367: 'Skein1024-56',\n 0xb368: 'Skein1024-64',\n 0xb369: 'Skein1024-72',\n 0xb36a: 'Skein1024-80',\n 0xb36b: 'Skein1024-88',\n 0xb36c: 'Skein1024-96',\n 0xb36d: 'Skein1024-104',\n 0xb36e: 'Skein1024-112',\n 0xb36f: 'Skein1024-120',\n 0xb370: 'Skein1024-128',\n 0xb371: 'Skein1024-136',\n 0xb372: 'Skein1024-144',\n 0xb373: 'Skein1024-152',\n 0xb374: 'Skein1024-160',\n 0xb375: 'Skein1024-168',\n 0xb376: 'Skein1024-176',\n 0xb377: 'Skein1024-184',\n 0xb378: 'Skein1024-192',\n 0xb379: 'Skein1024-200',\n 0xb37a: 'Skein1024-208',\n 0xb37b: 'Skein1024-216',\n 0xb37c: 'Skein1024-224',\n 0xb37d: 'Skein1024-232',\n 0xb37e: 'Skein1024-240',\n 0xb37f: 'Skein1024-248',\n 0xb380: 'Skein1024-256',\n 0xb381: 'Skein1024-264',\n 0xb382: 'Skein1024-272',\n 0xb383: 'Skein1024-280',\n 0xb384: 'Skein1024-288',\n 0xb385: 'Skein1024-296',\n 0xb386: 'Skein1024-304',\n 0xb387: 'Skein1024-312',\n 0xb388: 'Skein1024-320',\n 0xb389: 'Skein1024-328',\n 0xb38a: 'Skein1024-336',\n 0xb38b: 'Skein1024-344',\n 0xb38c: 'Skein1024-352',\n 0xb38d: 'Skein1024-360',\n 0xb38e: 'Skein1024-368',\n 0xb38f: 'Skein1024-376',\n 0xb390: 'Skein1024-384',\n 0xb391: 'Skein1024-392',\n 0xb392: 'Skein1024-400',\n 0xb393: 'Skein1024-408',\n 0xb394: 'Skein1024-416',\n 0xb395: 'Skein1024-424',\n 0xb396: 'Skein1024-432',\n 0xb397: 'Skein1024-440',\n 0xb398: 'Skein1024-448',\n 0xb399: 'Skein1024-456',\n 0xb39a: 'Skein1024-464',\n 0xb39b: 'Skein1024-472',\n 0xb39c: 'Skein1024-480',\n 0xb39d: 'Skein1024-488',\n 0xb39e: 'Skein1024-496',\n 0xb39f: 'Skein1024-504',\n 0xb3a0: 'Skein1024-512',\n 0xb3a1: 'Skein1024-520',\n 0xb3a2: 'Skein1024-528',\n 0xb3a3: 'Skein1024-536',\n 0xb3a4: 'Skein1024-544',\n 0xb3a5: 'Skein1024-552',\n 0xb3a6: 'Skein1024-560',\n 0xb3a7: 'Skein1024-568',\n 0xb3a8: 'Skein1024-576',\n 0xb3a9: 'Skein1024-584',\n 0xb3aa: 'Skein1024-592',\n 0xb3ab: 'Skein1024-600',\n 0xb3ac: 'Skein1024-608',\n 0xb3ad: 'Skein1024-616',\n 0xb3ae: 'Skein1024-624',\n 0xb3af: 'Skein1024-632',\n 0xb3b0: 'Skein1024-640',\n 0xb3b1: 'Skein1024-648',\n 0xb3b2: 'Skein1024-656',\n 0xb3b3: 'Skein1024-664',\n 0xb3b4: 'Skein1024-672',\n 0xb3b5: 'Skein1024-680',\n 0xb3b6: 'Skein1024-688',\n 0xb3b7: 'Skein1024-696',\n 0xb3b8: 'Skein1024-704',\n 0xb3b9: 'Skein1024-712',\n 0xb3ba: 'Skein1024-720',\n 0xb3bb: 'Skein1024-728',\n 0xb3bc: 'Skein1024-736',\n 0xb3bd: 'Skein1024-744',\n 0xb3be: 'Skein1024-752',\n 0xb3bf: 'Skein1024-760',\n 0xb3c0: 'Skein1024-768',\n 0xb3c1: 'Skein1024-776',\n 0xb3c2: 'Skein1024-784',\n 0xb3c3: 'Skein1024-792',\n 0xb3c4: 'Skein1024-800',\n 0xb3c5: 'Skein1024-808',\n 0xb3c6: 'Skein1024-816',\n 0xb3c7: 'Skein1024-824',\n 0xb3c8: 'Skein1024-832',\n 0xb3c9: 'Skein1024-840',\n 0xb3ca: 'Skein1024-848',\n 0xb3cb: 'Skein1024-856',\n 0xb3cc: 'Skein1024-864',\n 0xb3cd: 'Skein1024-872',\n 0xb3ce: 'Skein1024-880',\n 0xb3cf: 'Skein1024-888',\n 0xb3d0: 'Skein1024-896',\n 0xb3d1: 'Skein1024-904',\n 0xb3d2: 'Skein1024-912',\n 0xb3d3: 'Skein1024-920',\n 0xb3d4: 'Skein1024-928',\n 0xb3d5: 'Skein1024-936',\n 0xb3d6: 'Skein1024-944',\n 0xb3d7: 'Skein1024-952',\n 0xb3d8: 'Skein1024-960',\n 0xb3d9: 'Skein1024-968',\n 0xb3da: 'Skein1024-976',\n 0xb3db: 'Skein1024-984',\n 0xb3dc: 'Skein1024-992',\n 0xb3dd: 'Skein1024-1000',\n 0xb3de: 'Skein1024-1008',\n 0xb3df: 'Skein1024-1016',\n 0xb3e0: 'Skein1024-1024'\n})\n\nexports.defaultLengths = Object.freeze({\n 0x11: 20,\n 0x12: 32,\n 0x13: 64,\n 0x56: 32,\n 0x17: 28,\n 0x16: 32,\n 0x15: 48,\n 0x14: 64,\n 0x18: 32,\n 0x19: 64,\n 0x1A: 28,\n 0x1B: 32,\n 0x1C: 48,\n 0x1D: 64,\n 0x22: 32,\n\n 0xb201: 0x01,\n 0xb202: 0x02,\n 0xb203: 0x03,\n 0xb204: 0x04,\n 0xb205: 0x05,\n 0xb206: 0x06,\n 0xb207: 0x07,\n 0xb208: 0x08,\n 0xb209: 0x09,\n 0xb20a: 0x0a,\n 0xb20b: 0x0b,\n 0xb20c: 0x0c,\n 0xb20d: 0x0d,\n 0xb20e: 0x0e,\n 0xb20f: 0x0f,\n 0xb210: 0x10,\n 0xb211: 0x11,\n 0xb212: 0x12,\n 0xb213: 0x13,\n 0xb214: 0x14,\n 0xb215: 0x15,\n 0xb216: 0x16,\n 0xb217: 0x17,\n 0xb218: 0x18,\n 0xb219: 0x19,\n 0xb21a: 0x1a,\n 0xb21b: 0x1b,\n 0xb21c: 0x1c,\n 0xb21d: 0x1d,\n 0xb21e: 0x1e,\n 0xb21f: 0x1f,\n 0xb220: 0x20,\n 0xb221: 0x21,\n 0xb222: 0x22,\n 0xb223: 0x23,\n 0xb224: 0x24,\n 0xb225: 0x25,\n 0xb226: 0x26,\n 0xb227: 0x27,\n 0xb228: 0x28,\n 0xb229: 0x29,\n 0xb22a: 0x2a,\n 0xb22b: 0x2b,\n 0xb22c: 0x2c,\n 0xb22d: 0x2d,\n 0xb22e: 0x2e,\n 0xb22f: 0x2f,\n 0xb230: 0x30,\n 0xb231: 0x31,\n 0xb232: 0x32,\n 0xb233: 0x33,\n 0xb234: 0x34,\n 0xb235: 0x35,\n 0xb236: 0x36,\n 0xb237: 0x37,\n 0xb238: 0x38,\n 0xb239: 0x39,\n 0xb23a: 0x3a,\n 0xb23b: 0x3b,\n 0xb23c: 0x3c,\n 0xb23d: 0x3d,\n 0xb23e: 0x3e,\n 0xb23f: 0x3f,\n 0xb240: 0x40,\n 0xb241: 0x01,\n 0xb242: 0x02,\n 0xb243: 0x03,\n 0xb244: 0x04,\n 0xb245: 0x05,\n 0xb246: 0x06,\n 0xb247: 0x07,\n 0xb248: 0x08,\n 0xb249: 0x09,\n 0xb24a: 0x0a,\n 0xb24b: 0x0b,\n 0xb24c: 0x0c,\n 0xb24d: 0x0d,\n 0xb24e: 0x0e,\n 0xb24f: 0x0f,\n 0xb250: 0x10,\n 0xb251: 0x11,\n 0xb252: 0x12,\n 0xb253: 0x13,\n 0xb254: 0x14,\n 0xb255: 0x15,\n 0xb256: 0x16,\n 0xb257: 0x17,\n 0xb258: 0x18,\n 0xb259: 0x19,\n 0xb25a: 0x1a,\n 0xb25b: 0x1b,\n 0xb25c: 0x1c,\n 0xb25d: 0x1d,\n 0xb25e: 0x1e,\n 0xb25f: 0x1f,\n 0xb260: 0x20,\n 0xb301: 0x01,\n 0xb302: 0x02,\n 0xb303: 0x03,\n 0xb304: 0x04,\n 0xb305: 0x05,\n 0xb306: 0x06,\n 0xb307: 0x07,\n 0xb308: 0x08,\n 0xb309: 0x09,\n 0xb30a: 0x0a,\n 0xb30b: 0x0b,\n 0xb30c: 0x0c,\n 0xb30d: 0x0d,\n 0xb30e: 0x0e,\n 0xb30f: 0x0f,\n 0xb310: 0x10,\n 0xb311: 0x11,\n 0xb312: 0x12,\n 0xb313: 0x13,\n 0xb314: 0x14,\n 0xb315: 0x15,\n 0xb316: 0x16,\n 0xb317: 0x17,\n 0xb318: 0x18,\n 0xb319: 0x19,\n 0xb31a: 0x1a,\n 0xb31b: 0x1b,\n 0xb31c: 0x1c,\n 0xb31d: 0x1d,\n 0xb31e: 0x1e,\n 0xb31f: 0x1f,\n 0xb320: 0x20,\n 0xb321: 0x01,\n 0xb322: 0x02,\n 0xb323: 0x03,\n 0xb324: 0x04,\n 0xb325: 0x05,\n 0xb326: 0x06,\n 0xb327: 0x07,\n 0xb328: 0x08,\n 0xb329: 0x09,\n 0xb32a: 0x0a,\n 0xb32b: 0x0b,\n 0xb32c: 0x0c,\n 0xb32d: 0x0d,\n 0xb32e: 0x0e,\n 0xb32f: 0x0f,\n 0xb330: 0x10,\n 0xb331: 0x11,\n 0xb332: 0x12,\n 0xb333: 0x13,\n 0xb334: 0x14,\n 0xb335: 0x15,\n 0xb336: 0x16,\n 0xb337: 0x17,\n 0xb338: 0x18,\n 0xb339: 0x19,\n 0xb33a: 0x1a,\n 0xb33b: 0x1b,\n 0xb33c: 0x1c,\n 0xb33d: 0x1d,\n 0xb33e: 0x1e,\n 0xb33f: 0x1f,\n 0xb340: 0x20,\n 0xb341: 0x21,\n 0xb342: 0x22,\n 0xb343: 0x23,\n 0xb344: 0x24,\n 0xb345: 0x25,\n 0xb346: 0x26,\n 0xb347: 0x27,\n 0xb348: 0x28,\n 0xb349: 0x29,\n 0xb34a: 0x2a,\n 0xb34b: 0x2b,\n 0xb34c: 0x2c,\n 0xb34d: 0x2d,\n 0xb34e: 0x2e,\n 0xb34f: 0x2f,\n 0xb350: 0x30,\n 0xb351: 0x31,\n 0xb352: 0x32,\n 0xb353: 0x33,\n 0xb354: 0x34,\n 0xb355: 0x35,\n 0xb356: 0x36,\n 0xb357: 0x37,\n 0xb358: 0x38,\n 0xb359: 0x39,\n 0xb35a: 0x3a,\n 0xb35b: 0x3b,\n 0xb35c: 0x3c,\n 0xb35d: 0x3d,\n 0xb35e: 0x3e,\n 0xb35f: 0x3f,\n 0xb360: 0x40,\n 0xb361: 0x01,\n 0xb362: 0x02,\n 0xb363: 0x03,\n 0xb364: 0x04,\n 0xb365: 0x05,\n 0xb366: 0x06,\n 0xb367: 0x07,\n 0xb368: 0x08,\n 0xb369: 0x09,\n 0xb36a: 0x0a,\n 0xb36b: 0x0b,\n 0xb36c: 0x0c,\n 0xb36d: 0x0d,\n 0xb36e: 0x0e,\n 0xb36f: 0x0f,\n 0xb370: 0x10,\n 0xb371: 0x11,\n 0xb372: 0x12,\n 0xb373: 0x13,\n 0xb374: 0x14,\n 0xb375: 0x15,\n 0xb376: 0x16,\n 0xb377: 0x17,\n 0xb378: 0x18,\n 0xb379: 0x19,\n 0xb37a: 0x1a,\n 0xb37b: 0x1b,\n 0xb37c: 0x1c,\n 0xb37d: 0x1d,\n 0xb37e: 0x1e,\n 0xb37f: 0x1f,\n 0xb380: 0x20,\n 0xb381: 0x21,\n 0xb382: 0x22,\n 0xb383: 0x23,\n 0xb384: 0x24,\n 0xb385: 0x25,\n 0xb386: 0x26,\n 0xb387: 0x27,\n 0xb388: 0x28,\n 0xb389: 0x29,\n 0xb38a: 0x2a,\n 0xb38b: 0x2b,\n 0xb38c: 0x2c,\n 0xb38d: 0x2d,\n 0xb38e: 0x2e,\n 0xb38f: 0x2f,\n 0xb390: 0x30,\n 0xb391: 0x31,\n 0xb392: 0x32,\n 0xb393: 0x33,\n 0xb394: 0x34,\n 0xb395: 0x35,\n 0xb396: 0x36,\n 0xb397: 0x37,\n 0xb398: 0x38,\n 0xb399: 0x39,\n 0xb39a: 0x3a,\n 0xb39b: 0x3b,\n 0xb39c: 0x3c,\n 0xb39d: 0x3d,\n 0xb39e: 0x3e,\n 0xb39f: 0x3f,\n 0xb3a0: 0x40,\n 0xb3a1: 0x41,\n 0xb3a2: 0x42,\n 0xb3a3: 0x43,\n 0xb3a4: 0x44,\n 0xb3a5: 0x45,\n 0xb3a6: 0x46,\n 0xb3a7: 0x47,\n 0xb3a8: 0x48,\n 0xb3a9: 0x49,\n 0xb3aa: 0x4a,\n 0xb3ab: 0x4b,\n 0xb3ac: 0x4c,\n 0xb3ad: 0x4d,\n 0xb3ae: 0x4e,\n 0xb3af: 0x4f,\n 0xb3b0: 0x50,\n 0xb3b1: 0x51,\n 0xb3b2: 0x52,\n 0xb3b3: 0x53,\n 0xb3b4: 0x54,\n 0xb3b5: 0x55,\n 0xb3b6: 0x56,\n 0xb3b7: 0x57,\n 0xb3b8: 0x58,\n 0xb3b9: 0x59,\n 0xb3ba: 0x5a,\n 0xb3bb: 0x5b,\n 0xb3bc: 0x5c,\n 0xb3bd: 0x5d,\n 0xb3be: 0x5e,\n 0xb3bf: 0x5f,\n 0xb3c0: 0x60,\n 0xb3c1: 0x61,\n 0xb3c2: 0x62,\n 0xb3c3: 0x63,\n 0xb3c4: 0x64,\n 0xb3c5: 0x65,\n 0xb3c6: 0x66,\n 0xb3c7: 0x67,\n 0xb3c8: 0x68,\n 0xb3c9: 0x69,\n 0xb3ca: 0x6a,\n 0xb3cb: 0x6b,\n 0xb3cc: 0x6c,\n 0xb3cd: 0x6d,\n 0xb3ce: 0x6e,\n 0xb3cf: 0x6f,\n 0xb3d0: 0x70,\n 0xb3d1: 0x71,\n 0xb3d2: 0x72,\n 0xb3d3: 0x73,\n 0xb3d4: 0x74,\n 0xb3d5: 0x75,\n 0xb3d6: 0x76,\n 0xb3d7: 0x77,\n 0xb3d8: 0x78,\n 0xb3d9: 0x79,\n 0xb3da: 0x7a,\n 0xb3db: 0x7b,\n 0xb3dc: 0x7c,\n 0xb3dd: 0x7d,\n 0xb3de: 0x7e,\n 0xb3df: 0x7f,\n 0xb3e0: 0x80\n})\n","/**\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","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","/*\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","/*!\n * v2.1.4-104-gc868b3a\n * \n */\n(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(\"oboe\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"oboe\"] = factory();\n\telse\n\t\troot[\"oboe\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return partialComplete; });\n/* unused harmony export compose */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return compose2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return attr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return lazyUnion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return apply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return varArgs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return flip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return lazyIntersection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return always; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return functor; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n\n\n/**\n * Partially complete a function.\n *\n * var add3 = partialComplete( function add(a,b){return a+b}, 3 );\n *\n * add3(4) // gives 7\n *\n * function wrap(left, right, cen){return left + \" \" + cen + \" \" + right;}\n *\n * var pirateGreeting = partialComplete( wrap , \"I'm\", \", a mighty pirate!\" );\n *\n * pirateGreeting(\"Guybrush Threepwood\");\n * // gives \"I'm Guybrush Threepwood, a mighty pirate!\"\n */\nvar partialComplete = varArgs(function (fn, args) {\n // this isn't the shortest way to write this but it does\n // avoid creating a new array each time to pass to fn.apply,\n // otherwise could just call boundArgs.concat(callArgs)\n\n var numBoundArgs = args.length\n\n return varArgs(function (callArgs) {\n for (var i = 0; i < callArgs.length; i++) {\n args[numBoundArgs + i] = callArgs[i]\n }\n\n args.length = numBoundArgs + callArgs.length\n\n return fn.apply(this, args)\n })\n})\n\n/**\n* Compose zero or more functions:\n*\n* compose(f1, f2, f3)(x) = f1(f2(f3(x))))\n*\n* The last (inner-most) function may take more than one parameter:\n*\n* compose(f1, f2, f3)(x,y) = f1(f2(f3(x,y))))\n*/\nvar compose = varArgs(function (fns) {\n var fnsList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"c\" /* arrayAsList */])(fns)\n\n function next (params, curFn) {\n return [apply(params, curFn)]\n }\n\n return varArgs(function (startParams) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"f\" /* foldR */])(next, startParams, fnsList)[0]\n })\n})\n\n/**\n* A more optimised version of compose that takes exactly two functions\n* @param f1\n* @param f2\n*/\nfunction compose2 (f1, f2) {\n return function () {\n return f1.call(this, f2.apply(this, arguments))\n }\n}\n\n/**\n* Generic form for a function to get a property from an object\n*\n* var o = {\n* foo:'bar'\n* }\n*\n* var getFoo = attr('foo')\n*\n* fetFoo(o) // returns 'bar'\n*\n* @param {String} key the property name\n*/\nfunction attr (key) {\n return function (o) { return o[key] }\n}\n\n/**\n* Call a list of functions with the same args until one returns a\n* truthy result. Similar to the || operator.\n*\n* So:\n* lazyUnion([f1,f2,f3 ... fn])( p1, p2 ... pn )\n*\n* Is equivalent to:\n* apply([p1, p2 ... pn], f1) ||\n* apply([p1, p2 ... pn], f2) ||\n* apply([p1, p2 ... pn], f3) ... apply(fn, [p1, p2 ... pn])\n*\n* @returns the first return value that is given that is truthy.\n*/\nvar lazyUnion = varArgs(function (fns) {\n return varArgs(function (params) {\n var maybeValue\n\n for (var i = 0; i < attr('length')(fns); i++) {\n maybeValue = apply(params, fns[i])\n\n if (maybeValue) {\n return maybeValue\n }\n }\n })\n})\n\n/**\n* This file declares various pieces of functional programming.\n*\n* This isn't a general purpose functional library, to keep things small it\n* has just the parts useful for Oboe.js.\n*/\n\n/**\n* Call a single function with the given arguments array.\n* Basically, a functional-style version of the OO-style Function#apply for\n* when we don't care about the context ('this') of the call.\n*\n* The order of arguments allows partial completion of the arguments array\n*/\nfunction apply (args, fn) {\n return fn.apply(undefined, args)\n}\n\n/**\n* Define variable argument functions but cut out all that tedious messing about\n* with the arguments object. Delivers the variable-length part of the arguments\n* list as an array.\n*\n* Eg:\n*\n* var myFunction = varArgs(\n* function( fixedArgument, otherFixedArgument, variableNumberOfArguments ){\n* console.log( variableNumberOfArguments );\n* }\n* )\n*\n* myFunction('a', 'b', 1, 2, 3); // logs [1,2,3]\n*\n* var myOtherFunction = varArgs(function( variableNumberOfArguments ){\n* console.log( variableNumberOfArguments );\n* })\n*\n* myFunction(1, 2, 3); // logs [1,2,3]\n*\n*/\nfunction varArgs (fn) {\n var numberOfFixedArguments = fn.length - 1\n var slice = Array.prototype.slice\n\n if (numberOfFixedArguments === 0) {\n // an optimised case for when there are no fixed args:\n\n return function () {\n return fn.call(this, slice.call(arguments))\n }\n } else if (numberOfFixedArguments === 1) {\n // an optimised case for when there are is one fixed args:\n\n return function () {\n return fn.call(this, arguments[0], slice.call(arguments, 1))\n }\n }\n\n // general case\n\n // we know how many arguments fn will always take. Create a\n // fixed-size array to hold that many, to be re-used on\n // every call to the returned function\n var argsHolder = Array(fn.length)\n\n return function () {\n for (var i = 0; i < numberOfFixedArguments; i++) {\n argsHolder[i] = arguments[i]\n }\n\n argsHolder[numberOfFixedArguments] =\n slice.call(arguments, numberOfFixedArguments)\n\n return fn.apply(this, argsHolder)\n }\n}\n\n/**\n* Swap the order of parameters to a binary function\n*\n* A bit like this flip: http://zvon.org/other/haskell/Outputprelude/flip_f.html\n*/\nfunction flip (fn) {\n return function (a, b) {\n return fn(b, a)\n }\n}\n\n/**\n* Create a function which is the intersection of two other functions.\n*\n* Like the && operator, if the first is truthy, the second is never called,\n* otherwise the return value from the second is returned.\n*/\nfunction lazyIntersection (fn1, fn2) {\n return function (param) {\n return fn1(param) && fn2(param)\n }\n}\n\n/**\n* A function which does nothing\n*/\nfunction noop () { }\n\n/**\n* A function which is always happy\n*/\nfunction always () { return true }\n\n/**\n* Create a function which always returns the same\n* value\n*\n* var return3 = functor(3);\n*\n* return3() // gives 3\n* return3() // still gives 3\n* return3() // will always give 3\n*/\nfunction functor (val) {\n return function () {\n return val\n }\n}\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return cons; });\n/* unused harmony export emptyList */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return head; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return tail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return arrayAsList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return list; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return listAsArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return foldR; });\n/* unused harmony export foldR1 */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return without; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return all; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return applyEach; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return reverseList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return first; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n\n\n/**\n * Like cons in Lisp\n */\nfunction cons (x, xs) {\n /* Internally lists are linked 2-element Javascript arrays.\n\n Ideally the return here would be Object.freeze([x,xs])\n so that bugs related to mutation are found fast.\n However, cons is right on the critical path for\n performance and this slows oboe-mark down by\n ~25%. Under theoretical future JS engines that freeze more\n efficiently (possibly even use immutability to\n run faster) this should be considered for\n restoration.\n */\n\n return [x, xs]\n}\n\n/**\n * The empty list\n */\nvar emptyList = null\n\n/**\n * Get the head of a list.\n *\n * Ie, head(cons(a,b)) = a\n */\nvar head = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])(0)\n\n/**\n * Get the tail of a list.\n *\n * Ie, tail(cons(a,b)) = b\n */\nvar tail = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])(1)\n\n/**\n * Converts an array to a list\n *\n * asList([a,b,c])\n *\n * is equivalent to:\n *\n * cons(a, cons(b, cons(c, emptyList)))\n **/\nfunction arrayAsList (inputArray) {\n return reverseList(\n inputArray.reduce(\n Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"e\" /* flip */])(cons),\n emptyList\n )\n )\n}\n\n/**\n * A varargs version of arrayAsList. Works a bit like list\n * in LISP.\n *\n * list(a,b,c)\n *\n * is equivalent to:\n *\n * cons(a, cons(b, cons(c, emptyList)))\n */\nvar list = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"k\" /* varArgs */])(arrayAsList)\n\n/**\n * Convert a list back to a js native array\n */\nfunction listAsArray (list) {\n return foldR(function (arraySoFar, listItem) {\n arraySoFar.unshift(listItem)\n return arraySoFar\n }, [], list)\n}\n\n/**\n * Map a function over a list\n */\nfunction map (fn, list) {\n return list\n ? cons(fn(head(list)), map(fn, tail(list)))\n : emptyList\n}\n\n/**\n * foldR implementation. Reduce a list down to a single value.\n *\n * @pram {Function} fn (rightEval, curVal) -> result\n */\nfunction foldR (fn, startValue, list) {\n return list\n ? fn(foldR(fn, startValue, tail(list)), head(list))\n : startValue\n}\n\n/**\n * foldR implementation. Reduce a list down to a single value.\n *\n * @pram {Function} fn (rightEval, curVal) -> result\n */\nfunction foldR1 (fn, list) {\n return tail(list)\n ? fn(foldR1(fn, tail(list)), head(list))\n : head(list)\n}\n\n/**\n * Return a list like the one given but with the first instance equal\n * to item removed\n */\nfunction without (list, test, removedFn) {\n return withoutInner(list, removedFn || __WEBPACK_IMPORTED_MODULE_0__functional__[\"i\" /* noop */])\n\n function withoutInner (subList, removedFn) {\n return subList\n ? (test(head(subList))\n ? (removedFn(head(subList)), tail(subList))\n : cons(head(subList), withoutInner(tail(subList), removedFn))\n )\n : emptyList\n }\n}\n\n/**\n * Returns true if the given function holds for every item in\n * the list, false otherwise\n */\nfunction all (fn, list) {\n return !list ||\n (fn(head(list)) && all(fn, tail(list)))\n}\n\n/**\n * Call every function in a list of functions with the same arguments\n *\n * This doesn't make any sense if we're doing pure functional because\n * it doesn't return anything. Hence, this is only really useful if the\n * functions being called have side-effects.\n */\nfunction applyEach (fnList, args) {\n if (fnList) {\n head(fnList).apply(null, args)\n\n applyEach(tail(fnList), args)\n }\n}\n\n/**\n * Reverse the order of a list\n */\nfunction reverseList (list) {\n // js re-implementation of 3rd solution from:\n // http://www.haskell.org/haskellwiki/99_questions/Solutions/5\n function reverseInner (list, reversedAlready) {\n if (!list) {\n return reversedAlready\n }\n\n return reverseInner(tail(list), cons(head(list), reversedAlready))\n }\n\n return reverseInner(list, emptyList)\n}\n\nfunction first (test, list) {\n return list &&\n (test(head(list))\n ? head(list)\n : first(test, tail(list)))\n}\n\n\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return isOfType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return len; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return defined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return hasAllProperties; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n\n\n\n/**\n * This file defines some loosely associated syntactic sugar for\n * Javascript programming\n */\n\n/**\n * Returns true if the given candidate is of type T\n */\nfunction isOfType (T, maybeSomething) {\n return maybeSomething && maybeSomething.constructor === T\n}\n\nvar len = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"c\" /* attr */])('length')\nvar isString = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(isOfType, String)\n\n/**\n * I don't like saying this:\n *\n * foo !=== undefined\n *\n * because of the double-negative. I find this:\n *\n * defined(foo)\n *\n * easier to read.\n */\nfunction defined (value) {\n return value !== undefined\n}\n\n/**\n * Returns true if object o has a key named like every property in\n * the properties array. Will give false if any are missing, or if o\n * is not an object.\n */\nfunction hasAllProperties (fieldList, o) {\n return (o instanceof Object) &&\n Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"a\" /* all */])(function (field) {\n return (field in o)\n }, fieldList)\n}\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return NODE_OPENED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return NODE_CLOSED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return NODE_SWAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return NODE_DROP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return FAIL_EVENT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return ROOT_NODE_FOUND; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return ROOT_PATH_FOUND; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return HTTP_START; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return STREAM_DATA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return STREAM_END; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ABORTING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return SAX_KEY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return SAX_VALUE_OPEN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return SAX_VALUE_CLOSE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return errorReport; });\n/**\n * This file declares some constants to use as names for event types.\n */\n\n// the events which are never exported are kept as\n// the smallest possible representation, in numbers:\nvar _S = 1\n\n// fired whenever a new node starts in the JSON stream:\nvar NODE_OPENED = _S++\n\n// fired whenever a node closes in the JSON stream:\nvar NODE_CLOSED = _S++\n\n// called if a .node callback returns a value -\nvar NODE_SWAP = _S++\nvar NODE_DROP = _S++\n\nvar FAIL_EVENT = 'fail'\n\nvar ROOT_NODE_FOUND = _S++\nvar ROOT_PATH_FOUND = _S++\n\nvar HTTP_START = 'start'\nvar STREAM_DATA = 'data'\nvar STREAM_END = 'end'\nvar ABORTING = _S++\n\n// SAX events butchered from Clarinet\nvar SAX_KEY = _S++\nvar SAX_VALUE_OPEN = _S++\nvar SAX_VALUE_CLOSE = _S++\n\nfunction errorReport (statusCode, body, error) {\n try {\n var jsonBody = JSON.parse(body)\n } catch (e) { }\n\n return {\n statusCode: statusCode,\n body: body,\n jsonBody: jsonBody,\n thrown: error\n }\n}\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return namedNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return keyOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return nodeOf; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n\n\n/**\n * Get a new key->node mapping\n *\n * @param {String|Number} key\n * @param {Object|Array|String|Number|null} node a value found in the json\n */\nfunction namedNode (key, node) {\n return {key: key, node: node}\n}\n\n/** get the key of a namedNode */\nvar keyOf = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])('key')\n\n/** get the node from a namedNode */\nvar nodeOf = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])('node')\n\n\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return oboe; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__defaults__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__wire__ = __webpack_require__(9);\n\n\n\n\n\n\n// export public API\nfunction oboe (arg1) {\n // We use duck-typing to detect if the parameter given is a stream, with the\n // below list of parameters.\n // Unpipe and unshift would normally be present on a stream but this breaks\n // compatibility with Request streams.\n // See https://github.com/jimhigson/oboe.js/issues/65\n\n var nodeStreamMethodNames = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"h\" /* list */])('resume', 'pause', 'pipe')\n var isStream = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(\n __WEBPACK_IMPORTED_MODULE_2__util__[\"b\" /* hasAllProperties */],\n nodeStreamMethodNames\n )\n\n if (arg1) {\n if (isStream(arg1) || Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* isString */])(arg1)) {\n // simple version for GETs. Signature is:\n // oboe( url )\n // or, under node:\n // oboe( readableStream )\n return Object(__WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* applyDefaults */])(\n __WEBPACK_IMPORTED_MODULE_4__wire__[\"a\" /* wire */],\n arg1 // url\n )\n } else {\n // method signature is:\n // oboe({method:m, url:u, body:b, headers:{...}})\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* applyDefaults */])(\n __WEBPACK_IMPORTED_MODULE_4__wire__[\"a\" /* wire */],\n arg1.url,\n arg1.method,\n arg1.body,\n arg1.headers,\n arg1.withCredentials,\n arg1.cached\n )\n }\n } else {\n // wire up a no-AJAX, no-stream Oboe. Will have to have content\n // fed in externally and using .emit.\n return Object(__WEBPACK_IMPORTED_MODULE_4__wire__[\"a\" /* wire */])()\n }\n}\n\n/* oboe.drop is a special value. If a node callback returns this value the\n parsed node is deleted from the JSON\n */\noboe.drop = function () {\n return oboe.drop\n}\n\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return incrementalContentBuilder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ROOT_PATH; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ascent__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lists__ = __webpack_require__(1);\n\n\n\n\n\n/**\n * This file provides various listeners which can be used to build up\n * a changing ascent based on the callbacks provided by Clarinet. It listens\n * to the low-level events from Clarinet and emits higher-level ones.\n *\n * The building up is stateless so to track a JSON file\n * ascentManager.js is required to store the ascent state\n * between calls.\n */\n\n/**\n * A special value to use in the path list to represent the path 'to' a root\n * object (which doesn't really have any path). This prevents the need for\n * special-casing detection of the root object and allows it to be treated\n * like any other object. We might think of this as being similar to the\n * 'unnamed root' domain \".\", eg if I go to\n * http://en.wikipedia.org./wiki/En/Main_page the dot after 'org' deliminates\n * the unnamed root of the DNS.\n *\n * This is kept as an object to take advantage that in Javascript's OO objects\n * are guaranteed to be distinct, therefore no other object can possibly clash\n * with this one. Strings, numbers etc provide no such guarantee.\n **/\nvar ROOT_PATH = {}\n\n/**\n * Create a new set of handlers for clarinet's events, bound to the emit\n * function given.\n */\nfunction incrementalContentBuilder (oboeBus) {\n var emitNodeOpened = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"f\" /* NODE_OPENED */]).emit\n var emitNodeClosed = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"d\" /* NODE_CLOSED */]).emit\n var emitRootOpened = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"i\" /* ROOT_PATH_FOUND */]).emit\n var emitRootClosed = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"h\" /* ROOT_NODE_FOUND */]).emit\n\n function arrayIndicesAreKeys (possiblyInconsistentAscent, newDeepestNode) {\n /* for values in arrays we aren't pre-warned of the coming paths\n (Clarinet gives no call to onkey like it does for values in objects)\n so if we are in an array we need to create this path ourselves. The\n key will be len(parentNode) because array keys are always sequential\n numbers. */\n\n var parentNode = Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(possiblyInconsistentAscent))\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"c\" /* isOfType */])(Array, parentNode)\n ? keyFound(possiblyInconsistentAscent,\n Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"e\" /* len */])(parentNode),\n newDeepestNode\n )\n // nothing needed, return unchanged\n : possiblyInconsistentAscent\n }\n\n function nodeOpened (ascent, newDeepestNode) {\n if (!ascent) {\n // we discovered the root node,\n emitRootOpened(newDeepestNode)\n\n return keyFound(ascent, ROOT_PATH, newDeepestNode)\n }\n\n // we discovered a non-root node\n\n var arrayConsistentAscent = arrayIndicesAreKeys(ascent, newDeepestNode)\n var ancestorBranches = Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"l\" /* tail */])(arrayConsistentAscent)\n var previouslyUnmappedName = Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"a\" /* keyOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(arrayConsistentAscent))\n\n appendBuiltContent(\n ancestorBranches,\n previouslyUnmappedName,\n newDeepestNode\n )\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"d\" /* cons */])(\n Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"b\" /* namedNode */])(previouslyUnmappedName, newDeepestNode),\n ancestorBranches\n )\n }\n\n /**\n * Add a new value to the object we are building up to represent the\n * parsed JSON\n */\n function appendBuiltContent (ancestorBranches, key, node) {\n Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(ancestorBranches))[key] = node\n }\n\n /**\n * For when we find a new key in the json.\n *\n * @param {String|Number|Object} newDeepestName the key. If we are in an\n * array will be a number, otherwise a string. May take the special\n * value ROOT_PATH if the root node has just been found\n *\n * @param {String|Number|Object|Array|Null|undefined} [maybeNewDeepestNode]\n * usually this won't be known so can be undefined. Can't use null\n * to represent unknown because null is a valid value in JSON\n **/\n function keyFound (ascent, newDeepestName, maybeNewDeepestNode) {\n if (ascent) { // if not root\n // If we have the key but (unless adding to an array) no known value\n // yet. Put that key in the output but against no defined value:\n appendBuiltContent(ascent, newDeepestName, maybeNewDeepestNode)\n }\n\n var ascentWithNewPath = Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"d\" /* cons */])(\n Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"b\" /* namedNode */])(newDeepestName,\n maybeNewDeepestNode),\n ascent\n )\n\n emitNodeOpened(ascentWithNewPath)\n\n return ascentWithNewPath\n }\n\n /**\n * For when the current node ends.\n */\n function nodeClosed (ascent) {\n emitNodeClosed(ascent)\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"l\" /* tail */])(ascent) ||\n // If there are no nodes left in the ascent the root node\n // just closed. Emit a special event for this:\n emitRootClosed(Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(ascent)))\n }\n\n var contentBuilderHandlers = {}\n contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__[\"l\" /* SAX_VALUE_OPEN */]] = nodeOpened\n contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__[\"k\" /* SAX_VALUE_CLOSE */]] = nodeClosed\n contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__[\"j\" /* SAX_KEY */]] = keyFound\n return contentBuilderHandlers\n}\n\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__publicApi__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0__publicApi__[\"a\" /* oboe */]);\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return applyDefaults; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(2);\n\n\nfunction applyDefaults (passthrough, url, httpMethodName, body, headers, withCredentials, cached) {\n headers = headers\n // Shallow-clone the headers array. This allows it to be\n // modified without side effects to the caller. We don't\n // want to change objects that the user passes in.\n ? JSON.parse(JSON.stringify(headers))\n : {}\n\n if (body) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"d\" /* isString */])(body)) {\n // If the body is not a string, stringify it. This allows objects to\n // be given which will be sent as JSON.\n body = JSON.stringify(body)\n\n // Default Content-Type to JSON unless given otherwise.\n headers['Content-Type'] = headers['Content-Type'] || 'application/json'\n }\n headers['Content-Length'] = headers['Content-Length'] || body.length\n } else {\n body = null\n }\n\n // support cache busting like jQuery.ajax({cache:false})\n function modifiedUrl (baseUrl, cached) {\n if (cached === false) {\n if (baseUrl.indexOf('?') === -1) {\n baseUrl += '?'\n } else {\n baseUrl += '&'\n }\n\n baseUrl += '_=' + new Date().getTime()\n }\n return baseUrl\n }\n\n return passthrough(httpMethodName || 'GET', modifiedUrl(url, cached), body, headers, withCredentials || false)\n}\n\n\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return wire; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pubSub__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ascentManager__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__patternAdapter__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__jsonPath__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__instanceApi__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__libs_clarinet__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\n/**\n * This file sits just behind the API which is used to attain a new\n * Oboe instance. It creates the new components that are required\n * and introduces them to each other.\n */\n\nfunction wire (httpMethodName, contentSource, body, headers, withCredentials) {\n var oboeBus = Object(__WEBPACK_IMPORTED_MODULE_0__pubSub__[\"a\" /* pubSub */])()\n\n // Wire the input stream in if we are given a content source.\n // This will usually be the case. If not, the instance created\n // will have to be passed content from an external source.\n\n if (contentSource) {\n Object(__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__[\"b\" /* streamingHttp */])(oboeBus,\n Object(__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__[\"a\" /* httpTransport */])(),\n httpMethodName,\n contentSource,\n body,\n headers,\n withCredentials\n )\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_6__libs_clarinet__[\"a\" /* clarinet */])(oboeBus)\n\n Object(__WEBPACK_IMPORTED_MODULE_1__ascentManager__[\"a\" /* ascentManager */])(oboeBus, Object(__WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__[\"b\" /* incrementalContentBuilder */])(oboeBus))\n\n Object(__WEBPACK_IMPORTED_MODULE_3__patternAdapter__[\"a\" /* patternAdapter */])(oboeBus, __WEBPACK_IMPORTED_MODULE_4__jsonPath__[\"a\" /* jsonPathCompiler */])\n\n return Object(__WEBPACK_IMPORTED_MODULE_5__instanceApi__[\"a\" /* instanceApi */])(oboeBus, contentSource)\n}\n\n\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return pubSub; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n\n\n\n/**\n * pubSub is a curried interface for listening to and emitting\n * events.\n *\n * If we get a bus:\n *\n * var bus = pubSub();\n *\n * We can listen to event 'foo' like:\n *\n * bus('foo').on(myCallback)\n *\n * And emit event foo like:\n *\n * bus('foo').emit()\n *\n * or, with a parameter:\n *\n * bus('foo').emit('bar')\n *\n * All functions can be cached and don't need to be\n * bound. Ie:\n *\n * var fooEmitter = bus('foo').emit\n * fooEmitter('bar'); // emit an event\n * fooEmitter('baz'); // emit another\n *\n * There's also an uncurried[1] shortcut for .emit and .on:\n *\n * bus.on('foo', callback)\n * bus.emit('foo', 'bar')\n *\n * [1]: http://zvon.org/other/haskell/Outputprelude/uncurry_f.html\n */\nfunction pubSub () {\n var singles = {}\n var newListener = newSingle('newListener')\n var removeListener = newSingle('removeListener')\n\n function newSingle (eventName) {\n singles[eventName] = Object(__WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__[\"a\" /* singleEventPubSub */])(\n eventName,\n newListener,\n removeListener\n )\n return singles[eventName]\n }\n\n /** pubSub instances are functions */\n function pubSubInstance (eventName) {\n return singles[eventName] || newSingle(eventName)\n }\n\n // add convenience EventEmitter-style uncurried form of 'emit' and 'on'\n ['emit', 'on', 'un'].forEach(function (methodName) {\n pubSubInstance[methodName] = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"k\" /* varArgs */])(function (eventName, parameters) {\n Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"b\" /* apply */])(parameters, pubSubInstance(eventName)[methodName])\n })\n })\n\n return pubSubInstance\n}\n\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return singleEventPubSub; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__functional__ = __webpack_require__(0);\n\n\n\n\n/**\n * A pub/sub which is responsible for a single event type. A\n * multi-event type event bus is created by pubSub by collecting\n * several of these.\n *\n * @param {String} eventType\n * the name of the events managed by this singleEventPubSub\n * @param {singleEventPubSub} [newListener]\n * place to notify of new listeners\n * @param {singleEventPubSub} [removeListener]\n * place to notify of when listeners are removed\n */\nfunction singleEventPubSub (eventType, newListener, removeListener) {\n /** we are optimised for emitting events over firing them.\n * As well as the tuple list which stores event ids and\n * listeners there is a list with just the listeners which\n * can be iterated more quickly when we are emitting\n */\n var listenerTupleList,\n listenerList\n\n function hasId (id) {\n return function (tuple) {\n return tuple.id === id\n }\n }\n\n return {\n\n /**\n * @param {Function} listener\n * @param {*} listenerId\n * an id that this listener can later by removed by.\n * Can be of any type, to be compared to other ids using ==\n */\n on: function (listener, listenerId) {\n var tuple = {\n listener: listener,\n id: listenerId || listener // when no id is given use the\n // listener function as the id\n }\n\n if (newListener) {\n newListener.emit(eventType, listener, tuple.id)\n }\n\n listenerTupleList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"d\" /* cons */])(tuple, listenerTupleList)\n listenerList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"d\" /* cons */])(listener, listenerList)\n\n return this // chaining\n },\n\n emit: function () {\n Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"b\" /* applyEach */])(listenerList, arguments)\n },\n\n un: function (listenerId) {\n var removed\n\n listenerTupleList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"m\" /* without */])(\n listenerTupleList,\n hasId(listenerId),\n function (tuple) {\n removed = tuple\n }\n )\n\n if (removed) {\n listenerList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"m\" /* without */])(listenerList, function (listener) {\n return listener === removed.listener\n })\n\n if (removeListener) {\n removeListener.emit(eventType, removed.listener, removed.id)\n }\n }\n },\n\n listeners: function () {\n // differs from Node EventEmitter: returns list, not array\n return listenerList\n },\n\n hasListener: function (listenerId) {\n var test = listenerId ? hasId(listenerId) : __WEBPACK_IMPORTED_MODULE_2__functional__[\"a\" /* always */]\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"a\" /* defined */])(Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"e\" /* first */])(test, listenerTupleList))\n }\n }\n}\n\n\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ascentManager; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascent__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lists__ = __webpack_require__(1);\n\n\n\n/**\n * A bridge used to assign stateless functions to listen to clarinet.\n *\n * As well as the parameter from clarinet, each callback will also be passed\n * the result of the last callback.\n *\n * This may also be used to clear all listeners by assigning zero handlers:\n *\n * ascentManager( clarinet, {} )\n */\nfunction ascentManager (oboeBus, handlers) {\n 'use strict'\n\n var listenerId = {}\n var ascent\n\n function stateAfter (handler) {\n return function (param) {\n ascent = handler(ascent, param)\n }\n }\n\n for (var eventName in handlers) {\n oboeBus(eventName).on(stateAfter(handlers[eventName]), listenerId)\n }\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"g\" /* NODE_SWAP */]).on(function (newNode) {\n var oldHead = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ascent)\n var key = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"a\" /* keyOf */])(oldHead)\n var ancestors = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"l\" /* tail */])(ascent)\n var parentNode\n\n if (ancestors) {\n parentNode = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ancestors))\n parentNode[key] = newNode\n }\n })\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"e\" /* NODE_DROP */]).on(function () {\n var oldHead = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ascent)\n var key = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"a\" /* keyOf */])(oldHead)\n var ancestors = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"l\" /* tail */])(ascent)\n var parentNode\n\n if (ancestors) {\n parentNode = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ancestors))\n\n delete parentNode[key]\n }\n })\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* ABORTING */]).on(function () {\n for (var eventName in handlers) {\n oboeBus(eventName).un(listenerId)\n }\n })\n}\n\n\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return patternAdapter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ascent__ = __webpack_require__(4);\n\n\n\n\n/**\n * The pattern adaptor listens for newListener and removeListener\n * events. When patterns are added or removed it compiles the JSONPath\n * and wires them up.\n *\n * When nodes and paths are found it emits the fully-qualified match\n * events with parameters ready to ship to the outside world\n */\n\nfunction patternAdapter (oboeBus, jsonPathCompiler) {\n var predicateEventMap = {\n node: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"d\" /* NODE_CLOSED */]),\n path: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"f\" /* NODE_OPENED */])\n }\n\n function emitMatchingNode (emitMatch, node, ascent) {\n /*\n We're now calling to the outside world where Lisp-style\n lists will not be familiar. Convert to standard arrays.\n\n Also, reverse the order because it is more common to\n list paths \"root to leaf\" than \"leaf to root\" */\n var descent = Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"k\" /* reverseList */])(ascent)\n\n emitMatch(\n node,\n\n // To make a path, strip off the last item which is the special\n // ROOT_PATH token for the 'path' to the root node\n Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"i\" /* listAsArray */])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"l\" /* tail */])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"j\" /* map */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"a\" /* keyOf */], descent))), // path\n Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"i\" /* listAsArray */])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"j\" /* map */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"c\" /* nodeOf */], descent)) // ancestors\n )\n }\n\n /*\n * Set up the catching of events such as NODE_CLOSED and NODE_OPENED and, if\n * matching the specified pattern, propagate to pattern-match events such as\n * oboeBus('node:!')\n *\n *\n *\n * @param {Function} predicateEvent\n * either oboeBus(NODE_CLOSED) or oboeBus(NODE_OPENED).\n * @param {Function} compiledJsonPath\n */\n function addUnderlyingListener (fullEventName, predicateEvent, compiledJsonPath) {\n var emitMatch = oboeBus(fullEventName).emit\n\n predicateEvent.on(function (ascent) {\n var maybeMatchingMapping = compiledJsonPath(ascent)\n\n /* Possible values for maybeMatchingMapping are now:\n\n false:\n we did not match\n\n an object/array/string/number/null:\n we matched and have the node that matched.\n Because nulls are valid json values this can be null.\n\n undefined:\n we matched but don't have the matching node yet.\n ie, we know there is an upcoming node that matches but we\n can't say anything else about it.\n */\n if (maybeMatchingMapping !== false) {\n emitMatchingNode(\n emitMatch,\n Object(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"c\" /* nodeOf */])(maybeMatchingMapping),\n ascent\n )\n }\n }, fullEventName)\n\n oboeBus('removeListener').on(function (removedEventName) {\n // if the fully qualified match event listener is later removed, clean up\n // by removing the underlying listener if it was the last using that pattern:\n\n if (removedEventName === fullEventName) {\n if (!oboeBus(removedEventName).listeners()) {\n predicateEvent.un(fullEventName)\n }\n }\n })\n }\n\n oboeBus('newListener').on(function (fullEventName) {\n var match = /(node|path):(.*)/.exec(fullEventName)\n\n if (match) {\n var predicateEvent = predicateEventMap[match[1]]\n\n if (!predicateEvent.hasListener(fullEventName)) {\n addUnderlyingListener(\n fullEventName,\n predicateEvent,\n jsonPathCompiler(match[2])\n )\n }\n }\n })\n}\n\n\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return jsonPathCompiler; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ascent__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__ = __webpack_require__(15);\n\n\n\n\n\n\n\n/**\n * The jsonPath evaluator compiler used for Oboe.js.\n *\n * One function is exposed. This function takes a String JSONPath spec and\n * returns a function to test candidate ascents for matches.\n *\n * String jsonPath -> (List ascent) -> Boolean|Object\n *\n * This file is coded in a pure functional style. That is, no function has\n * side effects, every function evaluates to the same value for the same\n * arguments and no variables are reassigned.\n */\n// the call to jsonPathSyntax injects the token syntaxes that are needed\n// inside the compiler\nvar jsonPathCompiler = Object(__WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__[\"a\" /* jsonPathSyntax */])(function (pathNodeSyntax,\n doubleDotSyntax,\n dotSyntax,\n bangSyntax,\n emptySyntax) {\n var CAPTURING_INDEX = 1\n var NAME_INDEX = 2\n var FIELD_LIST_INDEX = 3\n\n var headKey = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"a\" /* keyOf */], __WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])\n var headNode = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"c\" /* nodeOf */], __WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])\n\n /**\n * Create an evaluator function for a named path node, expressed in the\n * JSONPath like:\n * foo\n * [\"bar\"]\n * [2]\n */\n function nameClause (previousExpr, detection) {\n var name = detection[NAME_INDEX]\n\n var matchesName = (!name || name === '*')\n ? __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]\n : function (ascent) { return String(headKey(ascent)) === name }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(matchesName, previousExpr)\n }\n\n /**\n * Create an evaluator function for a a duck-typed node, expressed like:\n *\n * {spin, taste, colour}\n * .particle{spin, taste, colour}\n * *{spin, taste, colour}\n */\n function duckTypeClause (previousExpr, detection) {\n var fieldListStr = detection[FIELD_LIST_INDEX]\n\n if (!fieldListStr) { return previousExpr } // don't wrap at all, return given expr as-is\n\n var hasAllrequiredFields = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"j\" /* partialComplete */])(\n __WEBPACK_IMPORTED_MODULE_3__util__[\"b\" /* hasAllProperties */],\n Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"c\" /* arrayAsList */])(fieldListStr.split(/\\W+/))\n )\n\n var isMatch = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(\n hasAllrequiredFields,\n headNode\n )\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(isMatch, previousExpr)\n }\n\n /**\n * Expression for $, returns the evaluator function\n */\n function capture (previousExpr, detection) {\n // extract meaning from the detection\n var capturing = !!detection[CAPTURING_INDEX]\n\n if (!capturing) { return previousExpr } // don't wrap at all, return given expr as-is\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(previousExpr, __WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])\n }\n\n /**\n * Create an evaluator function that moves onto the next item on the\n * lists. This function is the place where the logic to move up a\n * level in the ascent exists.\n *\n * Eg, for JSONPath \".foo\" we need skip1(nameClause(always, [,'foo']))\n */\n function skip1 (previousExpr) {\n if (previousExpr === __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]) {\n /* If there is no previous expression this consume command\n is at the start of the jsonPath.\n Since JSONPath specifies what we'd like to find but not\n necessarily everything leading down to it, when running\n out of JSONPath to check against we default to true */\n return __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]\n }\n\n /** return true if the ascent we have contains only the JSON root,\n * false otherwise\n */\n function notAtRoot (ascent) {\n return headKey(ascent) !== __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__[\"a\" /* ROOT_PATH */]\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(\n /* If we're already at the root but there are more\n expressions to satisfy, can't consume any more. No match.\n\n This check is why none of the other exprs have to be able\n to handle empty lists; skip1 is the only evaluator that\n moves onto the next token and it refuses to do so once it\n reaches the last item in the list. */\n notAtRoot,\n\n /* We are not at the root of the ascent yet.\n Move to the next level of the ascent by handing only\n the tail to the previous expression */\n Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(previousExpr, __WEBPACK_IMPORTED_MODULE_1__lists__[\"l\" /* tail */])\n )\n }\n\n /**\n * Create an evaluator function for the .. (double dot) token. Consumes\n * zero or more levels of the ascent, the fewest that are required to find\n * a match when given to previousExpr.\n */\n function skipMany (previousExpr) {\n if (previousExpr === __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]) {\n /* If there is no previous expression this consume command\n is at the start of the jsonPath.\n Since JSONPath specifies what we'd like to find but not\n necessarily everything leading down to it, when running\n out of JSONPath to check against we default to true */\n return __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]\n }\n\n // In JSONPath .. is equivalent to !.. so if .. reaches the root\n // the match has succeeded. Ie, we might write ..foo or !..foo\n // and both should match identically.\n var terminalCaseWhenArrivingAtRoot = rootExpr()\n var terminalCaseWhenPreviousExpressionIsSatisfied = previousExpr\n var recursiveCase = skip1(function (ascent) {\n return cases(ascent)\n })\n\n var cases = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"h\" /* lazyUnion */])(\n terminalCaseWhenArrivingAtRoot\n , terminalCaseWhenPreviousExpressionIsSatisfied\n , recursiveCase\n )\n\n return cases\n }\n\n /**\n * Generate an evaluator for ! - matches only the root element of the json\n * and ignores any previous expressions since nothing may precede !.\n */\n function rootExpr () {\n return function (ascent) {\n return headKey(ascent) === __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__[\"a\" /* ROOT_PATH */]\n }\n }\n\n /**\n * Generate a statement wrapper to sit around the outermost\n * clause evaluator.\n *\n * Handles the case where the capturing is implicit because the JSONPath\n * did not contain a '$' by returning the last node.\n */\n function statementExpr (lastClause) {\n return function (ascent) {\n // kick off the evaluation by passing through to the last clause\n var exprMatch = lastClause(ascent)\n\n return exprMatch === true ? Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])(ascent) : exprMatch\n }\n }\n\n /**\n * For when a token has been found in the JSONPath input.\n * Compiles the parser for that token and returns in combination with the\n * parser already generated.\n *\n * @param {Function} exprs a list of the clause evaluator generators for\n * the token that was found\n * @param {Function} parserGeneratedSoFar the parser already found\n * @param {Array} detection the match given by the regex engine when\n * the feature was found\n */\n function expressionsReader (exprs, parserGeneratedSoFar, detection) {\n // if exprs is zero-length foldR will pass back the\n // parserGeneratedSoFar as-is so we don't need to treat\n // this as a special case\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"f\" /* foldR */])(\n function (parserGeneratedSoFar, expr) {\n return expr(parserGeneratedSoFar, detection)\n },\n parserGeneratedSoFar,\n exprs\n )\n }\n\n /**\n * If jsonPath matches the given detector function, creates a function which\n * evaluates against every clause in the clauseEvaluatorGenerators. The\n * created function is propagated to the onSuccess function, along with\n * the remaining unparsed JSONPath substring.\n *\n * The intended use is to create a clauseMatcher by filling in\n * the first two arguments, thus providing a function that knows\n * some syntax to match and what kind of generator to create if it\n * finds it. The parameter list once completed is:\n *\n * (jsonPath, parserGeneratedSoFar, onSuccess)\n *\n * onSuccess may be compileJsonPathToFunction, to recursively continue\n * parsing after finding a match or returnFoundParser to stop here.\n */\n function generateClauseReaderIfTokenFound (\n\n tokenDetector, clauseEvaluatorGenerators,\n\n jsonPath, parserGeneratedSoFar, onSuccess) {\n var detected = tokenDetector(jsonPath)\n\n if (detected) {\n var compiledParser = expressionsReader(\n clauseEvaluatorGenerators,\n parserGeneratedSoFar,\n detected\n )\n\n var remainingUnparsedJsonPath = jsonPath.substr(Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"e\" /* len */])(detected[0]))\n\n return onSuccess(remainingUnparsedJsonPath, compiledParser)\n }\n }\n\n /**\n * Partially completes generateClauseReaderIfTokenFound above.\n */\n function clauseMatcher (tokenDetector, exprs) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"j\" /* partialComplete */])(\n generateClauseReaderIfTokenFound,\n tokenDetector,\n exprs\n )\n }\n\n /**\n * clauseForJsonPath is a function which attempts to match against\n * several clause matchers in order until one matches. If non match the\n * jsonPath expression is invalid and an error is thrown.\n *\n * The parameter list is the same as a single clauseMatcher:\n *\n * (jsonPath, parserGeneratedSoFar, onSuccess)\n */\n var clauseForJsonPath = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"h\" /* lazyUnion */])(\n\n clauseMatcher(pathNodeSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(capture,\n duckTypeClause,\n nameClause,\n skip1))\n\n , clauseMatcher(doubleDotSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(skipMany))\n\n // dot is a separator only (like whitespace in other languages) but\n // rather than make it a special case, use an empty list of\n // expressions when this token is found\n , clauseMatcher(dotSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])())\n\n , clauseMatcher(bangSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(capture,\n rootExpr))\n\n , clauseMatcher(emptySyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(statementExpr))\n\n , function (jsonPath) {\n throw Error('\"' + jsonPath + '\" could not be tokenised')\n }\n )\n\n /**\n * One of two possible values for the onSuccess argument of\n * generateClauseReaderIfTokenFound.\n *\n * When this function is used, generateClauseReaderIfTokenFound simply\n * returns the compiledParser that it made, regardless of if there is\n * any remaining jsonPath to be compiled.\n */\n function returnFoundParser (_remainingJsonPath, compiledParser) {\n return compiledParser\n }\n\n /**\n * Recursively compile a JSONPath expression.\n *\n * This function serves as one of two possible values for the onSuccess\n * argument of generateClauseReaderIfTokenFound, meaning continue to\n * recursively compile. Otherwise, returnFoundParser is given and\n * compilation terminates.\n */\n function compileJsonPathToFunction (uncompiledJsonPath,\n parserGeneratedSoFar) {\n /**\n * On finding a match, if there is remaining text to be compiled\n * we want to either continue parsing using a recursive call to\n * compileJsonPathToFunction. Otherwise, we want to stop and return\n * the parser that we have found so far.\n */\n var onFind = uncompiledJsonPath\n ? compileJsonPathToFunction\n : returnFoundParser\n\n return clauseForJsonPath(\n uncompiledJsonPath,\n parserGeneratedSoFar,\n onFind\n )\n }\n\n /**\n * This is the function that we expose to the rest of the library.\n */\n return function (jsonPath) {\n try {\n // Kick off the recursive parsing of the jsonPath\n return compileJsonPathToFunction(jsonPath, __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */])\n } catch (e) {\n throw Error('Could not compile \"' + jsonPath +\n '\" because ' + e.message\n )\n }\n }\n})\n\n\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return jsonPathSyntax; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n\n\nvar jsonPathSyntax = (function () {\n /**\n * Export a regular expression as a simple function by exposing just\n * the Regex#exec. This allows regex tests to be used under the same\n * interface as differently implemented tests, or for a user of the\n * tests to not concern themselves with their implementation as regular\n * expressions.\n *\n * This could also be expressed point-free as:\n * Function.prototype.bind.bind(RegExp.prototype.exec),\n *\n * But that's far too confusing! (and not even smaller once minified\n * and gzipped)\n */\n var regexDescriptor = function regexDescriptor (regex) {\n return regex.exec.bind(regex)\n }\n\n /**\n * Join several regular expressions and express as a function.\n * This allows the token patterns to reuse component regular expressions\n * instead of being expressed in full using huge and confusing regular\n * expressions.\n */\n var jsonPathClause = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"k\" /* varArgs */])(function (componentRegexes) {\n // The regular expressions all start with ^ because we\n // only want to find matches at the start of the\n // JSONPath fragment we are inspecting\n componentRegexes.unshift(/^/)\n\n return regexDescriptor(\n RegExp(\n componentRegexes.map(Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])('source')).join('')\n )\n )\n })\n\n var possiblyCapturing = /(\\$?)/\n var namedNode = /([\\w-_]+|\\*)/\n var namePlaceholder = /()/\n var nodeInArrayNotation = /\\[\"([^\"]+)\"\\]/\n var numberedNodeInArrayNotation = /\\[(\\d+|\\*)\\]/\n var fieldList = /{([\\w ]*?)}/\n var optionalFieldList = /(?:{([\\w ]*?)})?/\n\n // foo or *\n var jsonPathNamedNodeInObjectNotation = jsonPathClause(\n possiblyCapturing,\n namedNode,\n optionalFieldList\n )\n\n // [\"foo\"]\n var jsonPathNamedNodeInArrayNotation = jsonPathClause(\n possiblyCapturing,\n nodeInArrayNotation,\n optionalFieldList\n )\n\n // [2] or [*]\n var jsonPathNumberedNodeInArrayNotation = jsonPathClause(\n possiblyCapturing,\n numberedNodeInArrayNotation,\n optionalFieldList\n )\n\n // {a b c}\n var jsonPathPureDuckTyping = jsonPathClause(\n possiblyCapturing,\n namePlaceholder,\n fieldList\n )\n\n // ..\n var jsonPathDoubleDot = jsonPathClause(/\\.\\./)\n\n // .\n var jsonPathDot = jsonPathClause(/\\./)\n\n // !\n var jsonPathBang = jsonPathClause(\n possiblyCapturing,\n /!/\n )\n\n // nada!\n var emptyString = jsonPathClause(/$/)\n\n /* We export only a single function. When called, this function injects\n into another function the descriptors from above.\n */\n return function (fn) {\n return fn(\n Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"h\" /* lazyUnion */])(\n jsonPathNamedNodeInObjectNotation\n , jsonPathNamedNodeInArrayNotation\n , jsonPathNumberedNodeInArrayNotation\n , jsonPathPureDuckTyping\n )\n , jsonPathDoubleDot\n , jsonPathDot\n , jsonPathBang\n , emptyString\n )\n }\n}())\n\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return instanceApi; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__publicApi__ = __webpack_require__(5);\n\n\n\n\n\n/**\n * The instance API is the thing that is returned when oboe() is called.\n * it allows:\n *\n * - listeners for various events to be added and removed\n * - the http response header/headers to be read\n */\nfunction instanceApi (oboeBus, contentSource) {\n var oboeApi\n var fullyQualifiedNamePattern = /^(node|path):./\n var rootNodeFinishedEvent = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"h\" /* ROOT_NODE_FOUND */])\n var emitNodeDrop = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"e\" /* NODE_DROP */]).emit\n var emitNodeSwap = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"g\" /* NODE_SWAP */]).emit\n\n /**\n * Add any kind of listener that the instance api exposes\n */\n var addListener = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"k\" /* varArgs */])(function (eventId, parameters) {\n if (oboeApi[eventId]) {\n // for events added as .on(event, callback), if there is a\n // .event() equivalent with special behaviour , pass through\n // to that:\n Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"b\" /* apply */])(parameters, oboeApi[eventId])\n } else {\n // we have a standard Node.js EventEmitter 2-argument call.\n // The first parameter is the listener.\n var event = oboeBus(eventId)\n var listener = parameters[0]\n\n if (fullyQualifiedNamePattern.test(eventId)) {\n // allow fully-qualified node/path listeners\n // to be added\n addForgettableCallback(event, wrapCallbackToSwapNodeIfSomethingReturned(listener))\n } else {\n // the event has no special handling, pass through\n // directly onto the event bus:\n event.on(listener)\n }\n }\n\n return oboeApi // chaining\n })\n\n /**\n * Remove any kind of listener that the instance api exposes\n */\n var removeListener = function (eventId, p2, p3) {\n if (eventId === 'done') {\n rootNodeFinishedEvent.un(p2)\n } else if (eventId === 'node' || eventId === 'path') {\n // allow removal of node and path\n oboeBus.un(eventId + ':' + p2, p3)\n } else {\n // we have a standard Node.js EventEmitter 2-argument call.\n // The second parameter is the listener. This may be a call\n // to remove a fully-qualified node/path listener but requires\n // no special handling\n var listener = p2\n\n oboeBus(eventId).un(listener)\n }\n\n return oboeApi // chaining\n }\n\n /**\n * Add a callback, wrapped in a try/catch so as to not break the\n * execution of Oboe if an exception is thrown (fail events are\n * fired instead)\n *\n * The callback is used as the listener id so that it can later be\n * removed using .un(callback)\n */\n function addProtectedCallback (eventName, callback) {\n oboeBus(eventName).on(protectedCallback(callback), callback)\n return oboeApi // chaining\n }\n\n /**\n * Add a callback where, if .forget() is called during the callback's\n * execution, the callback will be de-registered\n */\n function addForgettableCallback (event, callback, listenerId) {\n // listenerId is optional and if not given, the original\n // callback will be used\n listenerId = listenerId || callback\n\n var safeCallback = protectedCallback(callback)\n\n event.on(function () {\n var discard = false\n\n oboeApi.forget = function () {\n discard = true\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"b\" /* apply */])(arguments, safeCallback)\n\n delete oboeApi.forget\n\n if (discard) {\n event.un(listenerId)\n }\n }, listenerId)\n\n return oboeApi // chaining\n }\n\n /**\n * wrap a callback so that if it throws, Oboe.js doesn't crash but instead\n * throw the error in another event loop\n */\n function protectedCallback (callback) {\n return function () {\n try {\n return callback.apply(oboeApi, arguments)\n } catch (e) {\n setTimeout(function () {\n throw new Error(e.message)\n })\n }\n }\n }\n\n /**\n * Return the fully qualified event for when a pattern matches\n * either a node or a path\n *\n * @param type {String} either 'node' or 'path'\n */\n function fullyQualifiedPatternMatchEvent (type, pattern) {\n return oboeBus(type + ':' + pattern)\n }\n\n function wrapCallbackToSwapNodeIfSomethingReturned (callback) {\n return function () {\n var returnValueFromCallback = callback.apply(this, arguments)\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* defined */])(returnValueFromCallback)) {\n if (returnValueFromCallback === __WEBPACK_IMPORTED_MODULE_3__publicApi__[\"a\" /* oboe */].drop) {\n emitNodeDrop()\n } else {\n emitNodeSwap(returnValueFromCallback)\n }\n }\n }\n }\n\n function addSingleNodeOrPathListener (eventId, pattern, callback) {\n var effectiveCallback\n\n if (eventId === 'node') {\n effectiveCallback = wrapCallbackToSwapNodeIfSomethingReturned(callback)\n } else {\n effectiveCallback = callback\n }\n\n addForgettableCallback(\n fullyQualifiedPatternMatchEvent(eventId, pattern),\n effectiveCallback,\n callback\n )\n }\n\n /**\n * Add several listeners at a time, from a map\n */\n function addMultipleNodeOrPathListeners (eventId, listenerMap) {\n for (var pattern in listenerMap) {\n addSingleNodeOrPathListener(eventId, pattern, listenerMap[pattern])\n }\n }\n\n /**\n * implementation behind .onPath() and .onNode()\n */\n function addNodeOrPathListenerApi (eventId, jsonPathOrListenerMap, callback) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* isString */])(jsonPathOrListenerMap)) {\n addSingleNodeOrPathListener(eventId, jsonPathOrListenerMap, callback)\n } else {\n addMultipleNodeOrPathListeners(eventId, jsonPathOrListenerMap)\n }\n\n return oboeApi // chaining\n }\n\n // some interface methods are only filled in after we receive\n // values and are noops before that:\n oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"i\" /* ROOT_PATH_FOUND */]).on(function (rootNode) {\n oboeApi.root = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"f\" /* functor */])(rootNode)\n })\n\n /**\n * When content starts make the headers readable through the\n * instance API\n */\n oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"c\" /* HTTP_START */]).on(function (_statusCode, headers) {\n oboeApi.header = function (name) {\n return name ? headers[name]\n : headers\n }\n })\n\n /**\n * Construct and return the public API of the Oboe instance to be\n * returned to the calling application\n */\n oboeApi = {\n on: addListener,\n addListener: addListener,\n removeListener: removeListener,\n emit: oboeBus.emit,\n\n node: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addNodeOrPathListenerApi, 'node'),\n path: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addNodeOrPathListenerApi, 'path'),\n\n done: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addForgettableCallback, rootNodeFinishedEvent),\n start: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addProtectedCallback, __WEBPACK_IMPORTED_MODULE_0__events__[\"c\" /* HTTP_START */]),\n\n // fail doesn't use protectedCallback because\n // could lead to non-terminating loops\n fail: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"b\" /* FAIL_EVENT */]).on,\n\n // public api calling abort fires the ABORTING event\n abort: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"a\" /* ABORTING */]).emit,\n\n // initially return nothing for header and root\n header: __WEBPACK_IMPORTED_MODULE_1__functional__[\"i\" /* noop */],\n root: __WEBPACK_IMPORTED_MODULE_1__functional__[\"i\" /* noop */],\n\n source: contentSource\n }\n\n return oboeApi\n}\n\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return clarinet; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n\n\n/*\n This is a slightly hacked-up browser only version of clarinet\n\n * some features removed to help keep browser Oboe under\n the 5k micro-library limit\n * plug directly into event bus\n\n For the original go here:\n https://github.com/dscape/clarinet\n\n We receive the events:\n STREAM_DATA\n STREAM_END\n\n We emit the events:\n SAX_KEY\n SAX_VALUE_OPEN\n SAX_VALUE_CLOSE\n FAIL_EVENT\n */\n\nfunction clarinet (eventBus) {\n 'use strict'\n\n // shortcut some events on the bus\n var emitSaxKey = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"j\" /* SAX_KEY */]).emit\n var emitValueOpen = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"l\" /* SAX_VALUE_OPEN */]).emit\n var emitValueClose = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"k\" /* SAX_VALUE_CLOSE */]).emit\n var emitFail = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"b\" /* FAIL_EVENT */]).emit\n\n var MAX_BUFFER_LENGTH = 64 * 1024\n var stringTokenPattern = /[\\\\\"\\n]/g\n var _n = 0\n\n // states\n var BEGIN = _n++\n var VALUE = _n++ // general stuff\n var OPEN_OBJECT = _n++ // {\n var CLOSE_OBJECT = _n++ // }\n var OPEN_ARRAY = _n++ // [\n var CLOSE_ARRAY = _n++ // ]\n var STRING = _n++ // \"\"\n var OPEN_KEY = _n++ // , \"a\"\n var CLOSE_KEY = _n++ // :\n var TRUE = _n++ // r\n var TRUE2 = _n++ // u\n var TRUE3 = _n++ // e\n var FALSE = _n++ // a\n var FALSE2 = _n++ // l\n var FALSE3 = _n++ // s\n var FALSE4 = _n++ // e\n var NULL = _n++ // u\n var NULL2 = _n++ // l\n var NULL3 = _n++ // l\n var NUMBER_DECIMAL_POINT = _n++ // .\n var NUMBER_DIGIT = _n // [0-9]\n\n // setup initial parser values\n var bufferCheckPosition = MAX_BUFFER_LENGTH\n var latestError\n var c\n var p\n var textNode\n var numberNode = ''\n var slashed = false\n var closed = false\n var state = BEGIN\n var stack = []\n var unicodeS = null\n var unicodeI = 0\n var depth = 0\n var position = 0\n var column = 0 // mostly for error reporting\n var line = 1\n\n function checkBufferLength () {\n var maxActual = 0\n\n if (textNode !== undefined && textNode.length > MAX_BUFFER_LENGTH) {\n emitError('Max buffer length exceeded: textNode')\n maxActual = Math.max(maxActual, textNode.length)\n }\n if (numberNode.length > MAX_BUFFER_LENGTH) {\n emitError('Max buffer length exceeded: numberNode')\n maxActual = Math.max(maxActual, numberNode.length)\n }\n\n bufferCheckPosition = (MAX_BUFFER_LENGTH - maxActual) +\n position\n }\n\n eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"m\" /* STREAM_DATA */]).on(handleData)\n\n /* At the end of the http content close the clarinet\n This will provide an error if the total content provided was not\n valid json, ie if not all arrays, objects and Strings closed properly */\n eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"n\" /* STREAM_END */]).on(handleStreamEnd)\n\n function emitError (errorString) {\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n\n latestError = Error(errorString + '\\nLn: ' + line +\n '\\nCol: ' + column +\n '\\nChr: ' + c)\n\n emitFail(Object(__WEBPACK_IMPORTED_MODULE_0__events__[\"o\" /* errorReport */])(undefined, undefined, latestError))\n }\n\n function handleStreamEnd () {\n if (state === BEGIN) {\n // Handle the case where the stream closes without ever receiving\n // any input. This isn't an error - response bodies can be blank,\n // particularly for 204 http responses\n\n // Because of how Oboe is currently implemented, we parse a\n // completely empty stream as containing an empty object.\n // This is because Oboe's done event is only fired when the\n // root object of the JSON stream closes.\n\n // This should be decoupled and attached instead to the input stream\n // from the http (or whatever) resource ending.\n // If this decoupling could happen the SAX parser could simply emit\n // zero events on a completely empty input.\n emitValueOpen({})\n emitValueClose()\n\n closed = true\n return\n }\n\n if (state !== VALUE || depth !== 0) { emitError('Unexpected end') }\n\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n\n closed = true\n }\n\n function whitespace (c) {\n return c === '\\r' || c === '\\n' || c === ' ' || c === '\\t'\n }\n\n function handleData (chunk) {\n // this used to throw the error but inside Oboe we will have already\n // gotten the error when it was emitted. The important thing is to\n // not continue with the parse.\n if (latestError) { return }\n\n if (closed) {\n return emitError('Cannot write after close')\n }\n\n var i = 0\n c = chunk[0]\n\n while (c) {\n if (i > 0) {\n p = c\n }\n c = chunk[i++]\n if (!c) break\n\n position++\n if (c === '\\n') {\n line++\n column = 0\n } else column++\n switch (state) {\n case BEGIN:\n if (c === '{') state = OPEN_OBJECT\n else if (c === '[') state = OPEN_ARRAY\n else if (!whitespace(c)) { return emitError('Non-whitespace before {[.') }\n continue\n\n case OPEN_KEY:\n case OPEN_OBJECT:\n if (whitespace(c)) continue\n if (state === OPEN_KEY) stack.push(CLOSE_KEY)\n else {\n if (c === '}') {\n emitValueOpen({})\n emitValueClose()\n state = stack.pop() || VALUE\n continue\n } else stack.push(CLOSE_OBJECT)\n }\n if (c === '\"') { state = STRING } else { return emitError('Malformed object key should start with \" ') }\n continue\n\n case CLOSE_KEY:\n case CLOSE_OBJECT:\n if (whitespace(c)) continue\n\n if (c === ':') {\n if (state === CLOSE_OBJECT) {\n stack.push(CLOSE_OBJECT)\n\n if (textNode !== undefined) {\n // was previously (in upstream Clarinet) one event\n // - object open came with the text of the first\n emitValueOpen({})\n emitSaxKey(textNode)\n textNode = undefined\n }\n depth++\n } else {\n if (textNode !== undefined) {\n emitSaxKey(textNode)\n textNode = undefined\n }\n }\n state = VALUE\n } else if (c === '}') {\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n emitValueClose()\n depth--\n state = stack.pop() || VALUE\n } else if (c === ',') {\n if (state === CLOSE_OBJECT) { stack.push(CLOSE_OBJECT) }\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n state = OPEN_KEY\n } else { return emitError('Bad object') }\n continue\n\n case OPEN_ARRAY: // after an array there always a value\n case VALUE:\n if (whitespace(c)) continue\n if (state === OPEN_ARRAY) {\n emitValueOpen([])\n depth++\n state = VALUE\n if (c === ']') {\n emitValueClose()\n depth--\n state = stack.pop() || VALUE\n continue\n } else {\n stack.push(CLOSE_ARRAY)\n }\n }\n if (c === '\"') state = STRING\n else if (c === '{') state = OPEN_OBJECT\n else if (c === '[') state = OPEN_ARRAY\n else if (c === 't') state = TRUE\n else if (c === 'f') state = FALSE\n else if (c === 'n') state = NULL\n else if (c === '-') { // keep and continue\n numberNode += c\n } else if (c === '0') {\n numberNode += c\n state = NUMBER_DIGIT\n } else if ('123456789'.indexOf(c) !== -1) {\n numberNode += c\n state = NUMBER_DIGIT\n } else { return emitError('Bad value') }\n continue\n\n case CLOSE_ARRAY:\n if (c === ',') {\n stack.push(CLOSE_ARRAY)\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n state = VALUE\n } else if (c === ']') {\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n emitValueClose()\n depth--\n state = stack.pop() || VALUE\n } else if (whitespace(c)) { continue } else { return emitError('Bad array') }\n continue\n\n case STRING:\n if (textNode === undefined) {\n textNode = ''\n }\n\n // thanks thejh, this is an about 50% performance improvement.\n var starti = i - 1\n\n // eslint-disable-next-line no-labels\n STRING_BIGLOOP: while (true) {\n // zero means \"no unicode active\". 1-4 mean \"parse some more\". end after 4.\n while (unicodeI > 0) {\n unicodeS += c\n c = chunk.charAt(i++)\n if (unicodeI === 4) {\n // TODO this might be slow? well, probably not used too often anyway\n textNode += String.fromCharCode(parseInt(unicodeS, 16))\n unicodeI = 0\n starti = i - 1\n } else {\n unicodeI++\n }\n // we can just break here: no stuff we skipped that still has to be sliced out or so\n // eslint-disable-next-line no-labels\n if (!c) break STRING_BIGLOOP\n }\n if (c === '\"' && !slashed) {\n state = stack.pop() || VALUE\n textNode += chunk.substring(starti, i - 1)\n break\n }\n if (c === '\\\\' && !slashed) {\n slashed = true\n textNode += chunk.substring(starti, i - 1)\n c = chunk.charAt(i++)\n if (!c) break\n }\n if (slashed) {\n slashed = false\n if (c === 'n') { textNode += '\\n' } else if (c === 'r') { textNode += '\\r' } else if (c === 't') { textNode += '\\t' } else if (c === 'f') { textNode += '\\f' } else if (c === 'b') { textNode += '\\b' } else if (c === 'u') {\n // \\uxxxx. meh!\n unicodeI = 1\n unicodeS = ''\n } else {\n textNode += c\n }\n c = chunk.charAt(i++)\n starti = i - 1\n if (!c) break\n else continue\n }\n\n stringTokenPattern.lastIndex = i\n var reResult = stringTokenPattern.exec(chunk)\n if (!reResult) {\n i = chunk.length + 1\n textNode += chunk.substring(starti, i - 1)\n break\n }\n i = reResult.index + 1\n c = chunk.charAt(reResult.index)\n if (!c) {\n textNode += chunk.substring(starti, i - 1)\n break\n }\n }\n continue\n\n case TRUE:\n if (!c) continue // strange buffers\n if (c === 'r') state = TRUE2\n else { return emitError('Invalid true started with t' + c) }\n continue\n\n case TRUE2:\n if (!c) continue\n if (c === 'u') state = TRUE3\n else { return emitError('Invalid true started with tr' + c) }\n continue\n\n case TRUE3:\n if (!c) continue\n if (c === 'e') {\n emitValueOpen(true)\n emitValueClose()\n state = stack.pop() || VALUE\n } else { return emitError('Invalid true started with tru' + c) }\n continue\n\n case FALSE:\n if (!c) continue\n if (c === 'a') state = FALSE2\n else { return emitError('Invalid false started with f' + c) }\n continue\n\n case FALSE2:\n if (!c) continue\n if (c === 'l') state = FALSE3\n else { return emitError('Invalid false started with fa' + c) }\n continue\n\n case FALSE3:\n if (!c) continue\n if (c === 's') state = FALSE4\n else { return emitError('Invalid false started with fal' + c) }\n continue\n\n case FALSE4:\n if (!c) continue\n if (c === 'e') {\n emitValueOpen(false)\n emitValueClose()\n state = stack.pop() || VALUE\n } else { return emitError('Invalid false started with fals' + c) }\n continue\n\n case NULL:\n if (!c) continue\n if (c === 'u') state = NULL2\n else { return emitError('Invalid null started with n' + c) }\n continue\n\n case NULL2:\n if (!c) continue\n if (c === 'l') state = NULL3\n else { return emitError('Invalid null started with nu' + c) }\n continue\n\n case NULL3:\n if (!c) continue\n if (c === 'l') {\n emitValueOpen(null)\n emitValueClose()\n state = stack.pop() || VALUE\n } else { return emitError('Invalid null started with nul' + c) }\n continue\n\n case NUMBER_DECIMAL_POINT:\n if (c === '.') {\n numberNode += c\n state = NUMBER_DIGIT\n } else { return emitError('Leading zero not followed by .') }\n continue\n\n case NUMBER_DIGIT:\n if ('0123456789'.indexOf(c) !== -1) numberNode += c\n else if (c === '.') {\n if (numberNode.indexOf('.') !== -1) { return emitError('Invalid number has two dots') }\n numberNode += c\n } else if (c === 'e' || c === 'E') {\n if (numberNode.indexOf('e') !== -1 ||\n numberNode.indexOf('E') !== -1) { return emitError('Invalid number has two exponential') }\n numberNode += c\n } else if (c === '+' || c === '-') {\n if (!(p === 'e' || p === 'E')) { return emitError('Invalid symbol in number') }\n numberNode += c\n } else {\n if (numberNode) {\n emitValueOpen(parseFloat(numberNode))\n emitValueClose()\n numberNode = ''\n }\n i-- // go back one\n state = stack.pop() || VALUE\n }\n continue\n\n default:\n return emitError('Unknown state: ' + state)\n }\n }\n if (position >= bufferCheckPosition) { checkBufferLength() }\n }\n}\n\n\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return httpTransport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return streamingHttp; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__functional__ = __webpack_require__(0);\n\n\n\n\n\n\nfunction httpTransport () {\n return new XMLHttpRequest()\n}\n\n/**\n * A wrapper around the browser XmlHttpRequest object that raises an\n * event whenever a new part of the response is available.\n *\n * In older browsers progressive reading is impossible so all the\n * content is given in a single call. For newer ones several events\n * should be raised, allowing progressive interpretation of the response.\n *\n * @param {Function} oboeBus an event bus local to this Oboe instance\n * @param {XMLHttpRequest} xhr the xhr to use as the transport. Under normal\n * operation, will have been created using httpTransport() above\n * but for tests a stub can be provided instead.\n * @param {String} method one of 'GET' 'POST' 'PUT' 'PATCH' 'DELETE'\n * @param {String} url the url to make a request to\n * @param {String|Null} data some content to be sent with the request.\n * Only valid if method is POST or PUT.\n * @param {Object} [headers] the http request headers to send\n * @param {boolean} withCredentials the XHR withCredentials property will be\n * set to this value\n */\nfunction streamingHttp (oboeBus, xhr, method, url, data, headers, withCredentials) {\n 'use strict'\n\n var emitStreamData = oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"m\" /* STREAM_DATA */]).emit\n var emitFail = oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"b\" /* FAIL_EVENT */]).emit\n var numberOfCharsAlreadyGivenToCallback = 0\n var stillToSendStartEvent = true\n\n // When an ABORTING message is put on the event bus abort\n // the ajax request\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* ABORTING */]).on(function () {\n // if we keep the onreadystatechange while aborting the XHR gives\n // a callback like a successful call so first remove this listener\n // by assigning null:\n xhr.onreadystatechange = null\n\n xhr.abort()\n })\n\n /**\n * Handle input from the underlying xhr: either a state change,\n * the progress event or the request being complete.\n */\n function handleProgress () {\n if (String(xhr.status)[0] === '2') {\n var textSoFar = xhr.responseText\n var newText = (' ' + textSoFar.substr(numberOfCharsAlreadyGivenToCallback)).substr(1)\n\n /* Raise the event for new text.\n\n On older browsers, the new text is the whole response.\n On newer/better ones, the fragment part that we got since\n last progress. */\n\n if (newText) {\n emitStreamData(newText)\n }\n\n numberOfCharsAlreadyGivenToCallback = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"e\" /* len */])(textSoFar)\n }\n }\n\n if ('onprogress' in xhr) { // detect browser support for progressive delivery\n xhr.onprogress = handleProgress\n }\n\n function sendStartIfNotAlready (xhr) {\n // Internet Explorer is very unreliable as to when xhr.status etc can\n // be read so has to be protected with try/catch and tried again on\n // the next readyState if it fails\n try {\n stillToSendStartEvent && oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"c\" /* HTTP_START */]).emit(\n xhr.status,\n Object(__WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__[\"a\" /* parseResponseHeaders */])(xhr.getAllResponseHeaders()))\n stillToSendStartEvent = false\n } catch (e) { /* do nothing, will try again on next readyState */ }\n }\n\n xhr.onreadystatechange = function () {\n switch (xhr.readyState) {\n case 2: // HEADERS_RECEIVED\n case 3: // LOADING\n return sendStartIfNotAlready(xhr)\n\n case 4: // DONE\n sendStartIfNotAlready(xhr) // if xhr.status hasn't been available yet, it must be NOW, huh IE?\n\n // is this a 2xx http code?\n var successful = String(xhr.status)[0] === '2'\n\n if (successful) {\n // In Chrome 29 (not 28) no onprogress is emitted when a response\n // is complete before the onload. We need to always do handleInput\n // in case we get the load but have not had a final progress event.\n // This looks like a bug and may change in future but let's take\n // the safest approach and assume we might not have received a\n // progress event for each part of the response\n handleProgress()\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"n\" /* STREAM_END */]).emit()\n } else {\n emitFail(Object(__WEBPACK_IMPORTED_MODULE_1__events__[\"o\" /* errorReport */])(\n xhr.status,\n xhr.responseText\n ))\n }\n }\n }\n\n try {\n xhr.open(method, url, true)\n\n for (var headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName])\n }\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__[\"a\" /* isCrossOrigin */])(window.location, Object(__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__[\"b\" /* parseUrlOrigin */])(url))) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n }\n\n xhr.withCredentials = withCredentials\n\n xhr.send(data)\n } catch (e) {\n // To keep a consistent interface with Node, we can't emit an event here.\n // Node's streaming http adaptor receives the error as an asynchronous\n // event rather than as an exception. If we emitted now, the Oboe user\n // has had no chance to add a .fail listener so there is no way\n // the event could be useful. For both these reasons defer the\n // firing to the next JS frame.\n window.setTimeout(\n Object(__WEBPACK_IMPORTED_MODULE_4__functional__[\"j\" /* partialComplete */])(emitFail, Object(__WEBPACK_IMPORTED_MODULE_1__events__[\"o\" /* errorReport */])(undefined, undefined, e))\n , 0\n )\n }\n}\n\n\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return isCrossOrigin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return parseUrlOrigin; });\n/**\n * Detect if a given URL is cross-origin in the scope of the\n * current page.\n *\n * Browser only (since cross-origin has no meaning in Node.js)\n *\n * @param {Object} pageLocation - as in window.location\n * @param {Object} ajaxHost - an object like window.location describing the\n * origin of the url that we want to ajax in\n */\nfunction isCrossOrigin (pageLocation, ajaxHost) {\n /*\n * NB: defaultPort only knows http and https.\n * Returns undefined otherwise.\n */\n function defaultPort (protocol) {\n return { 'http:': 80, 'https:': 443 }[protocol]\n }\n\n function portOf (location) {\n // pageLocation should always have a protocol. ajaxHost if no port or\n // protocol is specified, should use the port of the containing page\n\n return String(location.port || defaultPort(location.protocol || pageLocation.protocol))\n }\n\n // if ajaxHost doesn't give a domain, port is the same as pageLocation\n // it can't give a protocol but not a domain\n // it can't give a port but not a domain\n\n return !!((ajaxHost.protocol && (ajaxHost.protocol !== pageLocation.protocol)) ||\n (ajaxHost.host && (ajaxHost.host !== pageLocation.host)) ||\n (ajaxHost.host && (portOf(ajaxHost) !== portOf(pageLocation)))\n )\n}\n\n/* turn any url into an object like window.location */\nfunction parseUrlOrigin (url) {\n // url could be domain-relative\n // url could give a domain\n\n // cross origin means:\n // same domain\n // same port\n // some protocol\n // so, same everything up to the first (single) slash\n // if such is given\n //\n // can ignore everything after that\n\n var URL_HOST_PATTERN = /(\\w+:)?(?:\\/\\/)([\\w.-]+)?(?::(\\d+))?\\/?/\n\n // if no match, use an empty array so that\n // subexpressions 1,2,3 are all undefined\n // and will ultimately return all empty\n // strings as the parse result:\n var urlHostMatch = URL_HOST_PATTERN.exec(url) || []\n\n return {\n protocol: urlHostMatch[1] || '',\n host: urlHostMatch[2] || '',\n port: urlHostMatch[3] || ''\n }\n}\n\n\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return parseResponseHeaders; });\n// based on gist https://gist.github.com/monsur/706839\n\n/**\n * XmlHttpRequest's getAllResponseHeaders() method returns a string of response\n * headers according to the format described here:\n * http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders-method\n * This method parses that string into a user-friendly key/value pair object.\n */\nfunction parseResponseHeaders (headerStr) {\n var headers = {}\n\n headerStr && headerStr.split('\\u000d\\u000a')\n .forEach(function (headerPair) {\n // Can't use split() here because it does the wrong thing\n // if the header value has the string \": \" in it.\n var index = headerPair.indexOf('\\u003a\\u0020')\n\n headers[headerPair.substring(0, index)] =\n headerPair.substring(index + 2)\n })\n\n return headers\n}\n\n\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\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","var trim = function(string) {\n return string.replace(/^\\s+|\\s+$/g, '');\n}\n , isArray = function(arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n }\n\nmodule.exports = function (headers) {\n if (!headers)\n return {}\n\n var result = {}\n\n var headersArr = trim(headers).split('\\n')\n\n for (var i = 0; i < headersArr.length; i++) {\n var row = headersArr[i]\n var index = row.indexOf(':')\n , key = trim(row.slice(0, index)).toLowerCase()\n , value = trim(row.slice(index + 1))\n\n if (typeof(result[key]) === 'undefined') {\n result[key] = value\n } else if (isArray(result[key])) {\n result[key].push(value)\n } else {\n result[key] = [ result[key], value ]\n }\n }\n\n return result\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\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 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 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","// 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","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\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","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\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","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","'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","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\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});","// 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 passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\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}","// 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}","// 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};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: 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 key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\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\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\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\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\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};","// 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;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'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};","module.exports = require('events').EventEmitter;\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');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'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","/*! 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","/* 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\n(function(root) {\n const MAX_VALUE = 0x7fffffff;\n\n // The SHA256 and PBKDF2 implementation are from scrypt-async-js:\n // See: https://github.com/dchest/scrypt-async-js\n function SHA256(m) {\n const K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ]);\n\n let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a;\n let h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;\n const w = new Uint32Array(64);\n\n function blocks(p) {\n let off = 0, len = p.length;\n while (len >= 64) {\n let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, u, i, j, t1, t2;\n\n for (i = 0; i < 16; i++) {\n j = off + i*4;\n w[i] = ((p[j] & 0xff)<<24) | ((p[j+1] & 0xff)<<16) |\n ((p[j+2] & 0xff)<<8) | (p[j+3] & 0xff);\n }\n\n for (i = 16; i < 64; i++) {\n u = w[i-2];\n t1 = ((u>>>17) | (u<<(32-17))) ^ ((u>>>19) | (u<<(32-19))) ^ (u>>>10);\n\n u = w[i-15];\n t2 = ((u>>>7) | (u<<(32-7))) ^ ((u>>>18) | (u<<(32-18))) ^ (u>>>3);\n\n w[i] = (((t1 + w[i-7]) | 0) + ((t2 + w[i-16]) | 0)) | 0;\n }\n\n for (i = 0; i < 64; i++) {\n t1 = ((((((e>>>6) | (e<<(32-6))) ^ ((e>>>11) | (e<<(32-11))) ^\n ((e>>>25) | (e<<(32-25)))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n\n t2 = ((((a>>>2) | (a<<(32-2))) ^ ((a>>>13) | (a<<(32-13))) ^\n ((a>>>22) | (a<<(32-22)))) + ((a & b) ^ (a & c) ^ (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 h0 = (h0 + a) | 0;\n h1 = (h1 + b) | 0;\n h2 = (h2 + c) | 0;\n h3 = (h3 + d) | 0;\n h4 = (h4 + e) | 0;\n h5 = (h5 + f) | 0;\n h6 = (h6 + g) | 0;\n h7 = (h7 + h) | 0;\n\n off += 64;\n len -= 64;\n }\n }\n\n blocks(m);\n\n let i, bytesLeft = m.length % 64,\n bitLenHi = (m.length / 0x20000000) | 0,\n bitLenLo = m.length << 3,\n numZeros = (bytesLeft < 56) ? 56 : 120,\n p = m.slice(m.length - bytesLeft, m.length);\n\n p.push(0x80);\n for (i = bytesLeft + 1; i < numZeros; i++) { p.push(0); }\n p.push((bitLenHi >>> 24) & 0xff);\n p.push((bitLenHi >>> 16) & 0xff);\n p.push((bitLenHi >>> 8) & 0xff);\n p.push((bitLenHi >>> 0) & 0xff);\n p.push((bitLenLo >>> 24) & 0xff);\n p.push((bitLenLo >>> 16) & 0xff);\n p.push((bitLenLo >>> 8) & 0xff);\n p.push((bitLenLo >>> 0) & 0xff);\n\n blocks(p);\n\n return [\n (h0 >>> 24) & 0xff, (h0 >>> 16) & 0xff, (h0 >>> 8) & 0xff, (h0 >>> 0) & 0xff,\n (h1 >>> 24) & 0xff, (h1 >>> 16) & 0xff, (h1 >>> 8) & 0xff, (h1 >>> 0) & 0xff,\n (h2 >>> 24) & 0xff, (h2 >>> 16) & 0xff, (h2 >>> 8) & 0xff, (h2 >>> 0) & 0xff,\n (h3 >>> 24) & 0xff, (h3 >>> 16) & 0xff, (h3 >>> 8) & 0xff, (h3 >>> 0) & 0xff,\n (h4 >>> 24) & 0xff, (h4 >>> 16) & 0xff, (h4 >>> 8) & 0xff, (h4 >>> 0) & 0xff,\n (h5 >>> 24) & 0xff, (h5 >>> 16) & 0xff, (h5 >>> 8) & 0xff, (h5 >>> 0) & 0xff,\n (h6 >>> 24) & 0xff, (h6 >>> 16) & 0xff, (h6 >>> 8) & 0xff, (h6 >>> 0) & 0xff,\n (h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, (h7 >>> 0) & 0xff\n ];\n }\n\n function PBKDF2_HMAC_SHA256_OneIter(password, salt, dkLen) {\n // compress password if it's longer than hash block length\n password = (password.length <= 64) ? password : SHA256(password);\n\n const innerLen = 64 + salt.length + 4;\n const inner = new Array(innerLen);\n const outerKey = new Array(64);\n\n let i;\n let dk = [];\n\n // inner = (password ^ ipad) || salt || counter\n for (i = 0; i < 64; i++) { inner[i] = 0x36; }\n for (i = 0; i < password.length; i++) { inner[i] ^= password[i]; }\n for (i = 0; i < salt.length; i++) { inner[64 + i] = salt[i]; }\n for (i = innerLen - 4; i < innerLen; i++) { inner[i] = 0; }\n\n // outerKey = password ^ opad\n for (i = 0; i < 64; i++) outerKey[i] = 0x5c;\n for (i = 0; i < password.length; i++) outerKey[i] ^= password[i];\n\n // increments counter inside inner\n function incrementCounter() {\n for (let i = innerLen - 1; i >= innerLen - 4; i--) {\n inner[i]++;\n if (inner[i] <= 0xff) return;\n inner[i] = 0;\n }\n }\n\n // output blocks = SHA256(outerKey || SHA256(inner)) ...\n while (dkLen >= 32) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))));\n dkLen -= 32;\n }\n if (dkLen > 0) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))).slice(0, dkLen));\n }\n\n return dk;\n }\n\n // The following is an adaptation of scryptsy\n // See: https://www.npmjs.com/package/scryptsy\n function blockmix_salsa8(BY, Yi, r, x, _X) {\n let i;\n\n arraycopy(BY, (2 * r - 1) * 16, _X, 0, 16);\n for (i = 0; i < 2 * r; i++) {\n blockxor(BY, i * 16, _X, 16);\n salsa20_8(_X, x);\n arraycopy(_X, 0, BY, Yi + (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2) * 16, BY, (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2 + 1) * 16, BY, (i + r) * 16, 16);\n }\n }\n\n function R(a, b) {\n return (a << b) | (a >>> (32 - b));\n }\n\n function salsa20_8(B, x) {\n arraycopy(B, 0, x, 0, 16);\n\n for (let i = 8; i > 0; i -= 2) {\n x[ 4] ^= R(x[ 0] + x[12], 7);\n x[ 8] ^= R(x[ 4] + x[ 0], 9);\n x[12] ^= R(x[ 8] + x[ 4], 13);\n x[ 0] ^= R(x[12] + x[ 8], 18);\n x[ 9] ^= R(x[ 5] + x[ 1], 7);\n x[13] ^= R(x[ 9] + x[ 5], 9);\n x[ 1] ^= R(x[13] + x[ 9], 13);\n x[ 5] ^= R(x[ 1] + x[13], 18);\n x[14] ^= R(x[10] + x[ 6], 7);\n x[ 2] ^= R(x[14] + x[10], 9);\n x[ 6] ^= R(x[ 2] + x[14], 13);\n x[10] ^= R(x[ 6] + x[ 2], 18);\n x[ 3] ^= R(x[15] + x[11], 7);\n x[ 7] ^= R(x[ 3] + x[15], 9);\n x[11] ^= R(x[ 7] + x[ 3], 13);\n x[15] ^= R(x[11] + x[ 7], 18);\n x[ 1] ^= R(x[ 0] + x[ 3], 7);\n x[ 2] ^= R(x[ 1] + x[ 0], 9);\n x[ 3] ^= R(x[ 2] + x[ 1], 13);\n x[ 0] ^= R(x[ 3] + x[ 2], 18);\n x[ 6] ^= R(x[ 5] + x[ 4], 7);\n x[ 7] ^= R(x[ 6] + x[ 5], 9);\n x[ 4] ^= R(x[ 7] + x[ 6], 13);\n x[ 5] ^= R(x[ 4] + x[ 7], 18);\n x[11] ^= R(x[10] + x[ 9], 7);\n x[ 8] ^= R(x[11] + x[10], 9);\n x[ 9] ^= R(x[ 8] + x[11], 13);\n x[10] ^= R(x[ 9] + x[ 8], 18);\n x[12] ^= R(x[15] + x[14], 7);\n x[13] ^= R(x[12] + x[15], 9);\n x[14] ^= R(x[13] + x[12], 13);\n x[15] ^= R(x[14] + x[13], 18);\n }\n\n for (let i = 0; i < 16; ++i) {\n B[i] += x[i];\n }\n }\n\n // naive approach... going back to loop unrolling may yield additional performance\n function blockxor(S, Si, D, len) {\n for (let i = 0; i < len; i++) {\n D[i] ^= S[Si + i]\n }\n }\n\n function arraycopy(src, srcPos, dest, destPos, length) {\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n }\n\n function checkBufferish(o) {\n if (!o || typeof(o.length) !== 'number') { return false; }\n\n for (let i = 0; i < o.length; i++) {\n const v = o[i];\n if (typeof(v) !== 'number' || v % 1 || v < 0 || v >= 256) {\n return false;\n }\n }\n\n return true;\n }\n\n function ensureInteger(value, name) {\n if (typeof(value) !== \"number\" || (value % 1)) { throw new Error('invalid ' + name); }\n return value;\n }\n\n // N = Cpu cost, r = Memory cost, p = parallelization cost\n // callback(error, progress, key)\n function _scrypt(password, salt, N, r, p, dkLen, callback) {\n\n N = ensureInteger(N, 'N');\n r = ensureInteger(r, 'r');\n p = ensureInteger(p, 'p');\n\n dkLen = ensureInteger(dkLen, 'dkLen');\n\n if (N === 0 || (N & (N - 1)) !== 0) { throw new Error('N must be power of 2'); }\n\n if (N > MAX_VALUE / 128 / r) { throw new Error('N too large'); }\n if (r > MAX_VALUE / 128 / p) { throw new Error('r too large'); }\n\n if (!checkBufferish(password)) {\n throw new Error('password must be an array or buffer');\n }\n password = Array.prototype.slice.call(password);\n\n if (!checkBufferish(salt)) {\n throw new Error('salt must be an array or buffer');\n }\n salt = Array.prototype.slice.call(salt);\n\n let b = PBKDF2_HMAC_SHA256_OneIter(password, salt, p * 128 * r);\n const B = new Uint32Array(p * 32 * r)\n for (let i = 0; i < B.length; i++) {\n const j = i * 4;\n B[i] = ((b[j + 3] & 0xff) << 24) |\n ((b[j + 2] & 0xff) << 16) |\n ((b[j + 1] & 0xff) << 8) |\n ((b[j + 0] & 0xff) << 0);\n }\n\n const XY = new Uint32Array(64 * r);\n const V = new Uint32Array(32 * r * N);\n\n const Yi = 32 * r;\n\n // scratch space\n const x = new Uint32Array(16); // salsa20_8\n const _X = new Uint32Array(16); // blockmix_salsa8\n\n const totalOps = p * N * 2;\n let currentOp = 0;\n let lastPercent10 = null;\n\n // Set this to true to abandon the scrypt on the next step\n let stop = false;\n\n // State information\n let state = 0;\n let i0 = 0, i1;\n let Bi;\n\n // How many blockmix_salsa8 can we do per step?\n const limit = callback ? parseInt(1000 / r): 0xffffffff;\n\n // Trick from scrypt-async; if there is a setImmediate shim in place, use it\n const nextTick = (typeof(setImmediate) !== 'undefined') ? setImmediate : setTimeout;\n\n // This is really all I changed; making scryptsy a state machine so we occasionally\n // stop and give other evnts on the evnt loop a chance to run. ~RicMoo\n const incrementalSMix = function() {\n if (stop) {\n return callback(new Error('cancelled'), currentOp / totalOps);\n }\n\n let steps;\n\n switch (state) {\n case 0:\n // for (var i = 0; i < p; i++)...\n Bi = i0 * 32 * r;\n\n arraycopy(B, Bi, XY, 0, Yi); // ROMix - 1\n\n state = 1; // Move to ROMix 2\n i1 = 0;\n\n // Fall through\n\n case 1:\n\n // Run up to 1000 steps of the first inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 2\n arraycopy(XY, 0, V, (i1 + i) * Yi, Yi) // ROMix - 3\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 4\n }\n\n // for (var i = 0; i < N; i++)\n i1 += steps;\n currentOp += steps;\n\n if (callback) {\n // Call the callback with the progress (optionally stopping us)\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n i1 = 0; // Move to ROMix 6\n state = 2;\n\n // Fall through\n\n case 2:\n\n // Run up to 1000 steps of the second inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 6\n const offset = (2 * r - 1) * 16; // ROMix - 7\n const j = XY[offset] & (N - 1);\n blockxor(V, j * Yi, XY, Yi); // ROMix - 8 (inner)\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 9 (outer)\n }\n\n // for (var i = 0; i < N; i++)...\n i1 += steps;\n currentOp += steps;\n\n // Call the callback with the progress (optionally stopping us)\n if (callback) {\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n arraycopy(XY, 0, B, Bi, Yi); // ROMix - 10\n\n // for (var i = 0; i < p; i++)...\n i0++;\n if (i0 < p) {\n state = 0;\n break;\n }\n\n b = [];\n for (let i = 0; i < B.length; i++) {\n b.push((B[i] >> 0) & 0xff);\n b.push((B[i] >> 8) & 0xff);\n b.push((B[i] >> 16) & 0xff);\n b.push((B[i] >> 24) & 0xff);\n }\n\n const derivedKey = PBKDF2_HMAC_SHA256_OneIter(password, b, dkLen);\n\n // Send the result to the callback\n if (callback) { callback(null, 1.0, derivedKey); }\n\n // Done; don't break (which would reschedule)\n return derivedKey;\n }\n\n // Schedule the next steps\n if (callback) { nextTick(incrementalSMix); }\n }\n\n // Run the smix state machine until completion\n if (!callback) {\n while (true) {\n const derivedKey = incrementalSMix();\n if (derivedKey != undefined) { return derivedKey; }\n }\n }\n\n // Bootstrap the async incremental smix\n incrementalSMix();\n }\n\n const lib = {\n scrypt: function(password, salt, N, r, p, dkLen, progressCallback) {\n return new Promise(function(resolve, reject) {\n let lastProgress = 0;\n if (progressCallback) { progressCallback(0); }\n _scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) {\n if (error) {\n reject(error);\n } else if (key) {\n if (progressCallback && lastProgress !== 1) {\n progressCallback(1);\n }\n resolve(new Uint8Array(key));\n } else if (progressCallback && progress !== lastProgress) {\n lastProgress = progress;\n return progressCallback(progress);\n }\n });\n });\n },\n syncScrypt: function(password, salt, N, r, p, dkLen) {\n return new Uint8Array(_scrypt(password, salt, N, r, p, dkLen));\n }\n };\n\n // node.js\n if (typeof(exports) !== 'undefined') {\n module.exports = lib;\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define(lib);\n\n // Web Browsers\n } else if (root) {\n\n // If there was an existing library \"scrypt\", make sure it is still available\n if (root.scrypt) {\n root._scrypt = root.scrypt;\n }\n\n root.scrypt = lib;\n }\n\n})(this);\n","module.exports = require('./lib')(require('./lib/elliptic'))\n","const EC = require('elliptic').ec\n\nconst ec = new EC('secp256k1')\nconst ecparams = ec.curve\n\n// Hack, we can not use bn.js@5, while elliptic uses bn.js@4\n// See https://github.com/indutny/elliptic/issues/191#issuecomment-569888758\nconst BN = ecparams.n.constructor\n\nfunction loadCompressedPublicKey (first, xbuf) {\n let x = new BN(xbuf)\n\n // overflow\n if (x.cmp(ecparams.p) >= 0) return null\n x = x.toRed(ecparams.red)\n\n // compute corresponding Y\n let y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt()\n if ((first === 0x03) !== y.isOdd()) y = y.redNeg()\n\n return ec.keyPair({ pub: { x: x, y: y } })\n}\n\nfunction loadUncompressedPublicKey (first, xbuf, ybuf) {\n let x = new BN(xbuf)\n let y = new BN(ybuf)\n\n // overflow\n if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null\n\n x = x.toRed(ecparams.red)\n y = y.toRed(ecparams.red)\n\n // is odd flag\n if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null\n\n // x*x*x + b = y*y\n const x3 = x.redSqr().redIMul(x)\n if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null\n\n return ec.keyPair({ pub: { x: x, y: y } })\n}\n\nfunction loadPublicKey (pubkey) {\n // length should be validated in interface\n const first = pubkey[0]\n switch (first) {\n case 0x02:\n case 0x03:\n if (pubkey.length !== 33) return null\n return loadCompressedPublicKey(first, pubkey.subarray(1, 33))\n case 0x04:\n case 0x06:\n case 0x07:\n if (pubkey.length !== 65) return null\n return loadUncompressedPublicKey(first, pubkey.subarray(1, 33), pubkey.subarray(33, 65))\n default:\n return null\n }\n}\n\nfunction savePublicKey (output, point) {\n const pubkey = point.encode(null, output.length === 33)\n // Loop should be faster because we do not need create extra Uint8Array\n // output.set(new Uint8Array(pubkey))\n for (let i = 0; i < output.length; ++i) output[i] = pubkey[i]\n}\n\nmodule.exports = {\n contextRandomize () {\n return 0\n },\n\n privateKeyVerify (seckey) {\n const bn = new BN(seckey)\n return bn.cmp(ecparams.n) < 0 && !bn.isZero() ? 0 : 1\n },\n\n privateKeyNegate (seckey) {\n const bn = new BN(seckey)\n const negate = ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Uint8Array, 'be', 32)\n seckey.set(negate)\n return 0\n },\n\n privateKeyTweakAdd (seckey, tweak) {\n const bn = new BN(tweak)\n if (bn.cmp(ecparams.n) >= 0) return 1\n\n bn.iadd(new BN(seckey))\n if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n)\n if (bn.isZero()) return 1\n\n const tweaked = bn.toArrayLike(Uint8Array, 'be', 32)\n seckey.set(tweaked)\n\n return 0\n },\n\n privateKeyTweakMul (seckey, tweak) {\n let bn = new BN(tweak)\n if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) return 1\n\n bn.imul(new BN(seckey))\n if (bn.cmp(ecparams.n) >= 0) bn = bn.umod(ecparams.n)\n\n const tweaked = bn.toArrayLike(Uint8Array, 'be', 32)\n seckey.set(tweaked)\n\n return 0\n },\n\n publicKeyVerify (pubkey) {\n const pair = loadPublicKey(pubkey)\n return pair === null ? 1 : 0\n },\n\n publicKeyCreate (output, seckey) {\n const bn = new BN(seckey)\n if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) return 1\n\n const point = ec.keyFromPrivate(seckey).getPublic()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyConvert (output, pubkey) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const point = pair.getPublic()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyNegate (output, pubkey) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const point = pair.getPublic()\n point.y = point.y.redNeg()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyCombine (output, pubkeys) {\n const pairs = new Array(pubkeys.length)\n for (let i = 0; i < pubkeys.length; ++i) {\n pairs[i] = loadPublicKey(pubkeys[i])\n if (pairs[i] === null) return 1\n }\n\n let point = pairs[0].getPublic()\n for (let i = 1; i < pairs.length; ++i) point = point.add(pairs[i].pub)\n if (point.isInfinity()) return 2\n\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyTweakAdd (output, pubkey, tweak) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n tweak = new BN(tweak)\n if (tweak.cmp(ecparams.n) >= 0) return 2\n\n const point = pair.getPublic().add(ecparams.g.mul(tweak))\n if (point.isInfinity()) return 2\n\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyTweakMul (output, pubkey, tweak) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n tweak = new BN(tweak)\n if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) return 2\n\n const point = pair.getPublic().mul(tweak)\n savePublicKey(output, point)\n\n return 0\n },\n\n signatureNormalize (sig) {\n const r = new BN(sig.subarray(0, 32))\n const s = new BN(sig.subarray(32, 64))\n if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) return 1\n\n if (s.cmp(ec.nh) === 1) {\n sig.set(ecparams.n.sub(s).toArrayLike(Uint8Array, 'be', 32), 32)\n }\n\n return 0\n },\n\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureExport (obj, sig) {\n const sigR = sig.subarray(0, 32)\n const sigS = sig.subarray(32, 64)\n if (new BN(sigR).cmp(ecparams.n) >= 0) return 1\n if (new BN(sigS).cmp(ecparams.n) >= 0) return 1\n\n const { output } = obj\n\n // Prepare R\n let r = output.subarray(4, 4 + 33)\n r[0] = 0x00\n r.set(sigR, 1)\n\n let lenR = 33\n let posR = 0\n for (; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR);\n\n r = r.subarray(posR)\n if (r[0] & 0x80) return 1\n if (lenR > 1 && (r[0] === 0x00) && !(r[1] & 0x80)) return 1\n\n // Prepare S\n let s = output.subarray(6 + 33, 6 + 33 + 33)\n s[0] = 0x00\n s.set(sigS, 1)\n\n let lenS = 33\n let posS = 0\n for (; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS);\n\n s = s.subarray(posS)\n if (s[0] & 0x80) return 1\n if (lenS > 1 && (s[0] === 0x00) && !(s[1] & 0x80)) return 1\n\n // Set output length for return\n obj.outputlen = 6 + lenR + lenS\n\n // Output in specified format\n // 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n output[0] = 0x30\n output[1] = obj.outputlen - 2\n output[2] = 0x02\n output[3] = r.length\n output.set(r, 4)\n output[4 + lenR] = 0x02\n output[5 + lenR] = s.length\n output.set(s, 6 + lenR)\n\n return 0\n },\n\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureImport (output, sig) {\n if (sig.length < 8) return 1\n if (sig.length > 72) return 1\n if (sig[0] !== 0x30) return 1\n if (sig[1] !== sig.length - 2) return 1\n if (sig[2] !== 0x02) return 1\n\n const lenR = sig[3]\n if (lenR === 0) return 1\n if (5 + lenR >= sig.length) return 1\n if (sig[4 + lenR] !== 0x02) return 1\n\n const lenS = sig[5 + lenR]\n if (lenS === 0) return 1\n if ((6 + lenR + lenS) !== sig.length) return 1\n\n if (sig[4] & 0x80) return 1\n if (lenR > 1 && (sig[4] === 0x00) && !(sig[5] & 0x80)) return 1\n\n if (sig[lenR + 6] & 0x80) return 1\n if (lenS > 1 && (sig[lenR + 6] === 0x00) && !(sig[lenR + 7] & 0x80)) return 1\n\n let sigR = sig.subarray(4, 4 + lenR)\n if (sigR.length === 33 && sigR[0] === 0x00) sigR = sigR.subarray(1)\n if (sigR.length > 32) return 1\n\n let sigS = sig.subarray(6 + lenR)\n if (sigS.length === 33 && sigS[0] === 0x00) sigS = sigS.slice(1)\n if (sigS.length > 32) throw new Error('S length is too long')\n\n let r = new BN(sigR)\n if (r.cmp(ecparams.n) >= 0) r = new BN(0)\n\n let s = new BN(sig.subarray(6 + lenR))\n if (s.cmp(ecparams.n) >= 0) s = new BN(0)\n\n output.set(r.toArrayLike(Uint8Array, 'be', 32), 0)\n output.set(s.toArrayLike(Uint8Array, 'be', 32), 32)\n\n return 0\n },\n\n ecdsaSign (obj, message, seckey, data, noncefn) {\n if (noncefn) {\n const _noncefn = noncefn\n noncefn = (counter) => {\n const nonce = _noncefn(message, seckey, null, data, counter)\n\n const isValid = nonce instanceof Uint8Array && nonce.length === 32\n if (!isValid) throw new Error('This is the way')\n\n return new BN(nonce)\n }\n }\n\n const d = new BN(seckey)\n if (d.cmp(ecparams.n) >= 0 || d.isZero()) return 1\n\n let sig\n try {\n sig = ec.sign(message, seckey, { canonical: true, k: noncefn, pers: data })\n } catch (err) {\n return 1\n }\n\n obj.signature.set(sig.r.toArrayLike(Uint8Array, 'be', 32), 0)\n obj.signature.set(sig.s.toArrayLike(Uint8Array, 'be', 32), 32)\n obj.recid = sig.recoveryParam\n\n return 0\n },\n\n ecdsaVerify (sig, msg32, pubkey) {\n const sigObj = { r: sig.subarray(0, 32), s: sig.subarray(32, 64) }\n\n const sigr = new BN(sigObj.r)\n const sigs = new BN(sigObj.s)\n if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) return 1\n if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return 3\n\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 2\n\n const point = pair.getPublic()\n const isValid = ec.verify(msg32, sigObj, point)\n return isValid ? 0 : 3\n },\n\n ecdsaRecover (output, sig, recid, msg32) {\n const sigObj = { r: sig.slice(0, 32), s: sig.slice(32, 64) }\n\n const sigr = new BN(sigObj.r)\n const sigs = new BN(sigObj.s)\n if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) return 1\n\n if (sigr.isZero() || sigs.isZero()) return 2\n\n // Can throw `throw new Error('Unable to find sencond key candinate');`\n let point\n try {\n point = ec.recoverPubKey(msg32, sigObj, recid)\n } catch (err) {\n return 2\n }\n\n savePublicKey(output, point)\n\n return 0\n },\n\n ecdh (output, pubkey, seckey, data, hashfn, xbuf, ybuf) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const scalar = new BN(seckey)\n if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) return 2\n\n const point = pair.getPublic().mul(scalar)\n\n if (hashfn === undefined) {\n const data = point.encode(null, true)\n const sha256 = ec.hash().update(data).digest()\n for (let i = 0; i < 32; ++i) output[i] = sha256[i]\n } else {\n if (!xbuf) xbuf = new Uint8Array(32)\n const x = point.getX().toArray('be', 32)\n for (let i = 0; i < 32; ++i) xbuf[i] = x[i]\n\n if (!ybuf) ybuf = new Uint8Array(32)\n const y = point.getY().toArray('be', 32)\n for (let i = 0; i < 32; ++i) ybuf[i] = y[i]\n\n const hash = hashfn(xbuf, ybuf, data)\n\n const isValid = hash instanceof Uint8Array && hash.length === output.length\n if (!isValid) return 2\n\n output.set(hash)\n }\n\n return 0\n }\n}\n","const errors = {\n IMPOSSIBLE_CASE: 'Impossible case. Please create issue.',\n TWEAK_ADD:\n 'The tweak was out of range or the resulted private key is invalid',\n TWEAK_MUL: 'The tweak was out of range or equal to zero',\n CONTEXT_RANDOMIZE_UNKNOW: 'Unknow error on context randomization',\n SECKEY_INVALID: 'Private Key is invalid',\n PUBKEY_PARSE: 'Public Key could not be parsed',\n PUBKEY_SERIALIZE: 'Public Key serialization error',\n PUBKEY_COMBINE: 'The sum of the public keys is not valid',\n SIG_PARSE: 'Signature could not be parsed',\n SIGN: 'The nonce generation function failed, or the private key was invalid',\n RECOVER: 'Public key could not be recover',\n ECDH: 'Scalar was invalid (zero or overflow)'\n}\n\nfunction assert (cond, msg) {\n if (!cond) throw new Error(msg)\n}\n\nfunction isUint8Array (name, value, length) {\n assert(value instanceof Uint8Array, `Expected ${name} to be an Uint8Array`)\n\n if (length !== undefined) {\n if (Array.isArray(length)) {\n const numbers = length.join(', ')\n const msg = `Expected ${name} to be an Uint8Array with length [${numbers}]`\n assert(length.includes(value.length), msg)\n } else {\n const msg = `Expected ${name} to be an Uint8Array with length ${length}`\n assert(value.length === length, msg)\n }\n }\n}\n\nfunction isCompressed (value) {\n assert(toTypeString(value) === 'Boolean', 'Expected compressed to be a Boolean')\n}\n\nfunction getAssertedOutput (output = (len) => new Uint8Array(len), length) {\n if (typeof output === 'function') output = output(length)\n isUint8Array('output', output, length)\n return output\n}\n\nfunction toTypeString (value) {\n return Object.prototype.toString.call(value).slice(8, -1)\n}\n\nmodule.exports = (secp256k1) => {\n return {\n contextRandomize (seed) {\n assert(\n seed === null || seed instanceof Uint8Array,\n 'Expected seed to be an Uint8Array or null'\n )\n if (seed !== null) isUint8Array('seed', seed, 32)\n\n switch (secp256k1.contextRandomize(seed)) {\n case 1:\n throw new Error(errors.CONTEXT_RANDOMIZE_UNKNOW)\n }\n },\n\n privateKeyVerify (seckey) {\n isUint8Array('private key', seckey, 32)\n\n return secp256k1.privateKeyVerify(seckey) === 0\n },\n\n privateKeyNegate (seckey) {\n isUint8Array('private key', seckey, 32)\n\n switch (secp256k1.privateKeyNegate(seckey)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n privateKeyTweakAdd (seckey, tweak) {\n isUint8Array('private key', seckey, 32)\n isUint8Array('tweak', tweak, 32)\n\n switch (secp256k1.privateKeyTweakAdd(seckey, tweak)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.TWEAK_ADD)\n }\n },\n\n privateKeyTweakMul (seckey, tweak) {\n isUint8Array('private key', seckey, 32)\n isUint8Array('tweak', tweak, 32)\n\n switch (secp256k1.privateKeyTweakMul(seckey, tweak)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.TWEAK_MUL)\n }\n },\n\n publicKeyVerify (pubkey) {\n isUint8Array('public key', pubkey, [33, 65])\n\n return secp256k1.publicKeyVerify(pubkey) === 0\n },\n\n publicKeyCreate (seckey, compressed = true, output) {\n isUint8Array('private key', seckey, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyCreate(output, seckey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SECKEY_INVALID)\n case 2:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyConvert (pubkey, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyConvert(output, pubkey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyNegate (pubkey, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyNegate(output, pubkey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n case 3:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyCombine (pubkeys, compressed = true, output) {\n assert(Array.isArray(pubkeys), 'Expected public keys to be an Array')\n assert(pubkeys.length > 0, 'Expected public keys array will have more than zero items')\n for (const pubkey of pubkeys) {\n isUint8Array('public key', pubkey, [33, 65])\n }\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyCombine(output, pubkeys)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_COMBINE)\n case 3:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyTweakAdd (pubkey, tweak, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('tweak', tweak, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyTweakAdd(output, pubkey, tweak)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.TWEAK_ADD)\n }\n },\n\n publicKeyTweakMul (pubkey, tweak, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('tweak', tweak, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyTweakMul(output, pubkey, tweak)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.TWEAK_MUL)\n }\n },\n\n signatureNormalize (sig) {\n isUint8Array('signature', sig, 64)\n\n switch (secp256k1.signatureNormalize(sig)) {\n case 0:\n return sig\n case 1:\n throw new Error(errors.SIG_PARSE)\n }\n },\n\n signatureExport (sig, output) {\n isUint8Array('signature', sig, 64)\n output = getAssertedOutput(output, 72)\n\n const obj = { output, outputlen: 72 }\n switch (secp256k1.signatureExport(obj, sig)) {\n case 0:\n return output.slice(0, obj.outputlen)\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n signatureImport (sig, output) {\n isUint8Array('signature', sig)\n output = getAssertedOutput(output, 64)\n\n switch (secp256k1.signatureImport(output, sig)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdsaSign (msg32, seckey, options = {}, output) {\n isUint8Array('message', msg32, 32)\n isUint8Array('private key', seckey, 32)\n assert(toTypeString(options) === 'Object', 'Expected options to be an Object')\n if (options.data !== undefined) isUint8Array('options.data', options.data)\n if (options.noncefn !== undefined) assert(toTypeString(options.noncefn) === 'Function', 'Expected options.noncefn to be a Function')\n output = getAssertedOutput(output, 64)\n\n const obj = { signature: output, recid: null }\n switch (secp256k1.ecdsaSign(obj, msg32, seckey, options.data, options.noncefn)) {\n case 0:\n return obj\n case 1:\n throw new Error(errors.SIGN)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdsaVerify (sig, msg32, pubkey) {\n isUint8Array('signature', sig, 64)\n isUint8Array('message', msg32, 32)\n isUint8Array('public key', pubkey, [33, 65])\n\n switch (secp256k1.ecdsaVerify(sig, msg32, pubkey)) {\n case 0:\n return true\n case 3:\n return false\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_PARSE)\n }\n },\n\n ecdsaRecover (sig, recid, msg32, compressed = true, output) {\n isUint8Array('signature', sig, 64)\n assert(\n toTypeString(recid) === 'Number' &&\n recid >= 0 &&\n recid <= 3,\n 'Expected recovery id to be a Number within interval [0, 3]'\n )\n isUint8Array('message', msg32, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.ecdsaRecover(output, sig, recid, msg32)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.RECOVER)\n case 3:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdh (pubkey, seckey, options = {}, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('private key', seckey, 32)\n assert(toTypeString(options) === 'Object', 'Expected options to be an Object')\n if (options.data !== undefined) isUint8Array('options.data', options.data)\n if (options.hashfn !== undefined) {\n assert(toTypeString(options.hashfn) === 'Function', 'Expected options.hashfn to be a Function')\n if (options.xbuf !== undefined) isUint8Array('options.xbuf', options.xbuf, 32)\n if (options.ybuf !== undefined) isUint8Array('options.ybuf', options.ybuf, 32)\n isUint8Array('output', output)\n } else {\n output = getAssertedOutput(output, 32)\n }\n\n switch (secp256k1.ecdh(output, pubkey, seckey, options.data, options.hashfn, options.xbuf, options.ybuf)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.ECDH)\n }\n }\n }\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","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","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.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\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\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}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.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\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\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}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\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 Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\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\n return H\n}\n\nmodule.exports = Sha224\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 SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\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\n return H\n}\n\nmodule.exports = Sha384\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","// 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/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.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","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]","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\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// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || 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 && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport('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\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\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 {\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 ' + Buffer.from(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\tself._socketTimeout = null\n\tself._socketTimer = 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\tif ('timeout' in opts && opts.timeout !== 0) {\n\t\tself.setTimeout(opts.timeout)\n\t}\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n body = new Blob(self._body, {\n type: (headersObj['content-type'] || {}).value || ''\n });\n }\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\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._resetTimers(false)\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tself._resetTimers(true)\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\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._resetTimers(true)\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\tself._resetTimers(false)\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(self._resetTimers.bind(self))\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._resetTimers.bind(self))\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._resetTimers = function (done) {\n\tvar self = this\n\n\tglobal.clearTimeout(self._socketTimer)\n\tself._socketTimer = null\n\n\tif (done) {\n\t\tglobal.clearTimeout(self._fetchTimer)\n\t\tself._fetchTimer = null\n\t} else if (self._socketTimeout) {\n\t\tself._socketTimer = global.setTimeout(function () {\n\t\t\tself.emit('timeout')\n\t\t}, self._socketTimeout)\n\t}\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) {\n\tvar self = this\n\tself._destroyed = true\n\tself._resetTimers(true)\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\tif (err)\n\t\tself.emit('error', err)\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.setTimeout = function (timeout, cb) {\n\tvar self = this\n\n\tif (cb)\n\t\tself.once('timeout', cb)\n\n\tself._socketTimeout = timeout\n\tself._resetTimers(false)\n}\n\nClientRequest.prototype.flushHeaders = 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","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, resetTimers) {\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\tresetTimers(false)\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(Buffer.from(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\tresetTimers(true)\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\tresetTimers(true)\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\tresetTimers(true)\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\tresetTimers(result.done)\n\t\t\t\tif (result.done) {\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(Buffer.from(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tresetTimers(true)\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 (resetTimers) {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text':\n\t\t\tresponse = xhr.responseText\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 = Buffer.alloc(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(Buffer.from(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(Buffer.from(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(Buffer.from(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\tresetTimers(true)\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\tresetTimers(true)\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 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}","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","var unavailable = function unavailable() {\n throw \"This swarm.js function isn't available on the browser.\";\n};\n\nvar fs = {\n readFile: unavailable\n};\nvar files = {\n download: unavailable,\n safeDownloadArchived: unavailable,\n directoryTree: unavailable\n};\nvar os = {\n platform: unavailable,\n arch: unavailable\n};\nvar path = {\n join: unavailable,\n slice: unavailable\n};\nvar child_process = {\n spawn: unavailable\n};\nvar mimetype = {\n lookup: unavailable\n};\nvar defaultArchives = {};\nvar downloadUrl = null;\n\nvar request = require(\"xhr-request\");\n\nvar bytes = require(\"eth-lib/lib/bytes\");\n\nvar hash = require(\"./swarm-hash.js\");\n\nvar pick = require(\"./pick.js\");\n\nvar swarm = require(\"./swarm\");\n\nmodule.exports = swarm({\n fs: fs,\n files: files,\n os: os,\n path: path,\n child_process: child_process,\n defaultArchives: defaultArchives,\n mimetype: mimetype,\n request: request,\n downloadUrl: downloadUrl,\n bytes: bytes,\n hash: hash,\n pick: pick\n});","var picker = function picker(type) {\n return function () {\n return new Promise(function (resolve, reject) {\n var fileLoader = function fileLoader(e) {\n var directory = {};\n var totalFiles = e.target.files.length;\n var loadedFiles = 0;\n [].map.call(e.target.files, function (file) {\n var reader = new FileReader();\n\n reader.onload = function (e) {\n var data = new Uint8Array(e.target.result);\n\n if (type === \"directory\") {\n var path = file.webkitRelativePath;\n directory[path.slice(path.indexOf(\"/\") + 1)] = {\n type: \"text/plain\",\n data: data\n };\n if (++loadedFiles === totalFiles) resolve(directory);\n } else if (type === \"file\") {\n var _path = file.webkitRelativePath;\n resolve({\n \"type\": mimetype.lookup(_path),\n \"data\": data\n });\n } else {\n resolve(data);\n }\n };\n\n reader.readAsArrayBuffer(file);\n });\n };\n\n var fileInput;\n\n if (type === \"directory\") {\n fileInput = document.createElement(\"input\");\n fileInput.addEventListener(\"change\", fileLoader);\n fileInput.type = \"file\";\n fileInput.webkitdirectory = true;\n fileInput.mozdirectory = true;\n fileInput.msdirectory = true;\n fileInput.odirectory = true;\n fileInput.directory = true;\n } else {\n fileInput = document.createElement(\"input\");\n fileInput.addEventListener(\"change\", fileLoader);\n fileInput.type = \"file\";\n }\n\n ;\n var mouseEvent = document.createEvent(\"MouseEvents\");\n mouseEvent.initEvent(\"click\", true, false);\n fileInput.dispatchEvent(mouseEvent);\n });\n };\n};\n\nmodule.exports = {\n data: picker(\"data\"),\n file: picker(\"file\"),\n directory: picker(\"directory\")\n};","// Thanks https://github.com/axic/swarmhash\nvar keccak = require(\"eth-lib/lib/hash\").keccak256;\n\nvar Bytes = require(\"eth-lib/lib/bytes\");\n\nvar swarmHashBlock = function swarmHashBlock(length, data) {\n var lengthEncoded = Bytes.reverse(Bytes.pad(6, Bytes.fromNumber(length)));\n var bytes = Bytes.flatten([lengthEncoded, \"0x0000\", data]);\n return keccak(bytes).slice(2);\n}; // (Bytes | Uint8Array | String) -> String\n\n\nvar swarmHash = function swarmHash(data) {\n if (typeof data === \"string\" && data.slice(0, 2) !== \"0x\") {\n data = Bytes.fromString(data);\n } else if (typeof data !== \"string\" && data.length !== undefined) {\n data = Bytes.fromUint8Array(data);\n }\n\n var length = Bytes.length(data);\n\n if (length <= 4096) {\n return swarmHashBlock(length, data);\n }\n\n var maxSize = 4096;\n\n while (maxSize * (4096 / 32) < length) {\n maxSize *= 4096 / 32;\n }\n\n var innerNodes = [];\n\n for (var i = 0; i < length; i += maxSize) {\n var size = maxSize < length - i ? maxSize : length - i;\n innerNodes.push(swarmHash(Bytes.slice(data, i, i + size)));\n }\n\n return swarmHashBlock(length, Bytes.flatten(innerNodes));\n};\n\nmodule.exports = swarmHash;","// TODO: this is a temporary fix to hide those libraries from the browser. A\n// slightly better long-term solution would be to split this file into two,\n// separating the functions that are used on Node.js from the functions that\n// are used only on the browser.\nmodule.exports = function (_ref) {\n var fs = _ref.fs,\n files = _ref.files,\n os = _ref.os,\n path = _ref.path,\n child_process = _ref.child_process,\n mimetype = _ref.mimetype,\n defaultArchives = _ref.defaultArchives,\n request = _ref.request,\n downloadUrl = _ref.downloadUrl,\n bytes = _ref.bytes,\n hash = _ref.hash,\n pick = _ref.pick;\n\n // ∀ a . String -> JSON -> Map String a -o Map String a\n // Inserts a key/val pair in an object impurely.\n var impureInsert = function impureInsert(key) {\n return function (val) {\n return function (map) {\n return map[key] = val, map;\n };\n };\n }; // String -> JSON -> Map String JSON\n // Merges an array of keys and an array of vals into an object.\n\n\n var toMap = function toMap(keys) {\n return function (vals) {\n var map = {};\n\n for (var i = 0, l = keys.length; i < l; ++i) {\n map[keys[i]] = vals[i];\n }\n\n return map;\n };\n }; // ∀ a . Map String a -> Map String a -> Map String a\n // Merges two maps into one.\n\n\n var merge = function merge(a) {\n return function (b) {\n var map = {};\n\n for (var key in a) {\n map[key] = a[key];\n }\n\n for (var _key in b) {\n map[_key] = b[_key];\n }\n\n return map;\n };\n }; // ∀ a . [a] -> [a] -> Bool\n\n\n var equals = function equals(a) {\n return function (b) {\n if (a.length !== b.length) {\n return false;\n } else {\n for (var i = 0, l = a.length; i < l; ++i) {\n if (a[i] !== b[i]) return false;\n }\n }\n\n return true;\n };\n }; // String -> String -> String\n\n\n var rawUrl = function rawUrl(swarmUrl) {\n return function (hash) {\n return \"\".concat(swarmUrl, \"/bzz-raw:/\").concat(hash);\n };\n }; // String -> String -> Promise Uint8Array\n // Gets the raw contents of a Swarm hash address.\n\n\n var downloadData = function downloadData(swarmUrl) {\n return function (hash) {\n return new Promise(function (resolve, reject) {\n request(rawUrl(swarmUrl)(hash), {\n responseType: \"arraybuffer\"\n }, function (err, arrayBuffer, response) {\n if (err) {\n return reject(err);\n }\n\n if (response.statusCode >= 400) {\n return reject(new Error(\"Error \".concat(response.statusCode, \".\")));\n }\n\n return resolve(new Uint8Array(arrayBuffer));\n });\n });\n };\n }; // type Entry = {\"type\": String, \"hash\": String}\n // type File = {\"type\": String, \"data\": Uint8Array}\n // String -> String -> Promise (Map String Entry)\n // Solves the manifest of a Swarm address recursively.\n // Returns a map from full paths to entries.\n\n\n var downloadEntries = function downloadEntries(swarmUrl) {\n return function (hash) {\n var search = function search(hash) {\n return function (path) {\n return function (routes) {\n // Formats an entry to the Swarm.js type.\n var format = function format(entry) {\n return {\n type: entry.contentType,\n hash: entry.hash\n };\n }; // To download a single entry:\n // if type is bzz-manifest, go deeper\n // if not, add it to the routing table\n\n\n var downloadEntry = function downloadEntry(entry) {\n if (entry.path === undefined) {\n return Promise.resolve();\n } else {\n return entry.contentType === \"application/bzz-manifest+json\" ? search(entry.hash)(path + entry.path)(routes) : Promise.resolve(impureInsert(path + entry.path)(format(entry))(routes));\n }\n }; // Downloads the initial manifest and then each entry.\n\n\n return downloadData(swarmUrl)(hash).then(function (text) {\n return JSON.parse(toString(text)).entries;\n }).then(function (entries) {\n return Promise.all(entries.map(downloadEntry));\n }).then(function () {\n return routes;\n });\n };\n };\n };\n\n return search(hash)(\"\")({});\n };\n }; // String -> String -> Promise (Map String String)\n // Same as `downloadEntries`, but returns only hashes (no types).\n\n\n var downloadRoutes = function downloadRoutes(swarmUrl) {\n return function (hash) {\n return downloadEntries(swarmUrl)(hash).then(function (entries) {\n return toMap(Object.keys(entries))(Object.keys(entries).map(function (route) {\n return entries[route].hash;\n }));\n });\n };\n }; // String -> String -> Promise (Map String File)\n // Gets the entire directory tree in a Swarm address.\n // Returns a promise mapping paths to file contents.\n\n\n var downloadDirectory = function downloadDirectory(swarmUrl) {\n return function (hash) {\n return downloadEntries(swarmUrl)(hash).then(function (entries) {\n var paths = Object.keys(entries);\n var hashs = paths.map(function (path) {\n return entries[path].hash;\n });\n var types = paths.map(function (path) {\n return entries[path].type;\n });\n var datas = hashs.map(downloadData(swarmUrl));\n\n var files = function files(datas) {\n return datas.map(function (data, i) {\n return {\n type: types[i],\n data: data\n };\n });\n };\n\n return Promise.all(datas).then(function (datas) {\n return toMap(paths)(files(datas));\n });\n });\n };\n }; // String -> String -> String -> Promise String\n // Gets the raw contents of a Swarm hash address.\n // Returns a promise with the downloaded file path.\n\n\n var downloadDataToDisk = function downloadDataToDisk(swarmUrl) {\n return function (hash) {\n return function (filePath) {\n return files.download(rawUrl(swarmUrl)(hash))(filePath);\n };\n };\n }; // String -> String -> String -> Promise (Map String String)\n // Gets the entire directory tree in a Swarm address.\n // Returns a promise mapping paths to file contents.\n\n\n var downloadDirectoryToDisk = function downloadDirectoryToDisk(swarmUrl) {\n return function (hash) {\n return function (dirPath) {\n return downloadRoutes(swarmUrl)(hash).then(function (routingTable) {\n var downloads = [];\n\n for (var route in routingTable) {\n if (route.length > 0) {\n var filePath = path.join(dirPath, route);\n downloads.push(downloadDataToDisk(swarmUrl)(routingTable[route])(filePath));\n }\n\n ;\n }\n\n ;\n return Promise.all(downloads).then(function () {\n return dirPath;\n });\n });\n };\n };\n }; // String -> Uint8Array -> Promise String\n // Uploads raw data to Swarm.\n // Returns a promise with the uploaded hash.\n\n\n var uploadData = function uploadData(swarmUrl) {\n return function (data) {\n return new Promise(function (resolve, reject) {\n var params = {\n body: typeof data === \"string\" ? fromString(data) : data,\n method: \"POST\"\n };\n request(\"\".concat(swarmUrl, \"/bzz-raw:/\"), params, function (err, data) {\n if (err) {\n return reject(err);\n }\n\n return resolve(data);\n });\n });\n };\n }; // String -> String -> String -> File -> Promise String\n // Uploads a file to the Swarm manifest at a given hash, under a specific\n // route. Returns a promise containing the uploaded hash.\n // FIXME: for some reasons Swarm-Gateways is sometimes returning\n // error 404 (bad request), so we retry up to 3 times. Why?\n\n\n var uploadToManifest = function uploadToManifest(swarmUrl) {\n return function (hash) {\n return function (route) {\n return function (file) {\n var attempt = function attempt(n) {\n var slashRoute = route[0] === \"/\" ? route : \"/\" + route;\n var url = \"\".concat(swarmUrl, \"/bzz:/\").concat(hash).concat(slashRoute);\n var opt = {\n method: \"PUT\",\n headers: {\n \"Content-Type\": file.type\n },\n body: file.data\n };\n return new Promise(function (resolve, reject) {\n request(url, opt, function (err, data) {\n if (err) {\n return reject(err);\n }\n\n if (data.indexOf(\"error\") !== -1) {\n return reject(data);\n }\n\n return resolve(data);\n });\n })[\"catch\"](function (e) {\n return n > 0 && attempt(n - 1);\n });\n };\n\n return attempt(3);\n };\n };\n };\n }; // String -> {type: String, data: Uint8Array} -> Promise String\n\n\n var uploadFile = function uploadFile(swarmUrl) {\n return function (file) {\n return uploadDirectory(swarmUrl)({\n \"\": file\n });\n };\n }; // String -> String -> Promise String\n\n\n var uploadFileFromDisk = function uploadFileFromDisk(swarmUrl) {\n return function (filePath) {\n return fs.readFile(filePath).then(function (data) {\n return uploadFile(swarmUrl)({\n type: mimetype.lookup(filePath),\n data: data\n });\n });\n };\n }; // String -> Map String File -> Promise String\n // Uploads a directory to Swarm. The directory is\n // represented as a map of routes and files.\n // A default path is encoded by having a \"\" route.\n\n\n var uploadDirectory = function uploadDirectory(swarmUrl) {\n return function (directory) {\n return uploadData(swarmUrl)(\"{}\").then(function (hash) {\n var uploadRoute = function uploadRoute(route) {\n return function (hash) {\n return uploadToManifest(swarmUrl)(hash)(route)(directory[route]);\n };\n };\n\n var uploadToHash = function uploadToHash(hash, route) {\n return hash.then(uploadRoute(route));\n };\n\n return Object.keys(directory).reduce(uploadToHash, Promise.resolve(hash));\n });\n };\n }; // String -> Promise String\n\n\n var uploadDataFromDisk = function uploadDataFromDisk(swarmUrl) {\n return function (filePath) {\n return fs.readFile(filePath).then(uploadData(swarmUrl));\n };\n }; // String -> Nullable String -> String -> Promise String\n\n\n var uploadDirectoryFromDisk = function uploadDirectoryFromDisk(swarmUrl) {\n return function (defaultPath) {\n return function (dirPath) {\n return files.directoryTree(dirPath).then(function (fullPaths) {\n return Promise.all(fullPaths.map(function (path) {\n return fs.readFile(path);\n })).then(function (datas) {\n var paths = fullPaths.map(function (path) {\n return path.slice(dirPath.length);\n });\n var types = fullPaths.map(function (path) {\n return mimetype.lookup(path) || \"text/plain\";\n });\n return toMap(paths)(datas.map(function (data, i) {\n return {\n type: types[i],\n data: data\n };\n }));\n });\n }).then(function (directory) {\n return merge(defaultPath ? {\n \"\": directory[defaultPath]\n } : {})(directory);\n }).then(uploadDirectory(swarmUrl));\n };\n };\n }; // String -> UploadInfo -> Promise String\n // Simplified multi-type upload which calls the correct\n // one based on the type of the argument given.\n\n\n var _upload = function upload(swarmUrl) {\n return function (arg) {\n // Upload raw data from browser\n if (arg.pick === \"data\") {\n return pick.data().then(uploadData(swarmUrl)); // Upload a file from browser\n } else if (arg.pick === \"file\") {\n return pick.file().then(uploadFile(swarmUrl)); // Upload a directory from browser\n } else if (arg.pick === \"directory\") {\n return pick.directory().then(uploadDirectory(swarmUrl)); // Upload directory/file from disk\n } else if (arg.path) {\n switch (arg.kind) {\n case \"data\":\n return uploadDataFromDisk(swarmUrl)(arg.path);\n\n case \"file\":\n return uploadFileFromDisk(swarmUrl)(arg.path);\n\n case \"directory\":\n return uploadDirectoryFromDisk(swarmUrl)(arg.defaultFile)(arg.path);\n }\n\n ; // Upload UTF-8 string or raw data (buffer)\n } else if (arg.length || typeof arg === \"string\") {\n return uploadData(swarmUrl)(arg); // Upload directory with JSON\n } else if (arg instanceof Object) {\n return uploadDirectory(swarmUrl)(arg);\n }\n\n return Promise.reject(new Error(\"Bad arguments\"));\n };\n }; // String -> String -> Nullable String -> Promise (String | Uint8Array | Map String Uint8Array)\n // Simplified multi-type download which calls the correct function based on\n // the type of the argument given, and on whether the Swwarm address has a\n // directory or a file.\n\n\n var _download = function download(swarmUrl) {\n return function (hash) {\n return function (path) {\n return isDirectory(swarmUrl)(hash).then(function (isDir) {\n if (isDir) {\n return path ? downloadDirectoryToDisk(swarmUrl)(hash)(path) : downloadDirectory(swarmUrl)(hash);\n } else {\n return path ? downloadDataToDisk(swarmUrl)(hash)(path) : downloadData(swarmUrl)(hash);\n }\n });\n };\n };\n }; // String -> Promise String\n // Downloads the Swarm binaries into a path. Returns a promise that only\n // resolves when the exact Swarm file is there, and verified to be correct.\n // If it was already there to begin with, skips the download.\n\n\n var downloadBinary = function downloadBinary(path, archives) {\n var system = os.platform().replace(\"win32\", \"windows\") + \"-\" + (os.arch() === \"x64\" ? \"amd64\" : \"386\");\n var archive = (archives || defaultArchives)[system];\n var archiveUrl = downloadUrl + archive.archive + \".tar.gz\";\n var archiveMD5 = archive.archiveMD5;\n var binaryMD5 = archive.binaryMD5;\n return files.safeDownloadArchived(archiveUrl)(archiveMD5)(binaryMD5)(path);\n }; // type SwarmSetup = {\n // account : String,\n // password : String,\n // dataDir : String,\n // binPath : String,\n // ensApi : String,\n // onDownloadProgress : Number ~> (),\n // archives : [{\n // archive: String,\n // binaryMD5: String,\n // archiveMD5: String\n // }]\n // }\n // SwarmSetup ~> Promise Process\n // Starts the Swarm process.\n\n\n var startProcess = function startProcess(swarmSetup) {\n return new Promise(function (resolve, reject) {\n var spawn = child_process.spawn;\n\n var hasString = function hasString(str) {\n return function (buffer) {\n return ('' + buffer).indexOf(str) !== -1;\n };\n };\n\n var account = swarmSetup.account,\n password = swarmSetup.password,\n dataDir = swarmSetup.dataDir,\n ensApi = swarmSetup.ensApi,\n privateKey = swarmSetup.privateKey;\n var STARTUP_TIMEOUT_SECS = 3;\n var WAITING_PASSWORD = 0;\n var STARTING = 1;\n var LISTENING = 2;\n var PASSWORD_PROMPT_HOOK = \"Passphrase\";\n var LISTENING_HOOK = \"Swarm http proxy started\";\n var state = WAITING_PASSWORD;\n var swarmProcess = spawn(swarmSetup.binPath, ['--bzzaccount', account || privateKey, '--datadir', dataDir, '--ens-api', ensApi]);\n\n var handleProcessOutput = function handleProcessOutput(data) {\n if (state === WAITING_PASSWORD && hasString(PASSWORD_PROMPT_HOOK)(data)) {\n setTimeout(function () {\n state = STARTING;\n swarmProcess.stdin.write(password + '\\n');\n }, 500);\n } else if (hasString(LISTENING_HOOK)(data)) {\n state = LISTENING;\n clearTimeout(timeout);\n resolve(swarmProcess);\n }\n };\n\n swarmProcess.stdout.on('data', handleProcessOutput);\n swarmProcess.stderr.on('data', handleProcessOutput); //swarmProcess.on('close', () => setTimeout(restart, 2000));\n\n var restart = function restart() {\n return startProcess(swarmSetup).then(resolve)[\"catch\"](reject);\n };\n\n var error = function error() {\n return reject(new Error(\"Couldn't start swarm process.\"));\n };\n\n var timeout = setTimeout(error, 20000);\n });\n }; // Process ~> Promise ()\n // Stops the Swarm process.\n\n\n var stopProcess = function stopProcess(process) {\n return new Promise(function (resolve, reject) {\n process.stderr.removeAllListeners('data');\n process.stdout.removeAllListeners('data');\n process.stdin.removeAllListeners('error');\n process.removeAllListeners('error');\n process.removeAllListeners('exit');\n process.kill('SIGINT');\n var killTimeout = setTimeout(function () {\n return process.kill('SIGKILL');\n }, 8000);\n process.once('close', function () {\n clearTimeout(killTimeout);\n resolve();\n });\n });\n }; // SwarmSetup -> (SwarmAPI -> Promise ()) -> Promise ()\n // Receives a Swarm configuration object and a callback function. It then\n // checks if a local Swarm node is running. If no local Swarm is found, it\n // downloads the Swarm binaries to the dataDir (if not there), checksums,\n // starts the Swarm process and calls the callback function with an API\n // object using the local node. That callback must return a promise which\n // will resolve when it is done using the API, so that this function can\n // close the Swarm process properly. Returns a promise that resolves when the\n // user is done with the API and the Swarm process is closed.\n // TODO: check if Swarm process is already running (improve `isAvailable`)\n\n\n var local = function local(swarmSetup) {\n return function (useAPI) {\n return _isAvailable(\"http://localhost:8500\").then(function (isAvailable) {\n return isAvailable ? useAPI(at(\"http://localhost:8500\")).then(function () {}) : downloadBinary(swarmSetup.binPath, swarmSetup.archives).onData(function (data) {\n return (swarmSetup.onProgress || function () {})(data.length);\n }).then(function () {\n return startProcess(swarmSetup);\n }).then(function (process) {\n return useAPI(at(\"http://localhost:8500\")).then(function () {\n return process;\n });\n }).then(stopProcess);\n });\n };\n }; // String ~> Promise Bool\n // Returns true if Swarm is available on `url`.\n // Perfoms a test upload to determine that.\n // TODO: improve this?\n\n\n var _isAvailable = function isAvailable(swarmUrl) {\n var testFile = \"test\";\n var testHash = \"c9a99c7d326dcc6316f32fe2625b311f6dc49a175e6877681ded93137d3569e7\";\n return uploadData(swarmUrl)(testFile).then(function (hash) {\n return hash === testHash;\n })[\"catch\"](function () {\n return false;\n });\n }; // String -> String ~> Promise Bool\n // Returns a Promise which is true if that Swarm address is a directory.\n // Determines that by checking that it (i) is a JSON, (ii) has a .entries.\n // TODO: improve this?\n\n\n var isDirectory = function isDirectory(swarmUrl) {\n return function (hash) {\n return downloadData(swarmUrl)(hash).then(function (data) {\n try {\n return !!JSON.parse(toString(data)).entries;\n } catch (e) {\n return false;\n }\n });\n };\n }; // Uncurries a function; used to allow the f(x,y,z) style on exports.\n\n\n var uncurry = function uncurry(f) {\n return function (a, b, c, d, e) {\n var p; // Hardcoded because efficiency (`arguments` is very slow).\n\n if (typeof a !== \"undefined\") p = f(a);\n if (typeof b !== \"undefined\") p = f(b);\n if (typeof c !== \"undefined\") p = f(c);\n if (typeof d !== \"undefined\") p = f(d);\n if (typeof e !== \"undefined\") p = f(e);\n return p;\n };\n }; // () -> Promise Bool\n // Not sure how to mock Swarm to test it properly. Ideas?\n\n\n var test = function test() {\n return Promise.resolve(true);\n }; // Uint8Array -> String\n\n\n var toString = function toString(uint8Array) {\n return bytes.toString(bytes.fromUint8Array(uint8Array));\n }; // String -> Uint8Array\n\n\n var fromString = function fromString(string) {\n return bytes.toUint8Array(bytes.fromString(string));\n }; // String -> SwarmAPI\n // Fixes the `swarmUrl`, returning an API where you don't have to pass it.\n\n\n var at = function at(swarmUrl) {\n return {\n download: function download(hash, path) {\n return _download(swarmUrl)(hash)(path);\n },\n downloadData: uncurry(downloadData(swarmUrl)),\n downloadDataToDisk: uncurry(downloadDataToDisk(swarmUrl)),\n downloadDirectory: uncurry(downloadDirectory(swarmUrl)),\n downloadDirectoryToDisk: uncurry(downloadDirectoryToDisk(swarmUrl)),\n downloadEntries: uncurry(downloadEntries(swarmUrl)),\n downloadRoutes: uncurry(downloadRoutes(swarmUrl)),\n isAvailable: function isAvailable() {\n return _isAvailable(swarmUrl);\n },\n upload: function upload(arg) {\n return _upload(swarmUrl)(arg);\n },\n uploadData: uncurry(uploadData(swarmUrl)),\n uploadFile: uncurry(uploadFile(swarmUrl)),\n uploadFileFromDisk: uncurry(uploadFile(swarmUrl)),\n uploadDataFromDisk: uncurry(uploadDataFromDisk(swarmUrl)),\n uploadDirectory: uncurry(uploadDirectory(swarmUrl)),\n uploadDirectoryFromDisk: uncurry(uploadDirectoryFromDisk(swarmUrl)),\n uploadToManifest: uncurry(uploadToManifest(swarmUrl)),\n pick: pick,\n hash: hash,\n fromString: fromString,\n toString: toString\n };\n };\n\n return {\n at: at,\n local: local,\n download: _download,\n downloadBinary: downloadBinary,\n downloadData: downloadData,\n downloadDataToDisk: downloadDataToDisk,\n downloadDirectory: downloadDirectory,\n downloadDirectoryToDisk: downloadDirectoryToDisk,\n downloadEntries: downloadEntries,\n downloadRoutes: downloadRoutes,\n isAvailable: _isAvailable,\n startProcess: startProcess,\n stopProcess: stopProcess,\n upload: _upload,\n uploadData: uploadData,\n uploadDataFromDisk: uploadDataFromDisk,\n uploadFile: uploadFile,\n uploadFileFromDisk: uploadFileFromDisk,\n uploadDirectory: uploadDirectory,\n uploadDirectoryFromDisk: uploadDirectoryFromDisk,\n uploadToManifest: uploadToManifest,\n pick: pick,\n hash: hash,\n fromString: fromString,\n toString: toString\n };\n};","var generate = function generate(num, fn) {\n var a = [];\n for (var i = 0; i < num; ++i) {\n a.push(fn(i));\n }return a;\n};\n\nvar replicate = function replicate(num, val) {\n return generate(num, function () {\n return val;\n });\n};\n\nvar concat = function concat(a, b) {\n return a.concat(b);\n};\n\nvar flatten = function flatten(a) {\n var r = [];\n for (var j = 0, J = a.length; j < J; ++j) {\n for (var i = 0, I = a[j].length; i < I; ++i) {\n r.push(a[j][i]);\n }\n }return r;\n};\n\nvar chunksOf = function chunksOf(n, a) {\n var b = [];\n for (var i = 0, l = a.length; i < l; i += n) {\n b.push(a.slice(i, i + n));\n }return b;\n};\n\nmodule.exports = {\n generate: generate,\n replicate: replicate,\n concat: concat,\n flatten: flatten,\n chunksOf: chunksOf\n};","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};","// 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\nvar HEX_CHARS = '0123456789abcdef'.split('');\nvar KECCAK_PADDING = [1, 256, 65536, 16777216];\nvar SHIFT = [0, 8, 16, 24];\nvar 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\nvar Keccak = function Keccak(bits) {\n return {\n blocks: [],\n reset: true,\n block: 0,\n start: 0,\n blockCount: 1600 - (bits << 1) >> 5,\n outputBlocks: bits >> 5,\n s: function (s) {\n return [].concat(s, s, s, s, s);\n }([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n };\n};\n\nvar update = function 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\nvar f = function 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\nvar keccak = function keccak(bits) {\n return function (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) {\n msg.push(parseInt(str.slice(i, i + 2), 16));\n }\n } else {\n msg = str;\n }\n return update(Keccak(bits, bits), msg);\n };\n};\n\nmodule.exports = {\n keccak256: keccak(256),\n keccak512: keccak(512),\n keccak256s: keccak(256),\n keccak512s: keccak(512)\n};","module.exports = urlSetQuery\nfunction urlSetQuery (url, query) {\n if (query) {\n // remove optional leading symbols\n query = query.trim().replace(/^(\\?|#|&)/, '')\n\n // don't append empty query\n query = query ? ('?' + query) : query\n\n var parts = url.split(/[\\?\\#]/)\n var start = parts[0]\n if (query && /\\:\\/\\/[^\\/]*$/.test(start)) {\n // e.g. http://foo.com -> http://foo.com/\n start = start + '/'\n }\n var match = url.match(/(\\#.*)$/)\n url = start + query\n if (match) { // add hash back in\n url = url + match[0]\n }\n }\n return url\n}\n","/*! https://mths.be/punycode v1.3.2 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 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 * http://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.3.2',\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) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // 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 { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\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 (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\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 Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(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","'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\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","'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","/*! 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","\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","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}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\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\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 debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\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').slice(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.slice(1, -1);\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()`.\nexports.types = require('./support/types');\n\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;\nexports.types.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;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = 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.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, 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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","module.exports = read\n\nvar MSB = 0x80\n , REST = 0x7F\n\nfunction read(buf, offset) {\n var res = 0\n , offset = offset || 0\n , shift = 0\n , counter = offset\n , b\n , l = buf.length\n\n do {\n if (counter >= l) {\n read.bytes = 0\n throw new RangeError('Could not decode varint')\n }\n b = buf[counter++]\n res += shift < 28\n ? (b & REST) << shift\n : (b & REST) * Math.pow(2, shift)\n shift += 7\n } while (b >= MSB)\n\n read.bytes = counter - offset\n\n return res\n}\n","module.exports = encode\n\nvar MSB = 0x80\n , REST = 0x7F\n , MSBALL = ~REST\n , INT = Math.pow(2, 31)\n\nfunction encode(num, out, offset) {\n out = out || []\n offset = offset || 0\n var oldOffset = offset\n\n while(num >= INT) {\n out[offset++] = (num & 0xFF) | MSB\n num /= 128\n }\n while(num & MSBALL) {\n out[offset++] = (num & 0xFF) | MSB\n num >>>= 7\n }\n out[offset] = num | 0\n \n encode.bytes = offset - oldOffset + 1\n \n return out\n}\n","module.exports = {\n encode: require('./encode.js')\n , decode: require('./decode.js')\n , encodingLength: require('./length.js')\n}\n","\nvar N1 = Math.pow(2, 7)\nvar N2 = Math.pow(2, 14)\nvar N3 = Math.pow(2, 21)\nvar N4 = Math.pow(2, 28)\nvar N5 = Math.pow(2, 35)\nvar N6 = Math.pow(2, 42)\nvar N7 = Math.pow(2, 49)\nvar N8 = Math.pow(2, 56)\nvar N9 = Math.pow(2, 63)\n\nmodule.exports = function (value) {\n return (\n value < N1 ? 1\n : value < N2 ? 2\n : value < N3 ? 3\n : value < N4 ? 4\n : value < N5 ? 5\n : value < N6 ? 6\n : value < N7 ? 7\n : value < N8 ? 8\n : value < N9 ? 9\n : 10\n )\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","module.exports = require('../package.json').version;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","var queryString = require('query-string')\nvar setQuery = require('url-set-query')\nvar assign = require('object-assign')\nvar ensureHeader = require('./lib/ensure-header.js')\n\n// this is replaced in the browser\nvar request = require('./lib/request.js')\n\nvar mimeTypeJson = 'application/json'\nvar noop = function () {}\n\nmodule.exports = xhrRequest\nfunction xhrRequest (url, opt, cb) {\n if (!url || typeof url !== 'string') {\n throw new TypeError('must specify a URL')\n }\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (cb && typeof cb !== 'function') {\n throw new TypeError('expected cb to be undefined or a function')\n }\n\n cb = cb || noop\n opt = opt || {}\n\n var defaultResponse = opt.json ? 'json' : 'text'\n opt = assign({ responseType: defaultResponse }, opt)\n\n var headers = opt.headers || {}\n var method = (opt.method || 'GET').toUpperCase()\n var query = opt.query\n if (query) {\n if (typeof query !== 'string') {\n query = queryString.stringify(query)\n }\n url = setQuery(url, query)\n }\n\n // allow json response\n if (opt.responseType === 'json') {\n ensureHeader(headers, 'Accept', mimeTypeJson)\n }\n\n // if body content is json\n if (opt.json && method !== 'GET' && method !== 'HEAD') {\n ensureHeader(headers, 'Content-Type', mimeTypeJson)\n opt.body = JSON.stringify(opt.body)\n }\n\n opt.method = method\n opt.url = url\n opt.headers = headers\n delete opt.query\n delete opt.json\n\n return request(opt, cb)\n}\n","module.exports = ensureHeader\nfunction ensureHeader (headers, key, value) {\n var lower = key.toLowerCase()\n if (!headers[key] && !headers[lower]) {\n headers[key] = value\n }\n}\n","module.exports = getResponse\nfunction getResponse (opt, resp) {\n if (!resp) return null\n return {\n statusCode: resp.statusCode,\n headers: resp.headers,\n method: opt.method,\n url: opt.url,\n // the XHR object in browser, http response in Node\n rawRequest: resp.rawRequest ? resp.rawRequest : resp\n }\n}\n","var xhr = require('xhr')\nvar normalize = require('./normalize-response')\nvar noop = function () {}\n\nmodule.exports = xhrRequest\nfunction xhrRequest (opt, cb) {\n delete opt.uri\n\n // for better JSON.parse error handling than xhr module\n var useJson = false\n if (opt.responseType === 'json') {\n opt.responseType = 'text'\n useJson = true\n }\n\n var req = xhr(opt, function xhrRequestResult (err, resp, body) {\n if (useJson && !err) {\n try {\n var text = resp.rawRequest.responseText\n body = JSON.parse(text)\n } catch (e) {\n err = e\n }\n }\n\n resp = normalize(opt, resp)\n if (err) cb(err, null, resp)\n else cb(err, body, resp)\n cb = noop\n })\n\n // Patch abort() so that it also calls the callback, but with an error\n var onabort = req.onabort\n req.onabort = function () {\n var ret = onabort.apply(req, Array.prototype.slice.call(arguments))\n cb(new Error('XHR Aborted'))\n cb = noop\n return ret\n }\n\n return req\n}\n","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\nvar decodeComponent = require('decode-uri-component');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nfunction extract(str) {\n\tvar queryStart = str.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\treturn str.slice(queryStart + 1);\n}\n\nfunction parse(str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^[?#&]/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeComponent(val);\n\n\t\tformatter(decodeComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tif (opts.sort === false) {\n\t\topts.sort = function () {};\n\t}\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort(opts.sort).map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n\nexports.parseUrl = function (str, opts) {\n\treturn {\n\t\turl: str.split('?')[0] || '',\n\t\tquery: parse(extract(str), opts)\n\t};\n};\n","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n","\"use strict\";\nvar window = require(\"global/window\")\nvar isFunction = require(\"is-function\")\nvar parseHeaders = require(\"parse-headers\")\nvar xtend = require(\"xtend\")\n\nmodule.exports = createXHR\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = createXHR;\ncreateXHR.XMLHttpRequest = window.XMLHttpRequest || noop\ncreateXHR.XDomainRequest = \"withCredentials\" in (new createXHR.XMLHttpRequest()) ? createXHR.XMLHttpRequest : window.XDomainRequest\n\nforEachArray([\"get\", \"put\", \"post\", \"patch\", \"head\", \"delete\"], function(method) {\n createXHR[method === \"delete\" ? \"del\" : method] = function(uri, options, callback) {\n options = initParams(uri, options, callback)\n options.method = method.toUpperCase()\n return _createXHR(options)\n }\n})\n\nfunction forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i++) {\n iterator(array[i])\n }\n}\n\nfunction isEmpty(obj){\n for(var i in obj){\n if(obj.hasOwnProperty(i)) return false\n }\n return true\n}\n\nfunction initParams(uri, options, callback) {\n var params = uri\n\n if (isFunction(options)) {\n callback = options\n if (typeof uri === \"string\") {\n params = {uri:uri}\n }\n } else {\n params = xtend(options, {uri: uri})\n }\n\n params.callback = callback\n return params\n}\n\nfunction createXHR(uri, options, callback) {\n options = initParams(uri, options, callback)\n return _createXHR(options)\n}\n\nfunction _createXHR(options) {\n if(typeof options.callback === \"undefined\"){\n throw new Error(\"callback argument missing\")\n }\n\n var called = false\n var callback = function cbOnce(err, response, body){\n if(!called){\n called = true\n options.callback(err, response, body)\n }\n }\n\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0)\n }\n }\n\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined\n\n if (xhr.response) {\n body = xhr.response\n } else {\n body = xhr.responseText || getXml(xhr)\n }\n\n if (isJson) {\n try {\n body = JSON.parse(body)\n } catch (e) {}\n }\n\n return body\n }\n\n function errorFunc(evt) {\n clearTimeout(timeoutTimer)\n if(!(evt instanceof Error)){\n evt = new Error(\"\" + (evt || \"Unknown XMLHttpRequest Error\") )\n }\n evt.statusCode = 0\n return callback(evt, failureResponse)\n }\n\n // will load the data & process the response in a special response object\n function loadFunc() {\n if (aborted) return\n var status\n clearTimeout(timeoutTimer)\n if(options.useXDR && xhr.status===undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200\n } else {\n status = (xhr.status === 1223 ? 204 : xhr.status)\n }\n var response = failureResponse\n var err = null\n\n if (status !== 0){\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr\n }\n if(xhr.getAllResponseHeaders){ //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders())\n }\n } else {\n err = new Error(\"Internal XMLHttpRequest Error\")\n }\n return callback(err, response, response.body)\n }\n\n var xhr = options.xhr || null\n\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest()\n }else{\n xhr = new createXHR.XMLHttpRequest()\n }\n }\n\n var key\n var aborted\n var uri = xhr.url = options.uri || options.url\n var method = xhr.method = options.method || \"GET\"\n var body = options.body || options.data\n var headers = xhr.headers = options.headers || {}\n var sync = !!options.sync\n var isJson = false\n var timeoutTimer\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr\n }\n\n if (\"json\" in options && options.json !== false) {\n isJson = true\n headers[\"accept\"] || headers[\"Accept\"] || (headers[\"Accept\"] = \"application/json\") //Don't override existing accept header declared by user\n if (method !== \"GET\" && method !== \"HEAD\") {\n headers[\"content-type\"] || headers[\"Content-Type\"] || (headers[\"Content-Type\"] = \"application/json\") //Don't override existing accept header declared by user\n body = JSON.stringify(options.json === true ? body : options.json)\n }\n }\n\n xhr.onreadystatechange = readystatechange\n xhr.onload = loadFunc\n xhr.onerror = errorFunc\n // IE9 must have onprogress be set to a unique function.\n xhr.onprogress = function () {\n // IE must die\n }\n xhr.onabort = function(){\n aborted = true;\n }\n xhr.ontimeout = errorFunc\n xhr.open(method, uri, !sync, options.username, options.password)\n //has to be after open\n if(!sync) {\n xhr.withCredentials = !!options.withCredentials\n }\n // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n if (!sync && options.timeout > 0 ) {\n timeoutTimer = setTimeout(function(){\n if (aborted) return\n aborted = true//IE9 may still call readystatechange\n xhr.abort(\"timeout\")\n var e = new Error(\"XMLHttpRequest timeout\")\n e.code = \"ETIMEDOUT\"\n errorFunc(e)\n }, options.timeout )\n }\n\n if (xhr.setRequestHeader) {\n for(key in headers){\n if(headers.hasOwnProperty(key)){\n xhr.setRequestHeader(key, headers[key])\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error(\"Headers cannot be set on an XDomainRequest object\")\n }\n\n if (\"responseType\" in options) {\n xhr.responseType = options.responseType\n }\n\n if (\"beforeSend\" in options &&\n typeof options.beforeSend === \"function\"\n ) {\n options.beforeSend(xhr)\n }\n\n // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n xhr.send(body || null)\n\n return xhr\n\n\n}\n\nfunction getXml(xhr) {\n // xhr.responseXML will throw Exception \"InvalidStateError\" or \"DOMException\"\n // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML.\n try {\n if (xhr.responseType === \"document\") {\n return xhr.responseXML\n }\n var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === \"parsererror\"\n if (xhr.responseType === \"\" && !firefoxBugTakenEffect) {\n return xhr.responseXML\n }\n } catch (e) {}\n\n return null\n}\n\nfunction noop() {}\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","/*\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 swarm = require(\"swarm-js\");\nvar Bzz = function Bzz(provider) {\n this.givenProvider = Bzz.givenProvider;\n if (provider && provider._requestManager) {\n provider = provider.currentProvider;\n }\n // only allow file picker when in browser\n if (typeof document !== 'undefined') {\n this.pick = swarm.pick;\n }\n this.setProvider(provider);\n};\n// set default ethereum provider\n/* jshint ignore:start */\nBzz.givenProvider = null;\nif (typeof ethereum !== 'undefined' && ethereum.bzz) {\n Bzz.givenProvider = ethereum.bzz;\n}\n/* jshint ignore:end */\nBzz.prototype.setProvider = function (provider) {\n // is ethereum provider\n if (!!provider && typeof provider === 'object' && typeof provider.bzz === 'string') {\n provider = provider.bzz;\n // is no string, set default\n }\n // else if(!_.isString(provider)) {\n // provider = 'http://swarm-gateways.net'; // default to gateway\n // }\n if (typeof provider === 'string') {\n this.currentProvider = provider;\n }\n else {\n this.currentProvider = null;\n var noProviderError = new Error('No provider set, please set one using bzz.setProvider().');\n this.download = this.upload = this.isAvailable = function () {\n throw noProviderError;\n };\n return false;\n }\n // add functions\n this.download = swarm.at(provider).download;\n this.upload = swarm.at(provider).upload;\n this.isAvailable = swarm.at(provider).isAvailable;\n return true;\n};\nmodule.exports = Bzz;\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 if (event.description) {\n error.description = event.description;\n }\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', 'earliest, 'finalized' or 'safe'\n *\n * @method isPredefinedBlockNumber\n *\n * @param {String} blockNumber\n *\n * @returns {Boolean}\n */\nvar isPredefinedBlockNumber = function (blockNumber) {\n return ['latest', 'pending', 'earliest', 'finalized', 'safe'].includes(blockNumber);\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', 'finalized', 'safe', '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, hexFormat) {\n if (!hexFormat) {\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.type)\n tx.type = utils.hexToNumber(tx.type);\n }\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 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 (!this.hexFormat) {\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 (receipt.effectiveGasPrice) {\n receipt.effectiveGasPrice = utils.hexToNumber(receipt.effectiveGasPrice);\n }\n }\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, hexFormat) {\n if (!hexFormat) {\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 }\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, hexFormat);\n });\n }\n if (block.miner)\n block.miner = utils.toChecksumAddress(block.miner);\n if (block.baseFeePerGas)\n block.baseFeePerGas = utils.hexToNumber(block.baseFeePerGas);\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', '').slice(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","/*\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","/*\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 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.transactionPollingInterval = options.transactionPollingInterval || 1000;\n this.blockHeaderTimeout = options.blockHeaderTimeout || 10; // 10 seconds\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 Object.defineProperty(func, 'call', { configurable: true, writable: true, value: 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 Object.defineProperty(func, 'call', { configurable: true, writable: true, value: 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, this?.hexFormat) : res;\n });\n }\n else {\n return this.outputFormatter && result ? this.outputFormatter(result, this?.hexFormat) : 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, blockHeaderTimeoutId = 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 clearTimeout(blockHeaderTimeoutId);\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 ? parsedTx.gasPrice.toHexString() : undefined,\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 let blockHeaderArrived = false;\n const startInterval = () => {\n intervalId = setInterval(checkConfirmation.bind(null, existingReceipt, true), method.transactionPollingInterval);\n };\n // If provider do not support event subscription use polling\n if (!this.requestManager.provider.on) {\n return startInterval();\n }\n // Subscribe to new block headers to look for tx receipt\n _ethereumCall.subscribe('newBlockHeaders', function (err, blockHeader, sub) {\n blockHeaderArrived = true;\n if (err || !blockHeader) {\n // fall back to polling\n return startInterval();\n }\n checkConfirmation(existingReceipt, false, err, blockHeader, sub);\n });\n // Fallback to polling if tx receipt didn't arrived in \"blockHeaderTimeout\" [10 seconds]\n blockHeaderTimeoutId = setTimeout(() => {\n if (!blockHeaderArrived) {\n startInterval();\n }\n }, this.blockHeaderTimeout * 1000);\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 let args = Array.prototype.slice.call(arguments);\n var defer = promiEvent(!isSendTx), payload = method.toPayload(args);\n method.hexFormat = false;\n if (method.call === 'eth_getTransactionReceipt'\n || method.call === 'eth_getTransactionByHash'\n || method.name === 'getBlock') {\n method.hexFormat = (payload.params.length < args.length && args[args.length - 1] === 'hex');\n }\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 _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 _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 Promise.all([\n getBlockByNumber(),\n getGasPrice()\n ]).then(responses => {\n const [block, gasPrice] = responses;\n if ((tx.type === '0x2' || tx.type === undefined) &&\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 || '0x9502F900'; // 2.5 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 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","/*\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 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 var sortResponses = this._sortResponses.bind(this);\n this.requestManager.sendBatch(requests, function (err, results) {\n results = sortResponses(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};\n// Sort responses\nBatch.prototype._sortResponses = function (responses) {\n return (responses || []).sort((a, b) => a.id - b.id);\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 = typeof globalThis === 'object' ? globalThis : undefined;\nif (!global) {\n try {\n global = Function('return this')();\n }\n catch (e) {\n global = self;\n }\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 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 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","/*\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 // This is the starting counter for the Jsonrpc.id.\n // Pick a random number between 0 and the maximum safe integer\n messageId: Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)\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 if (Jsonrpc.messageId === Number.MAX_SAFE_INTEGER) {\n // if the maximum safe integer has been reached, restart from a random number\n Jsonrpc.messageId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);\n }\n else {\n // advance message ID\n Jsonrpc.messageId++;\n }\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","/*\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","/*\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 subscription.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar errors = require('web3-core-helpers').errors;\nvar EventEmitter = require('eventemitter3');\nvar formatters = require('web3-core-helpers').formatters;\nfunction identity(value) {\n return value;\n}\nfunction Subscription(options) {\n EventEmitter.call(this);\n this.id = null;\n this.callback = identity;\n this.arguments = null;\n this.lastBlock = null; // \"from\" block tracker for backfilling events on reconnection\n this.options = {\n subscription: options.subscription,\n type: options.type,\n requestManager: options.requestManager\n };\n}\n// INHERIT\nSubscription.prototype = Object.create(EventEmitter.prototype);\nSubscription.prototype.constructor = Subscription;\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 */\nSubscription.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 */\nSubscription.prototype._validateArgs = function (args) {\n var subscription = this.options.subscription;\n if (!subscription)\n subscription = {};\n if (!subscription.params)\n subscription.params = 0;\n if (args.length !== subscription.params) {\n throw errors.InvalidNumberOfParams(args.length, subscription.params, subscription.subscriptionName);\n }\n};\n/**\n * Should be called to format input args of method\n *\n * @method formatInput\n * @param {Array}\n * @return {Array}\n */\nSubscription.prototype._formatInput = function (args) {\n var subscription = this.options.subscription;\n if (!subscription) {\n return args;\n }\n if (!subscription.inputFormatter) {\n return args;\n }\n var formattedArgs = subscription.inputFormatter.map(function (formatter, index) {\n return formatter ? formatter(args[index]) : args[index];\n });\n return formattedArgs;\n};\n/**\n * Should be called to format output(result) of method\n *\n * @method formatOutput\n * @param result {Object}\n * @return {Object}\n */\nSubscription.prototype._formatOutput = function (result) {\n var subscription = this.options.subscription;\n return (subscription && subscription.outputFormatter && result) ? subscription.outputFormatter(result) : result;\n};\n/**\n * Should create payload from given input args\n *\n * @method toPayload\n * @param {Array} args\n * @return {Object}\n */\nSubscription.prototype._toPayload = function (args) {\n var params = [];\n this.callback = this._extractCallback(args) || identity;\n if (!this.subscriptionMethod) {\n this.subscriptionMethod = args.shift();\n // replace subscription with given name\n if (this.options.subscription.subscriptionName) {\n this.subscriptionMethod = this.options.subscription.subscriptionName;\n }\n }\n if (!this.arguments) {\n this.arguments = this._formatInput(args);\n this._validateArgs(this.arguments);\n args = []; // make empty after validation\n }\n // re-add subscriptionName\n params.push(this.subscriptionMethod);\n params = params.concat(this.arguments);\n if (args.length) {\n throw new Error('Only a callback is allowed as parameter on an already instantiated subscription.');\n }\n return {\n method: this.options.type + '_subscribe',\n params: params\n };\n};\n/**\n * Unsubscribes and clears callbacks\n *\n * @method unsubscribe\n * @return {Object}\n */\nSubscription.prototype.unsubscribe = function (callback) {\n this.options.requestManager.removeSubscription(this.id, callback);\n this.id = null;\n this.lastBlock = null;\n this.removeAllListeners();\n};\n/**\n * Subscribes and watches for changes\n *\n * @method subscribe\n * @param {String} subscription the subscription\n * @param {Object} options the options object with address topics and fromBlock\n * @return {Object}\n */\nSubscription.prototype.subscribe = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var payload = this._toPayload(args);\n if (!payload) {\n return this;\n }\n // throw error, if provider is not set\n if (!this.options.requestManager.provider) {\n setTimeout(function () {\n var err1 = new Error('No provider set.');\n _this.callback(err1, null, _this);\n _this.emit('error', err1);\n }, 0);\n return this;\n }\n // throw error, if provider doesnt support subscriptions\n if (!this.options.requestManager.provider.on) {\n setTimeout(function () {\n var err2 = new Error('The current provider doesn\\'t support subscriptions: ' +\n _this.options.requestManager.provider.constructor.name);\n _this.callback(err2, null, _this);\n _this.emit('error', err2);\n }, 0);\n return this;\n }\n // Re-subscription only: continue fetching from the last block we received.\n // a dropped connection may have resulted in gaps in the logs...\n if (this.lastBlock && !!this.options.params && typeof this.options.params === 'object') {\n payload.params[1] = this.options.params;\n payload.params[1].fromBlock = formatters.inputBlockNumberFormatter(this.lastBlock + 1);\n }\n // if id is there unsubscribe first\n if (this.id) {\n this.unsubscribe();\n }\n // store the params in the options object\n this.options.params = payload.params[1];\n // get past logs, if fromBlock is available\n if (payload.params[0] === 'logs' && !!payload.params[1] && typeof payload.params[1] === 'object' && payload.params[1].hasOwnProperty('fromBlock') && isFinite(payload.params[1].fromBlock)) {\n // send the subscription request\n // copy the params to avoid race-condition with deletion below this block\n var blockParams = Object.assign({}, payload.params[1]);\n this.options.requestManager.send({\n method: 'eth_getLogs',\n params: [blockParams]\n }, function (err, logs) {\n if (!err) {\n logs.forEach(function (log) {\n var output = _this._formatOutput(log);\n _this.callback(null, output, _this);\n _this.emit('data', output);\n });\n // TODO subscribe here? after the past logs?\n }\n else {\n setTimeout(function () {\n _this.callback(err, null, _this);\n _this.emit('error', err);\n }, 0);\n }\n });\n }\n // create subscription\n // TODO move to separate function? so that past logs can go first?\n if (typeof payload.params[1] === 'object')\n delete payload.params[1].fromBlock;\n this.options.requestManager.send(payload, function (err, result) {\n if (!err && result) {\n _this.id = result;\n _this.method = payload.params[0];\n // call callback on notifications\n _this.options.requestManager.addSubscription(_this, function (error, result) {\n if (!error) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.forEach(function (resultItem) {\n var output = _this._formatOutput(resultItem);\n // Track current block (for gaps introduced by dropped connections)\n _this.lastBlock = !!output && typeof output === 'object' ? output.blockNumber : null;\n if (typeof _this.options.subscription.subscriptionHandler === 'function') {\n return _this.options.subscription.subscriptionHandler.call(_this, output);\n }\n else {\n _this.emit('data', output);\n }\n // call the callback, last so that unsubscribe there won't affect the emit above\n _this.callback(null, output, _this);\n });\n }\n else {\n _this.callback(error, false, _this);\n _this.emit('error', error);\n }\n });\n _this.emit('connected', result);\n }\n else {\n setTimeout(function () {\n _this.callback(err, false, _this);\n _this.emit('error', err);\n }, 0);\n }\n });\n // return an object to cancel the subscription\n return this;\n};\n/**\n * Resubscribe\n *\n * @method resubscribe\n *\n * @returns {void}\n */\nSubscription.prototype.resubscribe = function () {\n this.options.requestManager.removeSubscription(this.id); // unsubscribe\n this.id = null;\n this.subscribe(this.callback);\n};\nmodule.exports = Subscription;\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 extend.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar formatters = require('web3-core-helpers').formatters;\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar extend = function (pckg) {\n /* jshint maxcomplexity:5 */\n var ex = function (extension) {\n var extendedObject;\n if (extension.property) {\n if (!pckg[extension.property]) {\n pckg[extension.property] = {};\n }\n extendedObject = pckg[extension.property];\n }\n else {\n extendedObject = pckg;\n }\n if (extension.methods) {\n extension.methods.forEach(function (method) {\n if (!(method instanceof Method)) {\n method = new Method(method);\n }\n method.attachToObject(extendedObject);\n method.setRequestManager(pckg._requestManager);\n });\n }\n return pckg;\n };\n ex.formatters = formatters;\n ex.utils = utils;\n ex.Method = Method;\n return ex;\n};\nmodule.exports = extend;\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 */\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","/*\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 if (!coder.type.match(/\\[(\\d+)\\]/)) {\n return param.map(p => modifyParams(ethersAbiCoder._getCoder(ParamType.from(coder.type.replace('[]', ''))), p));\n }\n const arrayLength = parseInt(coder.type.match(/\\[(\\d+)\\]/)[1]);\n if (param.length !== arrayLength) {\n throw new Error('Array length does not matches with the given input');\n }\n return param.map(p => modifyParams(ethersAbiCoder._getCoder(ParamType.from(coder.type.replace(/\\[\\d+\\]/, ''))), 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 const isStringObject = typeof output === 'object' && output.type && output.type === 'string';\n const isStringType = typeof output === 'string' && output === 'string';\n // only convert `0x` to null if it's not string value\n decodedValue = (decodedValue === '0x' && !isStringObject && !isStringType) ? 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","/*\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 accounts.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n'use strict';\nvar core = require('web3-core');\nvar Method = require('web3-core-method');\nvar Account = require('eth-lib/lib/account');\nvar cryp = require('crypto');\nvar scrypt = require('scrypt-js');\nvar uuid = require('uuid');\nvar utils = require('web3-utils');\nvar helpers = require('web3-core-helpers');\nvar { TransactionFactory } = require('@ethereumjs/tx');\nvar Common = require('@ethereumjs/common').default;\nvar HardForks = require('@ethereumjs/common').Hardfork;\nvar ethereumjsUtil = require('ethereumjs-util');\nvar isNot = function (value) {\n return (typeof value === 'undefined') || value === null;\n};\nvar isExist = function (value) {\n return (typeof value !== 'undefined') && value !== null;\n};\nvar Accounts = function Accounts() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n // remove unecessary core functions\n delete this.BatchRequest;\n delete this.extend;\n var _ethereumCall = [\n new Method({\n name: 'getNetworkId',\n call: 'net_version',\n params: 0,\n outputFormatter: parseInt\n }),\n new Method({\n name: 'getChainId',\n call: 'eth_chainId',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getGasPrice',\n call: 'eth_gasPrice',\n params: 0\n }),\n new Method({\n name: 'getTransactionCount',\n call: 'eth_getTransactionCount',\n params: 2,\n inputFormatter: [function (address) {\n if (utils.isAddress(address)) {\n return address;\n }\n else {\n throw new Error('Address ' + address + ' is not a valid address to get the \"transactionCount\".');\n }\n }, function () {\n return 'latest';\n }]\n }),\n 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 }),\n ];\n // attach methods to this._ethereumCall\n this._ethereumCall = {};\n _ethereumCall.forEach((method) => {\n method.attachToObject(_this._ethereumCall);\n method.setRequestManager(_this._requestManager);\n });\n this.wallet = new Wallet(this);\n};\nAccounts.prototype._addAccountFunctions = function (account) {\n var _this = this;\n // add sign functions\n account.signTransaction = function signTransaction(tx, callback) {\n return _this.signTransaction(tx, account.privateKey, callback);\n };\n account.sign = function sign(data) {\n return _this.sign(data, account.privateKey);\n };\n account.encrypt = function encrypt(password, options) {\n return _this.encrypt(account.privateKey, password, options);\n };\n return account;\n};\nAccounts.prototype.create = function create(entropy) {\n return this._addAccountFunctions(Account.create(entropy || utils.randomHex(32)));\n};\nAccounts.prototype.privateKeyToAccount = function privateKeyToAccount(privateKey, ignoreLength) {\n if (!privateKey.startsWith('0x')) {\n privateKey = '0x' + privateKey;\n }\n // 64 hex characters + hex-prefix\n if (!ignoreLength && privateKey.length !== 66) {\n throw new Error(\"Private key must be 32 bytes long\");\n }\n return this._addAccountFunctions(Account.fromPrivate(privateKey));\n};\nAccounts.prototype.signTransaction = function signTransaction(tx, privateKey, callback) {\n var _this = this, error = false, transactionOptions = {}, hasTxSigningOptions = !!(tx && ((tx.chain && tx.hardfork) || tx.common));\n callback = callback || function () { };\n if (!tx) {\n error = new Error('No transaction object given!');\n callback(error);\n return Promise.reject(error);\n }\n if (isExist(tx.common) && isNot(tx.common.customChain)) {\n error = new Error('If tx.common is provided it must have tx.common.customChain');\n callback(error);\n return Promise.reject(error);\n }\n if (isExist(tx.common) && isNot(tx.common.customChain.chainId)) {\n error = new Error('If tx.common is provided it must have tx.common.customChain and tx.common.customChain.chainId');\n callback(error);\n return Promise.reject(error);\n }\n if (isExist(tx.common) && isExist(tx.common.customChain.chainId) && isExist(tx.chainId) && tx.chainId !== tx.common.customChain.chainId) {\n error = new Error('Chain Id doesnt match in tx.chainId tx.common.customChain.chainId');\n callback(error);\n return Promise.reject(error);\n }\n function signed(tx) {\n const error = _validateTransactionForSigning(tx);\n if (error) {\n callback(error);\n return Promise.reject(error);\n }\n try {\n var transaction = helpers.formatters.inputCallFormatter(Object.assign({}, tx));\n transaction.data = transaction.data || '0x';\n transaction.value = transaction.value || '0x';\n transaction.gasLimit = transaction.gasLimit || transaction.gas;\n if (transaction.type === '0x1' && transaction.accessList === undefined)\n transaction.accessList = [];\n // Because tx has no @ethereumjs/tx signing options we use fetched vals.\n if (!hasTxSigningOptions) {\n transactionOptions.common = Common.forCustomChain('mainnet', {\n name: 'custom-network',\n networkId: transaction.networkId,\n chainId: transaction.chainId\n }, transaction.hardfork || HardForks.London);\n delete transaction.networkId;\n }\n else {\n if (transaction.common) {\n transactionOptions.common = Common.forCustomChain(transaction.common.baseChain || 'mainnet', {\n name: transaction.common.customChain.name || 'custom-network',\n networkId: transaction.common.customChain.networkId,\n chainId: transaction.common.customChain.chainId\n }, transaction.common.hardfork || HardForks.London);\n delete transaction.common;\n }\n if (transaction.chain) {\n transactionOptions.chain = transaction.chain;\n delete transaction.chain;\n }\n if (transaction.hardfork) {\n transactionOptions.hardfork = transaction.hardfork;\n delete transaction.hardfork;\n }\n }\n if (privateKey.startsWith('0x')) {\n privateKey = privateKey.substring(2);\n }\n var ethTx = TransactionFactory.fromTxData(transaction, transactionOptions);\n var signedTx = ethTx.sign(Buffer.from(privateKey, 'hex'));\n var validationErrors = signedTx.validate(true);\n if (validationErrors.length > 0) {\n let errorString = 'Signer Error: ';\n for (const validationError of validationErrors) {\n errorString += `${errorString} ${validationError}.`;\n }\n throw new Error(errorString);\n }\n var rlpEncoded = signedTx.serialize().toString('hex');\n var rawTransaction = '0x' + rlpEncoded;\n var transactionHash = utils.keccak256(rawTransaction);\n var result = {\n messageHash: '0x' + Buffer.from(signedTx.getMessageToSign(true)).toString('hex'),\n v: '0x' + signedTx.v.toString('hex'),\n r: '0x' + signedTx.r.toString('hex'),\n s: '0x' + signedTx.s.toString('hex'),\n rawTransaction: rawTransaction,\n transactionHash: transactionHash\n };\n callback(null, result);\n return result;\n }\n catch (e) {\n callback(e);\n return Promise.reject(e);\n }\n }\n tx.type = _handleTxType(tx);\n // Resolve immediately if nonce, chainId, price and signing options are provided\n if (tx.nonce !== undefined &&\n tx.chainId !== undefined &&\n (tx.gasPrice !== undefined ||\n (tx.maxFeePerGas !== undefined &&\n tx.maxPriorityFeePerGas !== undefined)) &&\n hasTxSigningOptions) {\n return Promise.resolve(signed(tx));\n }\n // Otherwise, get the missing info from the Ethereum Node\n return Promise.all([\n ((isNot(tx.common) || isNot(tx.common.customChain.chainId)) ? //tx.common.customChain.chainId is not optional inside tx.common if tx.common is provided\n (isNot(tx.chainId) ? _this._ethereumCall.getChainId() : tx.chainId)\n : undefined),\n isNot(tx.nonce) ? _this._ethereumCall.getTransactionCount(_this.privateKeyToAccount(privateKey).address) : tx.nonce,\n isNot(hasTxSigningOptions) ? _this._ethereumCall.getNetworkId() : 1,\n _handleTxPricing(_this, tx)\n ]).then(function (args) {\n const [txchainId, txnonce, txnetworkId, txgasInfo] = args;\n if ((isNot(txchainId) && isNot(tx.common) && isNot(tx.common.customChain.chainId)) || isNot(txnonce) || isNot(txnetworkId) || isNot(txgasInfo)) {\n throw new Error('One of the values \"chainId\", \"networkId\", \"gasPrice\", or \"nonce\" couldn\\'t be fetched: ' + JSON.stringify(args));\n }\n return signed({\n ...tx,\n ...((isNot(tx.common) || isNot(tx.common.customChain.chainId)) ? { chainId: txchainId } : {}),\n nonce: txnonce,\n networkId: txnetworkId,\n ...txgasInfo // Will either be gasPrice or maxFeePerGas and maxPriorityFeePerGas\n });\n });\n};\nfunction _validateTransactionForSigning(tx) {\n if (tx.common && (tx.chain && tx.hardfork)) {\n return new Error('Please provide the @ethereumjs/common object or the chain and hardfork property but not all together.');\n }\n if ((tx.chain && !tx.hardfork) || (tx.hardfork && !tx.chain)) {\n return new Error('When specifying chain and hardfork, both values must be defined. ' +\n 'Received \"chain\": ' + tx.chain + ', \"hardfork\": ' + tx.hardfork);\n }\n if ((!tx.gas && !tx.gasLimit) &&\n (!tx.maxPriorityFeePerGas && !tx.maxFeePerGas)) {\n return new Error('\"gas\" is missing');\n }\n if (tx.gas && tx.gasPrice) {\n if (tx.gas < 0 || tx.gasPrice < 0) {\n return new Error('Gas or gasPrice is lower than 0');\n }\n }\n else {\n if (tx.maxPriorityFeePerGas < 0 || tx.maxFeePerGas < 0) {\n return new Error('maxPriorityFeePerGas or maxFeePerGas is lower than 0');\n }\n }\n if (tx.nonce < 0 || tx.chainId < 0) {\n return new Error('Nonce or chainId is lower than 0');\n }\n return;\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 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(_this, tx) {\n return new Promise((resolve, reject) => {\n try {\n if ((tx.type === undefined || tx.type < '0x2')\n && tx.gasPrice !== undefined) {\n // Legacy transaction, return provided gasPrice\n resolve({ gasPrice: tx.gasPrice });\n }\n else if (tx.type === '0x2' && tx.maxFeePerGas && tx.maxPriorityFeePerGas) {\n // EIP-1559 transaction, return provided maxFeePerGas and maxPriorityFeePerGas\n resolve({ maxFeePerGas: tx.maxFeePerGas, maxPriorityFeePerGas: tx.maxPriorityFeePerGas });\n }\n else {\n Promise.all([\n _this._ethereumCall.getBlockByNumber(),\n _this._ethereumCall.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 || '0x9502F900'; // 2.5 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 }).catch((error) => {\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n }\n });\n}\n/* jshint ignore:start */\nAccounts.prototype.recoverTransaction = function recoverTransaction(rawTx, txOptions = {}) {\n // Rely on EthereumJs/tx to determine the type of transaction\n const data = Buffer.from(rawTx.slice(2), \"hex\");\n const tx = TransactionFactory.fromSerializedData(data);\n //update checksum\n return utils.toChecksumAddress(tx.getSenderAddress().toString(\"hex\"));\n};\n/* jshint ignore:end */\nAccounts.prototype.hashMessage = function hashMessage(data) {\n var messageHex = utils.isHexStrict(data) ? data : utils.utf8ToHex(data);\n var messageBytes = utils.hexToBytes(messageHex);\n var messageBuffer = Buffer.from(messageBytes);\n var preamble = '\\x19Ethereum Signed Message:\\n' + messageBytes.length;\n var preambleBuffer = Buffer.from(preamble);\n var ethMessage = Buffer.concat([preambleBuffer, messageBuffer]);\n return ethereumjsUtil.bufferToHex(ethereumjsUtil.keccak256(ethMessage));\n};\nAccounts.prototype.sign = function sign(data, privateKey) {\n if (!privateKey.startsWith('0x')) {\n privateKey = '0x' + privateKey;\n }\n // 64 hex characters + hex-prefix\n if (privateKey.length !== 66) {\n throw new Error(\"Private key must be 32 bytes long\");\n }\n var hash = this.hashMessage(data);\n var signature = Account.sign(hash, privateKey);\n var vrs = Account.decodeSignature(signature);\n return {\n message: data,\n messageHash: hash,\n v: vrs[0],\n r: vrs[1],\n s: vrs[2],\n signature: signature\n };\n};\nAccounts.prototype.recover = function recover(message, signature, preFixed) {\n var args = [].slice.apply(arguments);\n if (!!message && typeof message === 'object') {\n return this.recover(message.messageHash, Account.encodeSignature([message.v, message.r, message.s]), true);\n }\n if (!preFixed) {\n message = this.hashMessage(message);\n }\n if (args.length >= 4) {\n preFixed = args.slice(-1)[0];\n preFixed = typeof preFixed === 'boolean' ? !!preFixed : false;\n return this.recover(message, Account.encodeSignature(args.slice(1, 4)), preFixed); // v, r, s\n }\n return Account.recover(message, signature);\n};\n// Taken from https://github.com/ethereumjs/ethereumjs-wallet\nAccounts.prototype.decrypt = function (v3Keystore, password, nonStrict) {\n /* jshint maxcomplexity: 10 */\n if (!(typeof password === 'string')) {\n throw new Error('No password given.');\n }\n var json = (!!v3Keystore && typeof v3Keystore === 'object') ? v3Keystore : JSON.parse(nonStrict ? v3Keystore.toLowerCase() : v3Keystore);\n if (json.version !== 3) {\n throw new Error('Not a valid V3 wallet');\n }\n var derivedKey;\n var kdfparams;\n if (json.crypto.kdf === 'scrypt') {\n kdfparams = json.crypto.kdfparams;\n // FIXME: support progress reporting callback\n derivedKey = scrypt.syncScrypt(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.n, kdfparams.r, kdfparams.p, kdfparams.dklen);\n }\n else if (json.crypto.kdf === 'pbkdf2') {\n kdfparams = json.crypto.kdfparams;\n if (kdfparams.prf !== 'hmac-sha256') {\n throw new Error('Unsupported parameters to PBKDF2');\n }\n derivedKey = cryp.pbkdf2Sync(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.c, kdfparams.dklen, 'sha256');\n }\n else {\n throw new Error('Unsupported key derivation scheme');\n }\n var ciphertext = Buffer.from(json.crypto.ciphertext, 'hex');\n var mac = utils.sha3(Buffer.from([...derivedKey.slice(16, 32), ...ciphertext])).replace('0x', '');\n if (mac !== json.crypto.mac) {\n throw new Error('Key derivation failed - possibly wrong password');\n }\n var decipher = cryp.createDecipheriv(json.crypto.cipher, derivedKey.slice(0, 16), Buffer.from(json.crypto.cipherparams.iv, 'hex'));\n var seed = '0x' + Buffer.from([...decipher.update(ciphertext), ...decipher.final()]).toString('hex');\n return this.privateKeyToAccount(seed, true);\n};\nAccounts.prototype.encrypt = function (privateKey, password, options) {\n /* jshint maxcomplexity: 20 */\n var account = this.privateKeyToAccount(privateKey, true);\n options = options || {};\n var salt = options.salt || cryp.randomBytes(32);\n var iv = options.iv || cryp.randomBytes(16);\n var derivedKey;\n var kdf = options.kdf || 'scrypt';\n var kdfparams = {\n dklen: options.dklen || 32,\n salt: salt.toString('hex')\n };\n if (kdf === 'pbkdf2') {\n kdfparams.c = options.c || 262144;\n kdfparams.prf = 'hmac-sha256';\n derivedKey = cryp.pbkdf2Sync(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.c, kdfparams.dklen, 'sha256');\n }\n else if (kdf === 'scrypt') {\n // FIXME: support progress reporting callback\n kdfparams.n = options.n || 8192; // 2048 4096 8192 16384\n kdfparams.r = options.r || 8;\n kdfparams.p = options.p || 1;\n derivedKey = scrypt.syncScrypt(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.n, kdfparams.r, kdfparams.p, kdfparams.dklen);\n }\n else {\n throw new Error('Unsupported kdf');\n }\n var cipher = cryp.createCipheriv(options.cipher || 'aes-128-ctr', derivedKey.slice(0, 16), iv);\n if (!cipher) {\n throw new Error('Unsupported cipher');\n }\n var ciphertext = Buffer.from([\n ...cipher.update(Buffer.from(account.privateKey.replace('0x', ''), 'hex')),\n ...cipher.final()\n ]);\n var mac = utils.sha3(Buffer.from([...derivedKey.slice(16, 32), ...ciphertext])).replace('0x', '');\n return {\n version: 3,\n id: uuid.v4({ random: options.uuid || cryp.randomBytes(16) }),\n address: account.address.toLowerCase().replace('0x', ''),\n crypto: {\n ciphertext: ciphertext.toString('hex'),\n cipherparams: {\n iv: iv.toString('hex')\n },\n cipher: options.cipher || 'aes-128-ctr',\n kdf: kdf,\n kdfparams: kdfparams,\n mac: mac.toString('hex')\n }\n };\n};\n// Note: this is trying to follow closely the specs on\n// http://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html\nfunction Wallet(accounts) {\n this._accounts = accounts;\n this.length = 0;\n this.defaultKeyName = 'web3js_wallet';\n}\nWallet.prototype._findSafeIndex = function (pointer) {\n pointer = pointer || 0;\n if (this.hasOwnProperty(pointer)) {\n return this._findSafeIndex(pointer + 1);\n }\n else {\n return pointer;\n }\n};\nWallet.prototype._currentIndexes = function () {\n var keys = Object.keys(this);\n var indexes = keys\n .map(function (key) {\n return parseInt(key);\n })\n .filter(function (n) {\n return (n < 9e20);\n });\n return indexes;\n};\nWallet.prototype.create = function (numberOfAccounts, entropy) {\n for (var i = 0; i < numberOfAccounts; ++i) {\n this.add(this._accounts.create(entropy).privateKey);\n }\n return this;\n};\nWallet.prototype.add = function (account) {\n if (typeof account === 'string') {\n account = this._accounts.privateKeyToAccount(account);\n }\n if (!this[account.address]) {\n account = this._accounts.privateKeyToAccount(account.privateKey);\n account.index = this._findSafeIndex();\n this[account.index] = account;\n this[account.address] = account;\n this[account.address.toLowerCase()] = account;\n this.length++;\n return account;\n }\n else {\n return this[account.address];\n }\n};\nWallet.prototype.remove = function (addressOrIndex) {\n var account = this[addressOrIndex];\n if (account && account.address) {\n // address\n this[account.address].privateKey = null;\n delete this[account.address];\n // address lowercase\n if (this[account.address.toLowerCase()]) {\n this[account.address.toLowerCase()].privateKey = null;\n delete this[account.address.toLowerCase()];\n }\n // index\n this[account.index].privateKey = null;\n delete this[account.index];\n this.length--;\n return true;\n }\n else {\n return false;\n }\n};\nWallet.prototype.clear = function () {\n var _this = this;\n var indexes = this._currentIndexes();\n indexes.forEach(function (index) {\n _this.remove(index);\n });\n return this;\n};\nWallet.prototype.encrypt = function (password, options) {\n var _this = this;\n var indexes = this._currentIndexes();\n var accounts = indexes.map(function (index) {\n return _this[index].encrypt(password, options);\n });\n return accounts;\n};\nWallet.prototype.decrypt = function (encryptedWallet, password) {\n var _this = this;\n encryptedWallet.forEach(function (keystore) {\n var account = _this._accounts.decrypt(keystore, password);\n if (account) {\n _this.add(account);\n }\n else {\n throw new Error('Couldn\\'t decrypt accounts. Password wrong?');\n }\n });\n return this;\n};\nWallet.prototype.save = function (password, keyName) {\n localStorage.setItem(keyName || this.defaultKeyName, JSON.stringify(this.encrypt(password)));\n return true;\n};\nWallet.prototype.load = function (password, keyName) {\n var keystore = localStorage.getItem(keyName || this.defaultKeyName);\n if (keystore) {\n try {\n keystore = JSON.parse(keystore);\n }\n catch (e) {\n }\n }\n return this.decrypt(keystore || [], password);\n};\nif (!storageAvailable('localStorage')) {\n delete Wallet.prototype.save;\n delete Wallet.prototype.load;\n}\n/**\n * Checks whether a storage type is available or not\n * For more info on how this works, please refer to MDN documentation\n * https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Feature-detecting_localStorage\n *\n * @method storageAvailable\n * @param {String} type the type of storage ('localStorage', 'sessionStorage')\n * @returns {Boolean} a boolean indicating whether the specified storage is available or not\n */\nfunction storageAvailable(type) {\n var storage;\n try {\n storage = self[type];\n var x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n }\n catch (e) {\n return e && (\n // everything except Firefox\n e.code === 22 ||\n // Firefox\n e.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' ||\n // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n // acknowledge QuotaExceededError only if there's something already stored\n (storage && storage.length !== 0);\n }\n}\nmodule.exports = Accounts;\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, 'transactionPollingInterval', {\n get: function () {\n if (_this.options.transactionPollingInterval === 0) {\n return _this.options.transactionPollingInterval;\n }\n return _this.options.transactionPollingInterval || this.constructor.transactionPollingInterval;\n },\n set: function (val) {\n _this.options.transactionPollingInterval = 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, 'blockHeaderTimeout', {\n get: function () {\n if (_this.options.blockHeaderTimeout === 0) {\n return _this.options.blockHeaderTimeout;\n }\n return _this.options.blockHeaderTimeout || this.constructor.blockHeaderTimeout;\n },\n set: function (val) {\n _this.options.blockHeaderTimeout = 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 _options = { ...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 txObject.createAccessList = this.parent._executeMethod.bind(txObject, 'createAccessList');\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 'createAccessList':\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 var createAccessList = (new Method({\n name: 'createAccessList',\n call: 'eth_createAccessList',\n params: 2,\n inputFormatter: [formatters.inputTransactionFormatter, formatters.inputDefaultBlockNumberFormatter],\n requestManager: _this._parent._requestManager,\n accounts: ethAccounts,\n defaultAccount: _this._parent.defaultAccount,\n defaultBlock: _this._parent.defaultBlock\n })).createFunction();\n return createAccessList(args.options, args.callback);\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 transactionPollingInterval: _this._parent.transactionPollingInterval,\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 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 ENS.js\n *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar config = require('./config');\nvar formatters = require('web3-core-helpers').formatters;\nvar utils = require('web3-utils');\nvar Registry = require('./contracts/Registry');\nvar ResolverMethodHandler = require('./lib/ResolverMethodHandler');\nvar contenthash = require('./lib/contentHash');\n/**\n * Constructs a new instance of ENS\n *\n * @param {Eth} eth\n *\n * @constructor\n */\nfunction ENS(eth) {\n this.eth = eth;\n var registryAddress = null;\n this._detectedAddress = null;\n this._lastSyncCheck = null;\n Object.defineProperty(this, 'registry', {\n get: function () {\n return new Registry(this);\n },\n enumerable: true\n });\n Object.defineProperty(this, 'resolverMethodHandler', {\n get: function () {\n return new ResolverMethodHandler(this.registry);\n },\n enumerable: true\n });\n Object.defineProperty(this, 'registryAddress', {\n get: function () {\n return registryAddress;\n },\n set: function (value) {\n if (value === null) {\n registryAddress = value;\n return;\n }\n registryAddress = formatters.inputAddressFormatter(value);\n },\n enumerable: true\n });\n}\n/**\n * Returns true if the given interfaceId is supported and otherwise false.\n *\n * @method supportsInterface\n *\n * @param {string} name\n * @param {string} interfaceId\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.supportsInterface = function (name, interfaceId, callback) {\n return this.getResolver(name).then(function (resolver) {\n if (!utils.isHexStrict(interfaceId)) {\n interfaceId = utils.sha3(interfaceId).slice(0, 10);\n }\n return resolver.methods.supportsInterface(interfaceId).call(callback);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n throw error;\n });\n};\n/**\n * Returns the Resolver by the given address\n *\n * @deprecated Please use the \"getResolver\" method instead of \"resolver\"\n *\n * @method resolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.resolver = function (name, callback) {\n return this.registry.resolver(name, callback);\n};\n/**\n * Returns the Resolver by the given address\n *\n * @method getResolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.getResolver = function (name, callback) {\n return this.registry.getResolver(name, callback);\n};\n/**\n * Does set the resolver of the given name\n *\n * @method setResolver\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setResolver = function (name, address, txConfig, callback) {\n return this.registry.setResolver(name, address, txConfig, callback);\n};\n/**\n * Sets the owner, resolver, and TTL for an ENS record in a single operation.\n *\n * @method setRecord\n *\n * @param {string} name\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setRecord = function (name, owner, resolver, ttl, txConfig, callback) {\n return this.registry.setRecord(name, owner, resolver, ttl, txConfig, callback);\n};\n/**\n * Sets the owner, resolver and TTL for a subdomain, creating it if necessary.\n *\n * @method setSubnodeRecord\n *\n * @param {string} name\n * @param {string} label\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setSubnodeRecord = function (name, label, owner, resolver, ttl, txConfig, callback) {\n return this.registry.setSubnodeRecord(name, label, owner, resolver, ttl, txConfig, callback);\n};\n/**\n * Sets or clears an approval by the given operator.\n *\n * @method setApprovalForAll\n *\n * @param {string} operator\n * @param {boolean} approved\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setApprovalForAll = function (operator, approved, txConfig, callback) {\n return this.registry.setApprovalForAll(operator, approved, txConfig, callback);\n};\n/**\n * Returns true if the operator is approved\n *\n * @method isApprovedForAll\n *\n * @param {string} owner\n * @param {string} operator\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.isApprovedForAll = function (owner, operator, callback) {\n return this.registry.isApprovedForAll(owner, operator, callback);\n};\n/**\n * Returns true if the record exists\n *\n * @method recordExists\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.recordExists = function (name, callback) {\n return this.registry.recordExists(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setSubnodeOwner\n *\n * @param {string} name\n * @param {string} label\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setSubnodeOwner = function (name, label, address, txConfig, callback) {\n return this.registry.setSubnodeOwner(name, label, address, txConfig, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method getTTL\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getTTL = function (name, callback) {\n return this.registry.getTTL(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setTTL\n *\n * @param {string} name\n * @param {number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setTTL = function (name, ttl, txConfig, callback) {\n return this.registry.setTTL(name, ttl, txConfig, callback);\n};\n/**\n * Returns the owner by the given name and current configured or detected Registry\n *\n * @method getOwner\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getOwner = function (name, callback) {\n return this.registry.getOwner(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setOwner\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setOwner = function (name, address, txConfig, callback) {\n return this.registry.setOwner(name, address, txConfig, callback);\n};\n/**\n * Returns the address record associated with a name.\n *\n * @method getAddress\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getAddress = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'addr', []).call(callback);\n};\n/**\n * Sets a new address\n *\n * @method setAddress\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setAddress = function (name, address, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'setAddr', [address]).send(txConfig, callback);\n};\n/**\n * Returns the public key\n *\n * @method getPubkey\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getPubkey = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'pubkey', [], null, callback).call(callback);\n};\n/**\n * Set the new public key\n *\n * @method setPubkey\n *\n * @param {string} name\n * @param {string} x\n * @param {string} y\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setPubkey = function (name, x, y, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'setPubkey', [x, y]).send(txConfig, callback);\n};\n/**\n * Returns the content\n *\n * @method getContent\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getContent = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'content', []).call(callback);\n};\n/**\n * Set the content\n *\n * @method setContent\n *\n * @param {string} name\n * @param {string} hash\n * @param {function} callback\n * @param {TransactionConfig} txConfig\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setContent = function (name, hash, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'setContent', [hash]).send(txConfig, callback);\n};\n/**\n * Returns the contenthash\n *\n * @method getContenthash\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getContenthash = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'contenthash', [], contenthash.decode).call(callback);\n};\n/**\n * Set the contenthash\n *\n * @method setContent\n *\n * @param {string} name\n * @param {string} hash\n * @param {function} callback\n * @param {TransactionConfig} txConfig\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setContenthash = function (name, hash, txConfig, callback) {\n var encoded;\n try {\n encoded = contenthash.encode(hash);\n }\n catch (err) {\n var error = new Error('Could not encode ' + hash + '. See docs for supported hash protocols.');\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n throw error;\n }\n return this.resolverMethodHandler.method(name, 'setContenthash', [encoded]).send(txConfig, callback);\n};\n/**\n * Get the multihash\n *\n * @method getMultihash\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getMultihash = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'multihash', []).call(callback);\n};\n/**\n * Set the multihash\n *\n * @method setMultihash\n *\n * @param {string} name\n * @param {string} hash\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setMultihash = function (name, hash, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'multihash', [hash]).send(txConfig, callback);\n};\n/**\n * Checks if the current used network is synced and looks for ENS support there.\n * Throws an error if not.\n *\n * @returns {Promise}\n */\nENS.prototype.checkNetwork = async function () {\n var now = new Date() / 1000;\n if (!this._lastSyncCheck || (now - this._lastSyncCheck) > 3600) {\n var block = await this.eth.getBlock('latest');\n var headAge = now - block.timestamp;\n if (headAge > 3600) {\n throw new Error(\"Network not synced; last block was \" + headAge + \" seconds ago\");\n }\n this._lastSyncCheck = now;\n }\n if (this.registryAddress) {\n return this.registryAddress;\n }\n if (!this._detectedAddress) {\n var networkType = await this.eth.net.getNetworkType();\n var addr = config.addresses[networkType];\n if (typeof addr === 'undefined') {\n throw new Error(\"ENS is not supported on network \" + networkType);\n }\n this._detectedAddress = addr;\n return this._detectedAddress;\n }\n return this._detectedAddress;\n};\nmodule.exports = ENS;\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 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 Registry.js\n *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar Contract = require('web3-eth-contract');\nvar namehash = require('eth-ens-namehash');\nvar PromiEvent = require('web3-core-promievent');\nvar formatters = require('web3-core-helpers').formatters;\nvar utils = require('web3-utils');\nvar REGISTRY_ABI = require('../resources/ABI/Registry');\nvar RESOLVER_ABI = require('../resources/ABI/Resolver');\n/**\n * A wrapper around the ENS registry contract.\n *\n * @method Registry\n * @param {Ens} ens\n * @constructor\n */\nfunction Registry(ens) {\n var self = this;\n this.ens = ens;\n this.contract = ens.checkNetwork().then(function (address) {\n var contract = new Contract(REGISTRY_ABI, address);\n contract.setProvider(self.ens.eth.currentProvider);\n return contract;\n });\n}\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @deprecated Please use the \"getOwner\" method instead of \"owner\"\n *\n * @method owner\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.owner = function (name, callback) {\n console.warn('Deprecated: Please use the \"getOwner\" method instead of \"owner\".');\n return this.getOwner(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method getOwner\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.getOwner = function (name, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.owner(namehash.hash(name)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setOwner\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setOwner = function (name, address, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setOwner(namehash.hash(name), formatters.inputAddressFormatter(address)).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the TTL of the given node by his name\n *\n * @method getTTL\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returnss {Promise}\n */\nRegistry.prototype.getTTL = function (name, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.ttl(namehash.hash(name)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setTTL\n *\n * @param {string} name\n * @param {number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setTTL = function (name, ttl, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setTTL(namehash.hash(name), ttl).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setSubnodeOwner\n *\n * @param {string} name\n * @param {string} label\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setSubnodeOwner = function (name, label, address, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n if (!utils.isHexStrict(label)) {\n label = utils.sha3(label);\n }\n this.contract.then(function (contract) {\n return contract.methods.setSubnodeOwner(namehash.hash(name), label, formatters.inputAddressFormatter(address)).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Sets the owner, resolver, and TTL for an ENS record in a single operation.\n *\n * @method setRecord\n *\n * @param {string} name\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setRecord = function (name, owner, resolver, ttl, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setRecord(namehash.hash(name), formatters.inputAddressFormatter(owner), formatters.inputAddressFormatter(resolver), ttl).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Sets the owner, resolver and TTL for a subdomain, creating it if necessary.\n *\n * @method setSubnodeRecord\n *\n * @param {string} name\n * @param {string} label\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setSubnodeRecord = function (name, label, owner, resolver, ttl, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n if (!utils.isHexStrict(label)) {\n label = utils.sha3(label);\n }\n this.contract.then(function (contract) {\n return contract.methods.setSubnodeRecord(namehash.hash(name), label, formatters.inputAddressFormatter(owner), formatters.inputAddressFormatter(resolver), ttl).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Sets or clears an approval by the given operator.\n *\n * @method setApprovalForAll\n *\n * @param {string} operator\n * @param {boolean} approved\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setApprovalForAll = function (operator, approved, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setApprovalForAll(formatters.inputAddressFormatter(operator), approved).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns true if the operator is approved\n *\n * @method isApprovedForAll\n *\n * @param {string} owner\n * @param {string} operator\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.isApprovedForAll = function (owner, operator, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.isApprovedForAll(formatters.inputAddressFormatter(owner), formatters.inputAddressFormatter(operator)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns true if the record exists\n *\n * @method recordExists\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.recordExists = function (name, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.recordExists(namehash.hash(name)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the resolver contract associated with a name.\n *\n * @deprecated Please use the \"getResolver\" method instead of \"resolver\"\n *\n * @method resolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.resolver = function (name, callback) {\n console.warn('Deprecated: Please use the \"getResolver\" method instead of \"resolver\".');\n return this.getResolver(name, callback);\n};\n/**\n * Returns the resolver contract associated with a name.\n *\n * @method getResolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.getResolver = function (name, callback) {\n var self = this;\n return this.contract.then(function (contract) {\n return contract.methods.resolver(namehash.hash(name)).call();\n }).then(function (address) {\n var contract = new Contract(RESOLVER_ABI, address);\n contract.setProvider(self.ens.eth.currentProvider);\n if (typeof callback === 'function') {\n // It's required to pass the contract to the first argument to be backward compatible and to have the required consistency\n callback(contract, contract);\n return;\n }\n return contract;\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n throw error;\n });\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setResolver\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setResolver = function (name, address, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setResolver(namehash.hash(name), formatters.inputAddressFormatter(address)).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\nmodule.exports = Registry;\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 *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar ENS = require('./ENS');\nmodule.exports = ENS;\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 ResolverMethodHandler.js\n *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar PromiEvent = require('web3-core-promievent');\nvar namehash = require('eth-ens-namehash');\nvar errors = require('web3-core-helpers').errors;\nvar interfaceIds = require('../config').interfaceIds;\n/**\n * @param {Registry} registry\n * @constructor\n */\nfunction ResolverMethodHandler(registry) {\n this.registry = registry;\n}\n/**\n * Executes an resolver method and returns an eventifiedPromise\n *\n * @param {string} ensName\n * @param {string} methodName\n * @param {array} methodArguments\n * @param {function} callback\n * @returns {Object}\n */\nResolverMethodHandler.prototype.method = function (ensName, methodName, methodArguments, outputFormatter, callback) {\n return {\n call: this.call.bind({\n ensName: ensName,\n methodName: methodName,\n methodArguments: methodArguments,\n callback: callback,\n parent: this,\n outputFormatter: outputFormatter\n }),\n send: this.send.bind({\n ensName: ensName,\n methodName: methodName,\n methodArguments: methodArguments,\n callback: callback,\n parent: this\n })\n };\n};\n/**\n * Executes call\n *\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.call = function (callback) {\n var self = this;\n var promiEvent = new PromiEvent();\n var preparedArguments = this.parent.prepareArguments(this.ensName, this.methodArguments);\n var outputFormatter = this.outputFormatter || null;\n this.parent.registry.getResolver(this.ensName).then(async function (resolver) {\n await self.parent.checkInterfaceSupport(resolver, self.methodName);\n self.parent.handleCall(promiEvent, resolver.methods[self.methodName], preparedArguments, outputFormatter, callback);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Executes send\n *\n * @param {Object} sendOptions\n * @param {function} callback\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.send = function (sendOptions, callback) {\n var self = this;\n var promiEvent = new PromiEvent();\n var preparedArguments = this.parent.prepareArguments(this.ensName, this.methodArguments);\n this.parent.registry.getResolver(this.ensName).then(async function (resolver) {\n await self.parent.checkInterfaceSupport(resolver, self.methodName);\n self.parent.handleSend(promiEvent, resolver.methods[self.methodName], preparedArguments, sendOptions, callback);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Handles a call method\n *\n * @param {eventifiedPromise} promiEvent\n * @param {function} method\n * @param {array} preparedArguments\n * @param {function} callback\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.handleCall = function (promiEvent, method, preparedArguments, outputFormatter, callback) {\n method.apply(this, preparedArguments).call()\n .then(function (result) {\n if (outputFormatter) {\n result = outputFormatter(result);\n }\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the second argument to be backwards compatible and to have the required consistency\n callback(result, result);\n return;\n }\n promiEvent.resolve(result);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent;\n};\n/**\n * Handles a send method\n *\n * @param {eventifiedPromise} promiEvent\n * @param {function} method\n * @param {array} preparedArguments\n * @param {Object} sendOptions\n * @param {function} callback\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.handleSend = function (promiEvent, method, preparedArguments, sendOptions, callback) {\n method.apply(this, preparedArguments).send(sendOptions)\n .on('sending', function () {\n promiEvent.eventEmitter.emit('sending');\n })\n .on('sent', function () {\n promiEvent.eventEmitter.emit('sent');\n })\n .on('transactionHash', function (hash) {\n promiEvent.eventEmitter.emit('transactionHash', hash);\n })\n .on('confirmation', function (confirmationNumber, receipt) {\n promiEvent.eventEmitter.emit('confirmation', confirmationNumber, receipt);\n })\n .on('receipt', function (receipt) {\n promiEvent.eventEmitter.emit('receipt', receipt);\n promiEvent.resolve(receipt);\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the second argument to be backwards compatible and to have the required consistency\n callback(receipt, receipt);\n }\n })\n .on('error', function (error) {\n promiEvent.eventEmitter.emit('error', error);\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent;\n};\n/**\n * Adds the ENS node to the arguments\n *\n * @param {string} name\n * @param {array} methodArguments\n *\n * @returns {array}\n */\nResolverMethodHandler.prototype.prepareArguments = function (name, methodArguments) {\n var node = namehash.hash(name);\n if (methodArguments.length > 0) {\n methodArguments.unshift(node);\n return methodArguments;\n }\n return [node];\n};\n/**\n *\n *\n * @param {Contract} resolver\n * @param {string} methodName\n *\n * @returns {Promise}\n */\nResolverMethodHandler.prototype.checkInterfaceSupport = async function (resolver, methodName) {\n // Skip validation for undocumented interface ids (ex: multihash)\n if (!interfaceIds[methodName])\n return;\n var supported = false;\n try {\n supported = await resolver\n .methods\n .supportsInterface(interfaceIds[methodName])\n .call();\n }\n catch (err) {\n console.warn('Could not verify interface of resolver contract at \"' + resolver.options.address + '\". ');\n }\n if (!supported) {\n throw errors.ResolverMethodMissingError(resolver.options.address, methodName);\n }\n};\nmodule.exports = ResolverMethodHandler;\n","/*\nAdapted from ensdomains/ui\nhttps://github.com/ensdomains/ui/blob/3e62e440b53466eeec9dd1c63d73924eefbd88c1/src/utils/contents.js#L1-L85\n\nBSD 2-Clause License\n\nCopyright (c) 2019, Ethereum Name Service\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nvar contentHash = require('content-hash');\nfunction decode(encoded) {\n var decoded = null;\n var protocolType = null;\n var error = null;\n if (encoded && encoded.error) {\n return {\n protocolType: null,\n decoded: encoded.error\n };\n }\n if (encoded) {\n try {\n decoded = contentHash.decode(encoded);\n var codec = contentHash.getCodec(encoded);\n if (codec === 'ipfs-ns') {\n protocolType = 'ipfs';\n }\n else if (codec === 'swarm-ns') {\n protocolType = 'bzz';\n }\n else if (codec === 'onion') {\n protocolType = 'onion';\n }\n else if (codec === 'onion3') {\n protocolType = 'onion3';\n }\n else {\n decoded = encoded;\n }\n }\n catch (e) {\n error = e.message;\n }\n }\n return {\n protocolType: protocolType,\n decoded: decoded,\n error: error\n };\n}\nfunction encode(text) {\n var content, contentType;\n var encoded = false;\n if (!!text) {\n var matched = text.match(/^(ipfs|bzz|onion|onion3):\\/\\/(.*)/) || text.match(/\\/(ipfs)\\/(.*)/);\n if (matched) {\n contentType = matched[1];\n content = matched[2];\n }\n try {\n if (contentType === 'ipfs') {\n if (content.length >= 4) {\n encoded = '0x' + contentHash.fromIpfs(content);\n }\n }\n else if (contentType === 'bzz') {\n if (content.length >= 4) {\n encoded = '0x' + contentHash.fromSwarm(content);\n }\n }\n else if (contentType === 'onion') {\n if (content.length === 16) {\n encoded = '0x' + contentHash.encode('onion', content);\n }\n }\n else if (contentType === 'onion3') {\n if (content.length === 56) {\n encoded = '0x' + contentHash.encode('onion3', content);\n }\n }\n else {\n throw new Error('Could not encode content hash: unsupported content type');\n }\n }\n catch (err) {\n throw err;\n }\n }\n return encoded;\n}\nmodule.exports = {\n decode: decode,\n encode: encode\n};\n","\"use strict\";\nvar REGISTRY = [\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"resolver\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"owner\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"label\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setSubnodeOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setTTL\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"ttl\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"resolver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setResolver\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Transfer\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"name\": \"label\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NewOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"resolver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NewResolver\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"NewTTL\",\n \"type\": \"event\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"resolver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setRecord\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setApprovalForAll\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"ApprovalForAll\",\n \"type\": \"event\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isApprovedForAll\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"recordExists\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"label\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"resolver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setSubnodeRecord\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n];\nmodule.exports = REGISTRY;\n","\"use strict\";\nvar RESOLVER = [\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"interfaceID\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"contentTypes\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ABI\",\n \"outputs\": [\n {\n \"name\": \"contentType\",\n \"type\": \"uint256\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"hash\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"setMultihash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"multihash\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"x\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"y\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"setPubkey\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"content\",\n \"outputs\": [\n {\n \"name\": \"ret\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"addr\",\n \"outputs\": [\n {\n \"name\": \"ret\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"contentType\",\n \"type\": \"uint256\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"setABI\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"name\",\n \"outputs\": [\n {\n \"name\": \"ret\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"setName\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"hash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"setContent\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"pubkey\",\n \"outputs\": [\n {\n \"name\": \"x\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"y\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"addr\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAddr\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"name\": \"ensAddr\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"a\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddrChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"hash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"ContentChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"name\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"NameChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"name\": \"contentType\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ABIChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"x\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"y\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"PubkeyChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"hash\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"ContenthashChanged\",\n \"type\": \"event\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"contenthash\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"hash\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"setContenthash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n];\nmodule.exports = RESOLVER;\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.slice(4) + iban.slice(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.slice(2, 4);\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.slice(7, 11) : '';\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.slice(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.slice(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/**\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","/*\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 getNetworkType.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar getNetworkType = function (callback) {\n var _this = this, id;\n return this.net.getId()\n .then(function (givenId) {\n id = givenId;\n return _this.getBlock(0);\n })\n .then(function (genesis) {\n var returnValue = 'private';\n if (genesis.hash === '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3' &&\n id === 1) {\n returnValue = 'main';\n }\n if (genesis.hash === '0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d' &&\n id === 3) {\n returnValue = 'ropsten';\n }\n if (genesis.hash === '0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177' &&\n id === 4) {\n returnValue = 'rinkeby';\n }\n if (genesis.hash === '0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a' &&\n id === 5) {\n returnValue = 'goerli';\n }\n if (genesis.hash === '0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9' &&\n id === 42) {\n returnValue = 'kovan';\n }\n if (typeof callback === 'function') {\n callback(null, returnValue);\n }\n return returnValue;\n })\n .catch(function (err) {\n if (typeof callback === 'function') {\n callback(err);\n }\n else {\n throw err;\n }\n });\n};\nmodule.exports = getNetworkType;\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 helpers = require('web3-core-helpers');\nvar Subscriptions = require('web3-core-subscriptions').subscriptions;\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar Net = require('web3-net');\nvar ENS = require('web3-eth-ens');\nvar Personal = require('web3-eth-personal');\nvar BaseContract = require('web3-eth-contract');\nvar Iban = require('web3-eth-iban');\nvar Accounts = require('web3-eth-accounts');\nvar abi = require('web3-eth-abi');\nvar getNetworkType = require('./getNetworkType.js');\nvar formatter = helpers.formatters;\nvar blockCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? \"eth_getBlockByHash\" : \"eth_getBlockByNumber\";\n};\nvar transactionFromBlockCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getTransactionByBlockHashAndIndex' : 'eth_getTransactionByBlockNumberAndIndex';\n};\nvar uncleCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getUncleByBlockHashAndIndex' : 'eth_getUncleByBlockNumberAndIndex';\n};\nvar getBlockTransactionCountCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getBlockTransactionCountByHash' : 'eth_getBlockTransactionCountByNumber';\n};\nvar uncleCountCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getUncleCountByBlockHash' : 'eth_getUncleCountByBlockNumber';\n};\nvar Eth = function Eth() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n // overwrite package setRequestManager\n var setRequestManager = this.setRequestManager;\n this.setRequestManager = function (manager) {\n setRequestManager(manager);\n _this.net.setRequestManager(manager);\n _this.personal.setRequestManager(manager);\n _this.accounts.setRequestManager(manager);\n _this.Contract._requestManager = _this._requestManager;\n _this.Contract.currentProvider = _this._provider;\n return true;\n };\n // overwrite setProvider\n var setProvider = this.setProvider;\n this.setProvider = function () {\n setProvider.apply(_this, arguments);\n _this.setRequestManager(_this._requestManager);\n // Set detectedAddress/lastSyncCheck back to null because the provider could be connected to a different chain now\n _this.ens._detectedAddress = null;\n _this.ens._lastSyncCheck = null;\n };\n var handleRevert = false;\n var defaultAccount = null;\n var defaultBlock = 'latest';\n var transactionBlockTimeout = 50;\n var transactionConfirmationBlocks = 24;\n var transactionPollingTimeout = 750;\n var transactionPollingInterval = 1000;\n var blockHeaderTimeout = 10; // 10 seconds\n var maxListenersWarningThreshold = 100;\n var defaultChain, defaultHardfork, defaultCommon;\n Object.defineProperty(this, 'handleRevert', {\n get: function () {\n return handleRevert;\n },\n set: function (val) {\n handleRevert = val;\n // also set on the Contract object\n _this.Contract.handleRevert = handleRevert;\n // update handleRevert\n methods.forEach(function (method) {\n method.handleRevert = handleRevert;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultCommon', {\n get: function () {\n return defaultCommon;\n },\n set: function (val) {\n defaultCommon = val;\n // also set on the Contract object\n _this.Contract.defaultCommon = defaultCommon;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultCommon = defaultCommon;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultHardfork', {\n get: function () {\n return defaultHardfork;\n },\n set: function (val) {\n defaultHardfork = val;\n // also set on the Contract object\n _this.Contract.defaultHardfork = defaultHardfork;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultHardfork = defaultHardfork;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultChain', {\n get: function () {\n return defaultChain;\n },\n set: function (val) {\n defaultChain = val;\n // also set on the Contract object\n _this.Contract.defaultChain = defaultChain;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultChain = defaultChain;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionPollingTimeout', {\n get: function () {\n return transactionPollingTimeout;\n },\n set: function (val) {\n transactionPollingTimeout = val;\n // also set on the Contract object\n _this.Contract.transactionPollingTimeout = transactionPollingTimeout;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionPollingTimeout = transactionPollingTimeout;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionPollingInterval', {\n get: function () {\n return transactionPollingInterval;\n },\n set: function (val) {\n transactionPollingInterval = val;\n // also set on the Contract object\n _this.Contract.transactionPollingInterval = transactionPollingInterval;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionPollingInterval = transactionPollingInterval;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionConfirmationBlocks', {\n get: function () {\n return transactionConfirmationBlocks;\n },\n set: function (val) {\n transactionConfirmationBlocks = val;\n // also set on the Contract object\n _this.Contract.transactionConfirmationBlocks = transactionConfirmationBlocks;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionConfirmationBlocks = transactionConfirmationBlocks;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionBlockTimeout', {\n get: function () {\n return transactionBlockTimeout;\n },\n set: function (val) {\n transactionBlockTimeout = val;\n // also set on the Contract object\n _this.Contract.transactionBlockTimeout = transactionBlockTimeout;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionBlockTimeout = transactionBlockTimeout;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'blockHeaderTimeout', {\n get: function () {\n return blockHeaderTimeout;\n },\n set: function (val) {\n blockHeaderTimeout = val;\n // also set on the Contract object\n _this.Contract.blockHeaderTimeout = blockHeaderTimeout;\n // update defaultBlock\n methods.forEach(function (method) {\n method.blockHeaderTimeout = blockHeaderTimeout;\n });\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(formatter.inputAddressFormatter(val));\n }\n // also set on the Contract object\n _this.Contract.defaultAccount = defaultAccount;\n _this.personal.defaultAccount = defaultAccount;\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 // also set on the Contract object\n _this.Contract.defaultBlock = defaultBlock;\n _this.personal.defaultBlock = defaultBlock;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultBlock = defaultBlock;\n });\n return val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'maxListenersWarningThreshold', {\n get: function () {\n return maxListenersWarningThreshold;\n },\n set: function (val) {\n if (_this.currentProvider && _this.currentProvider.setMaxListeners) {\n maxListenersWarningThreshold = val;\n _this.currentProvider.setMaxListeners(val);\n }\n },\n enumerable: true\n });\n this.clearSubscriptions = _this._requestManager.clearSubscriptions.bind(_this._requestManager);\n this.removeSubscriptionById = _this._requestManager.removeSubscription.bind(_this._requestManager);\n // add net\n this.net = new Net(this);\n // add chain detection\n this.net.getNetworkType = getNetworkType.bind(this);\n // add accounts\n this.accounts = new Accounts(this);\n // add personal\n this.personal = new Personal(this);\n this.personal.defaultAccount = this.defaultAccount;\n // set warnings threshold\n this.maxListenersWarningThreshold = maxListenersWarningThreshold;\n // create a proxy Contract type for this instance, as a Contract's provider\n // is stored as a class member rather than an instance variable. If we do\n // not create this proxy type, changing the provider in one instance of\n // web3-eth would subsequently change the provider for _all_ contract\n // instances!\n var self = this;\n var Contract = function Contract() {\n BaseContract.apply(this, arguments);\n // when Eth.setProvider is called, call packageInit\n // on all contract instances instantiated via this Eth\n // instances. This will update the currentProvider for\n // the contract instances\n var _this = this;\n var setProvider = self.setProvider;\n self.setProvider = function () {\n setProvider.apply(self, arguments);\n core.packageInit(_this, [self]);\n };\n };\n Contract.setProvider = function () {\n BaseContract.setProvider.apply(this, arguments);\n };\n // make our proxy Contract inherit from web3-eth-contract so that it has all\n // the right functionality and so that instanceof and friends work properly\n Contract.prototype = Object.create(BaseContract.prototype);\n Contract.prototype.constructor = Contract;\n // add contract\n this.Contract = Contract;\n this.Contract.defaultAccount = this.defaultAccount;\n this.Contract.defaultBlock = this.defaultBlock;\n this.Contract.transactionBlockTimeout = this.transactionBlockTimeout;\n this.Contract.transactionConfirmationBlocks = this.transactionConfirmationBlocks;\n this.Contract.transactionPollingTimeout = this.transactionPollingTimeout;\n this.Contract.transactionPollingInterval = this.transactionPollingInterval;\n this.Contract.blockHeaderTimeout = this.blockHeaderTimeout;\n this.Contract.handleRevert = this.handleRevert;\n this.Contract._requestManager = this._requestManager;\n this.Contract._ethAccounts = this.accounts;\n this.Contract.currentProvider = this._requestManager.provider;\n // add IBAN\n this.Iban = Iban;\n // add ABI\n this.abi = abi;\n // add ENS\n this.ens = new ENS(this);\n var methods = [\n new Method({\n name: 'getNodeInfo',\n call: 'web3_clientVersion'\n }),\n new Method({\n name: 'getProtocolVersion',\n call: 'eth_protocolVersion',\n params: 0\n }),\n new Method({\n name: 'getCoinbase',\n call: 'eth_coinbase',\n params: 0\n }),\n new Method({\n name: 'isMining',\n call: 'eth_mining',\n params: 0\n }),\n new Method({\n name: 'getHashrate',\n call: 'eth_hashrate',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'isSyncing',\n call: 'eth_syncing',\n params: 0,\n outputFormatter: formatter.outputSyncingFormatter\n }),\n new Method({\n name: 'getGasPrice',\n call: 'eth_gasPrice',\n params: 0,\n outputFormatter: formatter.outputBigNumberFormatter\n }),\n new Method({\n name: 'getFeeHistory',\n call: 'eth_feeHistory',\n params: 3,\n inputFormatter: [utils.numberToHex, formatter.inputBlockNumberFormatter, null]\n }),\n new Method({\n name: 'getAccounts',\n call: 'eth_accounts',\n params: 0,\n outputFormatter: utils.toChecksumAddress\n }),\n new Method({\n name: 'getBlockNumber',\n call: 'eth_blockNumber',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getBalance',\n call: 'eth_getBalance',\n params: 2,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter],\n outputFormatter: formatter.outputBigNumberFormatter\n }),\n new Method({\n name: 'getStorageAt',\n call: 'eth_getStorageAt',\n params: 3,\n inputFormatter: [formatter.inputAddressFormatter, utils.numberToHex, formatter.inputDefaultBlockNumberFormatter]\n }),\n new Method({\n name: 'getCode',\n call: 'eth_getCode',\n params: 2,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter]\n }),\n new Method({\n name: 'getBlock',\n call: blockCall,\n params: 2,\n inputFormatter: [formatter.inputBlockNumberFormatter, function (val) { return !!val; }],\n outputFormatter: formatter.outputBlockFormatter\n }),\n new Method({\n name: 'getUncle',\n call: uncleCall,\n params: 2,\n inputFormatter: [formatter.inputBlockNumberFormatter, utils.numberToHex],\n outputFormatter: formatter.outputBlockFormatter,\n }),\n new Method({\n name: 'getBlockTransactionCount',\n call: getBlockTransactionCountCall,\n params: 1,\n inputFormatter: [formatter.inputBlockNumberFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getBlockUncleCount',\n call: uncleCountCall,\n params: 1,\n inputFormatter: [formatter.inputBlockNumberFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getTransaction',\n call: 'eth_getTransactionByHash',\n params: 1,\n inputFormatter: [null],\n outputFormatter: formatter.outputTransactionFormatter\n }),\n new Method({\n name: 'getTransactionFromBlock',\n call: transactionFromBlockCall,\n params: 2,\n inputFormatter: [formatter.inputBlockNumberFormatter, utils.numberToHex],\n outputFormatter: formatter.outputTransactionFormatter\n }),\n new Method({\n name: 'getTransactionReceipt',\n call: 'eth_getTransactionReceipt',\n params: 1,\n inputFormatter: [null],\n outputFormatter: formatter.outputTransactionReceiptFormatter\n }),\n new Method({\n name: 'getTransactionCount',\n call: 'eth_getTransactionCount',\n params: 2,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'sendSignedTransaction',\n call: 'eth_sendRawTransaction',\n params: 1,\n inputFormatter: [null],\n abiCoder: abi\n }),\n new Method({\n name: 'signTransaction',\n call: 'eth_signTransaction',\n params: 1,\n inputFormatter: [formatter.inputTransactionFormatter]\n }),\n new Method({\n name: 'sendTransaction',\n call: 'eth_sendTransaction',\n params: 1,\n inputFormatter: [formatter.inputTransactionFormatter],\n abiCoder: abi\n }),\n new Method({\n name: 'sign',\n call: 'eth_sign',\n params: 2,\n inputFormatter: [formatter.inputSignFormatter, formatter.inputAddressFormatter],\n transformPayload: function (payload) {\n payload.params.reverse();\n return payload;\n }\n }),\n new Method({\n name: 'call',\n call: 'eth_call',\n params: 2,\n inputFormatter: [formatter.inputCallFormatter, formatter.inputDefaultBlockNumberFormatter],\n abiCoder: abi\n }),\n new Method({\n name: 'estimateGas',\n call: 'eth_estimateGas',\n params: 1,\n inputFormatter: [formatter.inputCallFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'submitWork',\n call: 'eth_submitWork',\n params: 3\n }),\n new Method({\n name: 'getWork',\n call: 'eth_getWork',\n params: 0\n }),\n new Method({\n name: 'getPastLogs',\n call: 'eth_getLogs',\n params: 1,\n inputFormatter: [formatter.inputLogFormatter],\n outputFormatter: formatter.outputLogFormatter\n }),\n new Method({\n name: 'getChainId',\n call: 'eth_chainId',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'requestAccounts',\n call: 'eth_requestAccounts',\n params: 0,\n outputFormatter: utils.toChecksumAddress\n }),\n new Method({\n name: 'getProof',\n call: 'eth_getProof',\n params: 3,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputStorageKeysFormatter, formatter.inputDefaultBlockNumberFormatter],\n outputFormatter: formatter.outputProofFormatter\n }),\n new Method({\n name: 'getPendingTransactions',\n call: 'eth_pendingTransactions',\n params: 0,\n outputFormatter: formatter.outputTransactionFormatter\n }),\n new Method({\n name: 'createAccessList',\n call: 'eth_createAccessList',\n params: 2,\n inputFormatter: [formatter.inputTransactionFormatter, formatter.inputDefaultBlockNumberFormatter],\n }),\n // subscriptions\n new Subscriptions({\n name: 'subscribe',\n type: 'eth',\n subscriptions: {\n 'newBlockHeaders': {\n // TODO rename on RPC side?\n subscriptionName: 'newHeads',\n params: 0,\n outputFormatter: formatter.outputBlockFormatter\n },\n 'pendingTransactions': {\n subscriptionName: 'newPendingTransactions',\n params: 0\n },\n 'logs': {\n params: 1,\n inputFormatter: [formatter.inputLogFormatter],\n outputFormatter: formatter.outputLogFormatter,\n // DUBLICATE, also in web3-eth-contract\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 'syncing': {\n params: 0,\n outputFormatter: formatter.outputSyncingFormatter,\n subscriptionHandler: function (output) {\n var _this = this;\n // fire TRUE at start\n if (this._isSyncing !== true) {\n this._isSyncing = true;\n this.emit('changed', _this._isSyncing);\n if (typeof this.callback === 'function') {\n this.callback(null, _this._isSyncing, this);\n }\n setTimeout(function () {\n _this.emit('data', output);\n if (typeof _this.callback === 'function') {\n _this.callback(null, output, _this);\n }\n }, 0);\n // fire sync status\n }\n else {\n this.emit('data', output);\n if (typeof _this.callback === 'function') {\n this.callback(null, output, this);\n }\n // wait for some time before fireing the FALSE\n clearTimeout(this._isSyncingTimeout);\n this._isSyncingTimeout = setTimeout(function () {\n if (output.currentBlock > output.highestBlock - 200) {\n _this._isSyncing = false;\n _this.emit('changed', _this._isSyncing);\n if (typeof _this.callback === 'function') {\n _this.callback(null, _this._isSyncing, _this);\n }\n }\n }, 500);\n }\n }\n }\n }\n })\n ];\n methods.forEach(function (method) {\n method.attachToObject(_this);\n method.setRequestManager(_this._requestManager, _this.accounts); // second param is the eth.accounts module (necessary for signing transactions locally)\n method.defaultBlock = _this.defaultBlock;\n method.defaultAccount = _this.defaultAccount;\n method.transactionBlockTimeout = _this.transactionBlockTimeout;\n method.transactionConfirmationBlocks = _this.transactionConfirmationBlocks;\n method.transactionPollingTimeout = _this.transactionPollingTimeout;\n method.transactionPollingInterval = _this.transactionPollingInterval;\n method.handleRevert = _this.handleRevert;\n });\n};\n// Adds the static givenProvider and providers property to the Eth module\ncore.addProviders(Eth);\nmodule.exports = Eth;\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","/*\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 * AyanamiTech \n * @date 2015\n */\nvar errors = require('web3-core-helpers').errors;\nvar http = require('http');\nvar https = require('https');\n// Apply missing polyfill for IE\nrequire('cross-fetch/polyfill');\nrequire('es6-promise').polyfill();\n// import abortController if abortController is not included in node\nif (typeof global !== \"undefined\" && !global.AbortController) {\n require('abortcontroller-polyfill/dist/polyfill-patch-fetch');\n}\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;\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};\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 options = {\n method: 'POST',\n body: JSON.stringify(payload)\n };\n var headers = {};\n var controller;\n if (typeof AbortController !== 'undefined') {\n controller = new AbortController();\n }\n else if (typeof window !== 'undefined' && typeof window.AbortController !== 'undefined') {\n // Some chrome version doesn't recognize new AbortController(); so we are using it from window instead\n // https://stackoverflow.com/questions/55718778/why-abortcontroller-is-not-defined\n controller = new window.AbortController();\n }\n if (typeof controller !== 'undefined') {\n options.signal = controller.signal;\n }\n // the current runtime is node\n if (typeof XMLHttpRequest === 'undefined') {\n // https://github.com/node-fetch/node-fetch#custom-agent\n var agents = { httpsAgent: this.httpsAgent, httpAgent: this.httpAgent };\n if (this.agent) {\n agents.httpsAgent = this.agent.https;\n agents.httpAgent = this.agent.http;\n }\n if (this.host.substring(0, 5) === \"https\") {\n options.agent = agents.httpsAgent;\n }\n else {\n options.agent = agents.httpAgent;\n }\n }\n if (this.headers) {\n this.headers.forEach(function (header) {\n headers[header.name] = header.value;\n });\n }\n // Default headers\n if (!headers['Content-Type']) {\n headers['Content-Type'] = 'application/json';\n }\n // As the Fetch API supports the credentials as following options 'include', 'omit', 'same-origin'\n // https://developer.mozilla.org/en-US/docs/Web/API/fetch#credentials\n // To avoid breaking change in 1.x we override this value based on boolean option.\n if (this.withCredentials) {\n options.credentials = 'include';\n }\n else {\n options.credentials = 'omit';\n }\n options.headers = headers;\n if (this.timeout > 0 && typeof controller !== 'undefined') {\n this.timeoutId = setTimeout(function () {\n controller.abort();\n }, this.timeout);\n }\n var success = function (response) {\n if (this.timeoutId !== undefined) {\n clearTimeout(this.timeoutId);\n }\n // Response is a stream data so should be awaited for json response\n response.json().then(function (data) {\n callback(null, data);\n }).catch(function (error) {\n callback(errors.InvalidResponse(response));\n });\n };\n var failed = function (error) {\n if (this.timeoutId !== undefined) {\n clearTimeout(this.timeoutId);\n }\n if (error.name === 'AbortError') {\n callback(errors.ConnectionTimeout(this.timeout));\n }\n callback(errors.InvalidConnection(this.host));\n };\n fetch(this.host, options)\n .then(success.bind(this))\n .catch(failed.bind(this));\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","/*\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 index.js\n * @authors:\n * Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar errors = require('web3-core-helpers').errors;\nvar oboe = require('oboe');\nvar IpcProvider = function IpcProvider(path, net) {\n var _this = this;\n this.responseCallbacks = {};\n this.notificationCallbacks = [];\n this.path = path;\n this.connected = false;\n this.connection = net.connect({ path: this.path });\n this.addDefaultEvents();\n // LISTEN FOR CONNECTION RESPONSES\n var callback = function (result) {\n /*jshint maxcomplexity: 6 */\n var id = null;\n // get the id which matches the returned id\n if (Array.isArray(result)) {\n result.forEach(function (load) {\n if (_this.responseCallbacks[load.id])\n id = load.id;\n });\n }\n else {\n id = result.id;\n }\n // notification\n if (!id && result.method.indexOf('_subscription') !== -1) {\n _this.notificationCallbacks.forEach(function (callback) {\n if (typeof callback === 'function')\n callback(result);\n });\n // fire the callback\n }\n else if (_this.responseCallbacks[id]) {\n _this.responseCallbacks[id](null, result);\n delete _this.responseCallbacks[id];\n }\n };\n // use oboe.js for Sockets\n if (net.constructor.name === 'Socket') {\n oboe(this.connection)\n .done(callback);\n }\n else {\n this.connection.on('data', function (data) {\n _this._parseResponse(data.toString()).forEach(callback);\n });\n }\n};\n/**\nWill add the error and end event to timeout existing calls\n\n@method addDefaultEvents\n*/\nIpcProvider.prototype.addDefaultEvents = function () {\n var _this = this;\n this.connection.on('connect', function () {\n _this.connected = true;\n });\n this.connection.on('close', function () {\n _this.connected = false;\n });\n this.connection.on('error', function () {\n _this._timeout();\n });\n this.connection.on('end', function () {\n _this._timeout();\n });\n this.connection.on('timeout', function () {\n _this._timeout();\n });\n};\n/**\n Will parse the response and make an array out of it.\n\n NOTE, this exists for backwards compatibility reasons.\n\n @method _parseResponse\n @param {String} data\n */\nIpcProvider.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 _this._timeout();\n throw errors.InvalidResponse(data);\n }, 1000 * 15);\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/**\nGet the adds a callback to the responseCallbacks object,\nwhich will be called if a response matching the response Id will arrive.\n\n@method _addResponseCallback\n*/\nIpcProvider.prototype._addResponseCallback = function (payload, callback) {\n var id = payload.id || payload[0].id;\n var method = payload.method || payload[0].method;\n this.responseCallbacks[id] = callback;\n this.responseCallbacks[id].method = method;\n};\n/**\nTimeout all requests when the end/error event is fired\n\n@method _timeout\n*/\nIpcProvider.prototype._timeout = function () {\n for (var key in this.responseCallbacks) {\n if (this.responseCallbacks.hasOwnProperty(key)) {\n this.responseCallbacks[key](errors.InvalidConnection('on IPC'));\n delete this.responseCallbacks[key];\n }\n }\n};\n/**\n Try to reconnect\n\n @method reconnect\n */\nIpcProvider.prototype.reconnect = function () {\n this.connection.connect({ path: this.path });\n};\nIpcProvider.prototype.send = function (payload, callback) {\n // try reconnect, when connection is gone\n if (!this.connection.writable)\n this.connection.connect({ path: this.path });\n this.connection.write(JSON.stringify(payload));\n this._addResponseCallback(payload, callback);\n};\n/**\nSubscribes to provider events.provider\n\n@method on\n@param {String} type 'notification', 'connect', 'error', 'end' or 'data'\n@param {Function} callback the callback to call\n*/\nIpcProvider.prototype.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.notificationCallbacks.push(callback);\n break;\n // adds error, end, timeout, connect\n default:\n this.connection.on(type, callback);\n break;\n }\n};\n/**\n Subscribes to provider events.provider\n\n @method on\n @param {String} type 'connect', 'error', 'end' or 'data'\n @param {Function} callback the callback to call\n */\nIpcProvider.prototype.once = function (type, callback) {\n if (typeof callback !== 'function')\n throw new Error('The second parameter callback must be a function.');\n this.connection.once(type, callback);\n};\n/**\nRemoves event listener\n\n@method removeListener\n@param {String} type 'data', 'connect', 'error', 'end' or 'data'\n@param {Function} callback the callback to call\n*/\nIpcProvider.prototype.removeListener = function (type, callback) {\n var _this = this;\n switch (type) {\n case 'data':\n this.notificationCallbacks.forEach(function (cb, index) {\n if (cb === callback)\n _this.notificationCallbacks.splice(index, 1);\n });\n break;\n default:\n this.connection.removeListener(type, callback);\n break;\n }\n};\n/**\nRemoves all event listeners\n\n@method removeAllListeners\n@param {String} type 'data', 'connect', 'error', 'end' or 'data'\n*/\nIpcProvider.prototype.removeAllListeners = function (type) {\n switch (type) {\n case 'data':\n this.notificationCallbacks = [];\n break;\n default:\n this.connection.removeAllListeners(type);\n break;\n }\n};\n/**\nResets the providers, clears all callbacks\n\n@method reset\n*/\nIpcProvider.prototype.reset = function () {\n this._timeout();\n this.notificationCallbacks = [];\n this.connection.removeAllListeners('error');\n this.connection.removeAllListeners('end');\n this.connection.removeAllListeners('timeout');\n this.addDefaultEvents();\n};\n/**\n * Returns the desired boolean.\n *\n * @method supportsSubscriptions\n * @returns {boolean}\n */\nIpcProvider.prototype.supportsSubscriptions = function () {\n return true;\n};\nmodule.exports = IpcProvider;\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(typeof globalThis === 'object' ? globalThis : self);\n helpers = function (url) {\n return new URL(url);\n };\n}\nmodule.exports = {\n parseURL: helpers,\n btoa: _btoa\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 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 this.connectFailedDescription = null;\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};\nWebsocketProvider.prototype._onConnectFailed = function (event) {\n this.connectFailedDescription = event.toString().split('\\n')[0];\n var _this = this;\n if (this.connectFailedDescription) {\n event.description = this.connectFailedDescription;\n this.connectFailedDescription = null; // clean the message, so it won't be used in the next connection\n }\n event.code = 1006;\n event.reason = 'connection failed';\n if (this.reconnectOptions.auto && (![1000, 1001].includes(event.code) || event.wasClean === false)) {\n this.reconnect();\n return;\n }\n this.emit(this.ERROR, 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 //clean connection on our own\n if (this.connection._connection) {\n this.connection._connection.removeAllListeners();\n }\n this.connection._client.removeAllListeners();\n this.connection._readyState = 3; // set readyState to CLOSED\n this.emit(this.CLOSE, event);\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 if (this.connection._client) {\n this.connection._client.removeAllListeners('connectFailed'); //Override the internal listeners, so they don't trigger a `close` event. We want to trigger `_onClose` manually with a description.\n this.connection._client.on('connectFailed', this._onConnectFailed.bind(this));\n }\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 if (this.connection._connection)\n this.connection._client.removeListener('connectFailed', this._onConnectFailed);\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 try {\n _this.responseQueue.delete(key);\n request.callback(errors.PendingRequestsOnReconnectingError());\n }\n catch (e) {\n console.error(\"Error encountered in reconnect: \", e);\n }\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","/*\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 Subscriptions = require('web3-core-subscriptions').subscriptions;\nvar Method = require('web3-core-method');\n// var formatters = require('web3-core-helpers').formatters;\nvar Net = require('web3-net');\nvar Shh = function Shh() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n // overwrite package setRequestManager\n var setRequestManager = this.setRequestManager;\n this.setRequestManager = function (manager) {\n setRequestManager(manager);\n _this.net.setRequestManager(manager);\n return true;\n };\n // overwrite setProvider\n var setProvider = this.setProvider;\n this.setProvider = function () {\n setProvider.apply(_this, arguments);\n _this.setRequestManager(_this._requestManager);\n };\n this.net = new Net(this);\n [\n new Subscriptions({\n name: 'subscribe',\n type: 'shh',\n subscriptions: {\n 'messages': {\n params: 1\n // inputFormatter: [formatters.inputPostFormatter],\n // outputFormatter: formatters.outputPostFormatter\n }\n }\n }),\n new Method({\n name: 'getVersion',\n call: 'shh_version',\n params: 0\n }),\n new Method({\n name: 'getInfo',\n call: 'shh_info',\n params: 0\n }),\n new Method({\n name: 'setMaxMessageSize',\n call: 'shh_setMaxMessageSize',\n params: 1\n }),\n new Method({\n name: 'setMinPoW',\n call: 'shh_setMinPoW',\n params: 1\n }),\n new Method({\n name: 'markTrustedPeer',\n call: 'shh_markTrustedPeer',\n params: 1\n }),\n new Method({\n name: 'newKeyPair',\n call: 'shh_newKeyPair',\n params: 0\n }),\n new Method({\n name: 'addPrivateKey',\n call: 'shh_addPrivateKey',\n params: 1\n }),\n new Method({\n name: 'deleteKeyPair',\n call: 'shh_deleteKeyPair',\n params: 1\n }),\n new Method({\n name: 'hasKeyPair',\n call: 'shh_hasKeyPair',\n params: 1\n }),\n new Method({\n name: 'getPublicKey',\n call: 'shh_getPublicKey',\n params: 1\n }),\n new Method({\n name: 'getPrivateKey',\n call: 'shh_getPrivateKey',\n params: 1\n }),\n new Method({\n name: 'newSymKey',\n call: 'shh_newSymKey',\n params: 0\n }),\n new Method({\n name: 'addSymKey',\n call: 'shh_addSymKey',\n params: 1\n }),\n new Method({\n name: 'generateSymKeyFromPassword',\n call: 'shh_generateSymKeyFromPassword',\n params: 1\n }),\n new Method({\n name: 'hasSymKey',\n call: 'shh_hasSymKey',\n params: 1\n }),\n new Method({\n name: 'getSymKey',\n call: 'shh_getSymKey',\n params: 1\n }),\n new Method({\n name: 'deleteSymKey',\n call: 'shh_deleteSymKey',\n params: 1\n }),\n new Method({\n name: 'newMessageFilter',\n call: 'shh_newMessageFilter',\n params: 1\n }),\n new Method({\n name: 'getFilterMessages',\n call: 'shh_getFilterMessages',\n params: 1\n }),\n new Method({\n name: 'deleteMessageFilter',\n call: 'shh_deleteMessageFilter',\n params: 1\n }),\n new Method({\n name: 'post',\n call: 'shh_post',\n params: 1,\n inputFormatter: [null]\n }),\n new Method({\n name: 'unsubscribe',\n call: 'shh_unsubscribe',\n params: 1\n })\n ].forEach(function (method) {\n method.attachToObject(_this);\n method.setRequestManager(_this._requestManager);\n });\n};\nShh.prototype.clearSubscriptions = function () {\n this._requestManager.clearSubscriptions();\n};\ncore.addProviders(Shh);\nmodule.exports = Shh;\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.slice(i, 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 * Block tag `safe` and `block number` combination param is not supported\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 // Increasing order: (genesis = earliest), safe, (finalized ~ latest), pending\n // safe vs block-num cant be compared as block number provided can be on left or right side of safe tag, until safe tag block number is extracted and compared\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 || a === 0) {\n // b !== a, thus a < b\n return -1;\n }\n else if (\"genesis\" === b || \"earliest\" === b || b === 0) {\n // b !== a, thus a > b\n return 1;\n }\n else if (a === \"latest\" || a === \"finalized\") {\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\" || b === \"finalized\") {\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 if (a === \"safe\" || b === \"safe\") {\n // either a or b is \"safe\" and the other one did not fall into any of the conditions above, so the other one is a number\n return undefined;\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","/*\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 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 ethereumjsUtil = require('ethereumjs-util');\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.slice(i, 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 * However, if the value is larger than the maximum safe integer, returns the value as a string.\n *\n * @method hexToNumber\n * @param {String|Number|BN} value\n * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */\nvar hexToNumber = function (value, bigIntOnOverflow = false) {\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 const n = toBN(value);\n if (bigIntOnOverflow && (n > Number.MAX_SAFE_INTEGER || n < Number.MIN_SAFE_INTEGER)) {\n return BigInt(n);\n }\n return n.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.slice(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.slice(c, 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 = ethereumjsUtil.toBuffer(value);\n }\n else if (typeof value === 'string') {\n // Assume value is an arbitrary string\n value = Buffer.from(value, 'utf-8');\n }\n var returnValue = ethereumjsUtil.bufferToHex(ethereumjsUtil.keccak256(value));\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 = ethereumjsUtil.keccak256;\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 * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */\nvar toNumber = function (value, bigIntOnOverflow = false) {\n return typeof value === 'number' ? value : hexToNumber(toHex(value), bigIntOnOverflow);\n};\n// 1.x currently accepts 0x... strings, bn.js after update doesn't. it would be a breaking change\nvar BNwrapped = function (value) {\n // check negative\n if (typeof value == \"string\" && value.includes(\"0x\")) {\n const [negative, hexValue] = value.toLocaleLowerCase().startsWith('-') ? [\"-\", value.slice(3)] : [\"\", value.slice(2)];\n return new BN(negative + hexValue, 16);\n }\n else {\n return new BN(value);\n }\n};\nObject.setPrototypeOf(BNwrapped, BN);\nObject.setPrototypeOf(BNwrapped.prototype, BN.prototype);\nmodule.exports = {\n BN: BNwrapped,\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 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","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\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 function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\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 if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _get.apply(this, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\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 subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) {\n keys.push(key);\n }\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(7001);\n"],"names":["root","factory","exports","module","define","amd","self","_getInitializedChains","customChains","names","chains","mainnet","ropsten","rinkeby","kovan","goerli","chain","name_1","name","chainId","toString","require","CustomChain","Hardfork","ConsensusAlgorithm","ConsensusType","Chain","opts","_super","_this","_customChains","_chainParams","setChain","DEFAULT_HARDFORK","defaultHardfork","Istanbul","hardforks","hf","forkHash","_calcForkHash","_hardfork","supportedHardforks","_supportedHardforks","hardfork","setHardfork","eips","setEIPs","__extends","Common","chainParamsOrName","baseChain","standardChainParams","_getChainParams","PolygonMainnet","custom","networkId","PolygonMumbai","ArbitrumRinkebyTestnet","xDaiChain","Error","customChainParams","initializedChains","Boolean","ethereumjs_util_1","isBN","plainCustomChains","length","Array","isArray","map","e","param","undefined","_isSupportedHardfork","existing","emit","blockNumber","td","BN","minTdHF","maxTdHF","previousHF","Chainstart","block","gte","gten","msgAdd","hardforkGteHardfork","msg","getHardforkByBlockNumber","onlySupported","hfs","chainName","eip","eips_1","minHF","this_1","gteHardfork","requiredEIPs","forEach","elem","includes","isActivatedEIP","_eips","topic","value","paramByEIP","paramByHardfork","_chooseHardfork","hfChanges","hfEIPs","valueEIP","v","eipParams","activeHfs","activeHardforks","hfBlock","hardforkBlockBN","hardforkIsActiveOnBlock","hardfork1","hardfork2","onlyActive","posHf1","posHf2","index","push","Number","_getHardfork","eq","nextHardforkBlockBN","reduce","acc","gt","nextHardforkBlock","genesis","Buffer","from","hash","substr","hfBuffer","alloc","prevBlock","hfBlockBuffer","padStart","concat","inputBuffer","data","resArray","filter","chainArrayWithGenesis","chainIdBN","networkIdBN","consensusAlgorithm","Object","assign","create","getPrototypeOf","events_1","txData","common_1","Mainnet","gasLimit","to","r","s","type","_type","toNumber","toB","vB","rB","sB","nonce","_validateCannotExceedMaxInteger","BaseTransaction","capability","activeCapabilities","stringError","errors","getBaseFee","isSigned","verifySignature","fee","getDataFee","addn","common","toCreationAddress","iaddn","txDataZero","txDataNonZero","cost","i","buf","publicKey","getSenderPublicKey","privateKey","hackApplied","supports","types_1","EIP155ReplayProtection","msgHash","getMessageToSign","tx","_processSignature","indexOf","splice","copy","isSupportedChainId","forCustomChain","DEFAULT_CHAIN","values","bits","entries","key","TRANSACTION_TYPE_BUFFER","accessList","maxFeePerGas","maxPriorityFeePerGas","_getCommon","accessListData","util_1","getAccessListData","AccessListJSON","verifyAccessList","lt","eqn","freeze","FeeMarketEIP1559Transaction","serialized","slice","equals","decode","fromValuesArray","fromSerializedTx","getDataFeeEIP2930","baseFee","gasPrice","min","sub","add","mul","base","raw","encode","hashMessage","message","isFrozen","cache","serialize","getMessageToVerifySignature","fromTxData","accessListJSON","getAccessListJSON","baseTransaction_1","AccessListEIP2930Transaction","yParity","enumerable","get","__exportStar","_validateTxV","chainIdDoubled","muln","Transaction","_getMessageToSign","vBN","iadd","numSub","subn","isEven","divn","onEIP155BlockOrLater","TransactionFactory","txOptions","txType","_1","EIP","isBuffer","fromSerializedData","transactionID","_common","Capability","isAccessListBuffer","input","firstItem","AccessLists","bufferAccessList","newAccessList","item","addressBuffer","address","storageItems","storageKeys","json","jsonItem","accessListItem","storageSlots","storageSlot","JSONItem","slot","accessListStorageKeyCost","accessListAddressCost","slots","logger","Logger","version","paramTypeBytes","RegExp","paramTypeNumber","AbiCoder","coerceFunc","baseType","AddressCoder","BooleanCoder","StringCoder","BytesCoder","ArrayCoder","_getCoder","arrayChildren","arrayLength","TupleCoder","components","component","NullCoder","match","size","parseInt","throwArgumentError","NumberCoder","FixedBytesCoder","allowLoose","Reader","_getWordSize","Writer","types","coders","ParamType","defaultValue","throwError","INVALID_ARGUMENT","count","coder","writer","_getWriter","loose","_getReader","defaultAbiCoder","result","checkErrors","path","object","childPath","error","Coder","localName","dynamic","wordSize","_data","_dataLength","_padding","Uint8Array","_writeData","bytes","paddingOffset","BigNumber","BUFFER_OVERRUN","offset","_getValue","_offset","_coerceFunc","coerce","alignedLength","Math","ceil","_peekBytes","readBytes","_throwError","writeValue","reader","readValue","toHexString","AnonymousCoder","pack","arrayValues","unique","argument","staticWriter","dynamicWriter","updateFuncs","dynamicOffset","updateFunc","writeUpdatableValue","baseOffset","func","appendWriter","unpack","baseReader","subReader","offsetReader","code","uniqueNames","accum","defineProperty","defaultChild","checkArgumentCount","isZero","DynamicBytesCoder","writeBytes","String","substring","signed","maxUintValue","MaxUint256","mask","bounds","One","NegativeOne","Zero","toTwos","fromTwos","join","_constructorGuard","ModifiersBytes","calldata","memory","storage","ModifiersNest","checkModifier","populate","params","FormatTypes","sighash","minimal","full","paramTypeArray","constructorGuard","UNSUPPORTED_OPERATION","operation","fromObject","_isParamType","format","indexed","comp","JSON","parse","stringify","allowIndexed","fromString","isParamType","verifyType","node","originalParam","newNode","parent","state","allowType","replace","c","allowParams","child","allowName","allowArray","sibling","readArray","parseParamType","parseParams","allowIndex","trim","depth","splitNesting","Fragment","_isFragment","isFragment","FunctionFragment","EventFragment","ConstructorFragment","ErrorFragment","split","anonymous","inputs","isEventFragment","verifyIdentifier","regexParen","modifier","warn","parseGas","gas","comps","parseModifiers","constant","payable","stateMutability","console","log","verifyState","isConstructorFragment","parens","outputs","output","isFunctionFragment","returns","checkForbidden","fragment","sig","isErrorFragment","regexIdentifier","LogDescription","Description","TransactionDescription","ErrorDescription","Indexed","_isIndexed","BuiltinErrors","signature","reason","wrapAccessError","property","wrap","Interface","fragments","abi","bucket","deploy","functions","events","j","nameOrSignatureOrSighash","getSighash","matching","keys","f","nameOrSignatureOrTopic","topichash","toLowerCase","getEventTopic","constructor","getFunction","getError","_","eventFragment","getEvent","_abiCoder","_encodeParams","_decodeParams","functionFragment","errorArgs","errorName","errorSignature","selector","builtin","CALL_EXCEPTION","method","UNEXPECTED_ARGUMENT","topics","encodeTopic","pop","dataTypes","dataValues","topicHash","expected","nonIndexed","resultIndexed","resultNonIndexed","nonIndexedIndex","indexedIndex","args","decodeEventLog","hexData","errorFragment","_isInterface","transaction","getAddress","salt","initCodeHash","base36","toUpperCase","ibanChecksum","getChecksumAddress","chars","expanded","charCodeAt","hashed","ibanLookup","fromCharCode","x","safeDigits","floor","log10","LN10","checksum","textData","atob","btoa","isBigNumber","_BN","MAX_SAFE","_warnedToStringRadix","hex","_hex","_isBigNumber","toBigNumber","toBN","other","throwFault","div","isNeg","umod","pow","isNegative","and","or","xor","maskn","shln","shrn","lte","BigInt","arguments","toHex","anyValue","fault","NUMERIC_FAULT","zeros","getMultiplier","decimals","formatFixed","multiplier","negative","fraction","mod","whole","parseFixed","wholeValue","fractionValue","wei","FixedFormat","width","_multiplier","check","FixedNumber","_value","_isFixedNumber","_checkFormat","a","b","fromValue","hasFraction","subUnsafe","ONE","toFormat","addUnsafe","factor","bump","BUMP","mulUnsafe","divUnsafe","parseFloat","fixedFormat","numeric","decimal","fromBytes","items","hexlify","isHexString","endOffset","trimmed","hexStripZeros","hexPad","splitSignature","recoveryParam","arrayify","start","isHexable","addSlice","array","prototype","call","apply","isBytesLike","isBytes","isInteger","options","checkSafeUint53","unshift","allowMissingPrefix","objects","set","zeroPad","HexCharacters","hexZeroPad","_vs","yParityAndS","compact","vs","recId","Two","WeiPerEther","MinInt256","MaxInt256","flat","flatDeep","arr","val","decode_arithmetic","pos","u16","symbol_count","total","skip","pos_payload","read_width","read_buffer","read_bit","FULL","HALF","QRTR","MASK","register","symbols","low","range","end","mid","read_payload","read_ascending","n","next","read_deltas","read_member_array","lookup","vX","vN","read_counts","read_zero_terminated_array","read_transposed","w","m","fill","read_linear_table","dx","dy","ys","j_dy","y","read_replacement_table","sorted","sort","read","branches","Set","temp","valid","fe0f","save","ret","fromEntries","ens_normalize_post_check","emoji_filter","explode_cp","reverse","emoji","consume_emoji_reversed","cp","VALID","has","IGNORED","cps","MAPPED","fromCodePoint","normalize","filter_fe0f","EMOJI_ROOT","label","lastIndexOf","every","err","eaten","saved","stack","find","text","messagePrefix","ensNameSplit","Zeros","checkComponent","last","padding","hexTrue","hexFalse","domainFieldTypes","verifyingContract","domainFieldNames","checkString","domainChecks","getBaseEncoder","boundsUpper","boundsLower","padOffset","hexPadRight","encodeType","fields","TypedDataEncoder","links","parents","subtypes","field","primaryTypes","t","checkCircular","found","subtype","primaryType","st","_types","encoder","_encoderCache","_getEncoder","subEncoder","getEncoder","keccak256","encodedType","encodeData","hashStruct","callback","_visit","domain","domainFields","EIP712Domain","hashDomain","resolveName","ensCache","visit","domainValues","domainTypes","typesWithDomain","sha3","keccak_256","INPUT_ERROR","WINDOW","window","JS_SHA3_NO_WINDOW","WEB_WORKER","JS_SHA3_NO_NODE_JS","process","versions","global","COMMON_JS","JS_SHA3_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_SHA3_NO_ARRAY_BUFFER","ArrayBuffer","HEX_CHARS","CSHAKE_PADDING","SHIFT","RC","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","obj","JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW","isView","buffer","createOutputMethod","outputType","Keccak","update","createShakeOutputMethod","outputBits","createCshakeOutputMethod","methods","createKmacOutputMethod","createOutputMethods","createMethod","algorithms","bytepad","Kmac","methodNames","algorithm","methodName","newMethodName","this","blocks","reset","finalized","blockCount","byteCount","outputBlocks","extraBytes","notString","lastByteIndex","right","o","encodeString","str","strs","paddingBytes","finalize","arrayBuffer","Uint32Array","digest","h","l","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","LogLevel","ErrorCode","_permanentCensorErrors","_censorErrors","LogLevels","debug","info","warning","off","_logLevel","_globalLogger","_normalizeError","missing","form","_checkNormalize","HEX","writable","logLevel","level","_log","levels","DEBUG","INFO","WARNING","makeError","UNKNOWN_ERROR","messageDetails","url","INSUFFICIENT_FUNDS","MISSING_NEW","NONCE_EXPIRED","REPLACEMENT_UNDERPRICED","TRANSACTION_REPLACED","UNPREDICTABLE_GAS_LIMIT","condition","expectedCount","MISSING_ARGUMENT","target","kind","censorship","permanent","globalLogger","properties","ctor","promises","Promise","resolve","then","all","results","defineReadOnly","opaque","bigint","boolean","number","string","_isFrozen","_deepCopy","deepCopy","decoded","_decode","consumed","_encode","arrayifyInteger","unarrayifyInteger","payload","_decodeChildren","childOffset","lengthLength","assert","equal","utils","zero2","word","res","toArray","enc","hi","lo","minAssert","minUtils","getNAF","num","naf","max","bitLength","ws","k","clone","z","andln","isOdd","isubn","iushrn","getJSF","k1","k2","jsf","m8","d1","d2","cmpn","u1","u2","m14","m24","cachedProperty","computer","parseBytes","intFromLE","BaseCurve","conf","p","red","prime","mont","zero","toRed","one","two","g","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","curve","precomputed","point","validate","_fixedNafMul","doubles","_getDoubles","I","step","nafW","repr","jpoint","mixedAdd","points","neg","toP","_wnafMul","nafPoints","_getNAFPoints","wnd","dblp","_wnafMulAdd","defW","coeffs","len","jacobianResult","wndWidth","comb","cmp","toJ","redNeg","ja","jb","tmp","decodePoint","byteLength","pointFromX","encodeCompressed","getX","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","superCtor","super_","configurable","TempCtor","ShortCurve","Base","tinv","redInvm","zeroA","fromRed","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","inherits","Point","isRed","inf","forceRed","JPoint","zOne","modn","lambda","betas","_getEndoRoots","lambdas","redMul","basis","vec","_getEndoBasis","ntinv","redSqrt","redAdd","redSub","a0","a1","a2","prevR","aprxSqrt","ushrn","u","x1","y1","x2","y2","q","len1","sqr","_endoSplit","v1","v2","divRound","p1","p2","q1","q2","odd","redSqr","redIAdd","ax","rhs","redISub","_endoWnafMulAdd","npoints","ncoeffs","ineg","fromJSON","pre","endoMul","toJSON","obj2point","inspect","isInfinity","nx","ny","ys1","dyinv","mulAdd","jmulAdd","_precompute","negate","zinv","zinv2","ay","pz2","z2","s1","s2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","t1","t2","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","d","delta","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","ee","yyu4","kbase","z3","pz3","eqXToP","zs","rx","xc","require$$0","short","require$$1","edwards","curves","PresetCurve","defineCurve","sha256","sha384","sha512","HmacDRBG","predResist","outLen","outSize","minEntropy","hmacStrength","_reseed","reseedInterval","K","V","entropy","entropyEnc","nonceEnc","pers","persEnc","_init","seed","_update","_hmac","hmac","kmac","reseed","addEnc","generate","KeyPair","ec","priv","pub","_importPrivate","privEnc","_importPublic","pubEnc","fromPublic","fromPrivate","getPublic","getPrivate","derive","sign","verify","Signature","_importDER","Position","place","getLength","initial","octetLen","rmPadding","constructLength","octets","LN2","rlen","slen","toDER","backHalf","rand","EC","hasOwnProperty","nh","keyPair","keyFromPrivate","keyFromPublic","genKeyPair","drbg","ns2","_truncateToN","truncOnly","bkey","ns1","iter","kp","kpX","invm","canonical","sinv","recoverPubKey","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Q","Qprime","elliptic","require$$2","require$$3","eddsa","_ec","rs","getCurve","_curve","SigningKey","p0","digestBytes","otherKey","otherKeyPair","computePublicKey","_isSigningKey","compressed","signingKey","HashZero","codes","Table_B_1_flags","_nameprepTableB2","UnicodeNormalizationForm","NFKC","_nameprepTableC","_nameprepTableA1","createTable","pair","createRangeTable","matchMap","ranges","Table_A_1_ranges","Table_B_2_ranges","Table_B_2_lut_abs","Table_B_2_lut_rel","Table_B_2_complex","Table_C_ranges","codepoint","shift","onError","getUtf8CodePoints","codePoint","escapeChar","current","toUtf8Bytes","_toUtf8String","Utf8ErrorReason","ignoreFunc","badCodepoint","BAD_PREFIX","UNEXPECTED_CONTINUE","OVERRUN","Utf8ErrorFuncs","ignore","OVERLONG","extraLength","overlongMask","nextChar","MISSING_CONTINUE","OUT_OF_RANGE","UTF16_SURROGATE","checkNormalize","codePoints","rawTransaction","RLP","handleNumber","handleAddress","recoverAddress","_parse","accessListify","_parseEipSignature","_serializeEip2930","_parseEip2930","_serializeEip1559","_parseEip1559","transactionType","allowedTransactionKeys","transactionFields","fieldInfo","maxLength","_serialize","TransactionTypes","computeAddress","formatNumber","accessSetify","addr","storageKey","localeCompare","formatAccessList","recid","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_getPrototypeOf","setPrototypeOf","bind","__proto__","_setPrototypeOf","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_isNativeReflectConstruct","Super","NewTarget","_superPropBase","_get","receiver","desc","getOwnPropertyDescriptor","Emitter","listeners","event","stackToCall","listener","once","removeEventListener","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","_inherits","aborted","onabort","AbortController","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signalReason","DOMException","signal","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","Request","Symbol","toStringTag","fetch","_abortableFetch","patchTargets","_patchTargets","_patchTargets$Request","NativeRequest","NativeAbortController","_patchTargets$__FORCE","init","request","realFetch","isPrototypeOf","abortError","reject","cancellation","addEventListener","race","abortableFetchDecorator","asn1","bignum","constants","decoders","encoders","Entity","body","_createNamed","Generated","entity","_initNamed","_getDecoder","reporter","Reporter","DecoderBuffer","EncoderBuffer","isEncoderBuffer","isDecoderBuffer","restore","isEmpty","readUInt8","fail","_reporterState","out","write","Node","tags","_baseState","children","tag","reverseArgs","choice","optional","any","use","useDecoder","explicit","implicit","contains","_wrap","stateProps","cstate","prop","_useArgs","arg","def","newKey","wrapResult","prevObj","present","prevKey","enterKey","_peekTag","isError","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","test","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","some","_createEncoderBuffer","_encodeValue","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","ReporterError","rethrow","pathLen","prev","now","inherited","partial","captureStackTrace","tagClass","tagClassByName","tagByName","_reverse","der","DERDecoder","tree","DERNode","derDecodeTag","oct","tagStr","derDecodeLen","decodedTag","_skipUntilEnd","decoder","possibleEnd","unused","readUInt16BE","numstr","printstr","relative","identifiers","ident","subident","first","second","year","mon","day","hour","sec","Date","UTC","pem","PEMDecoder","lines","re","base64","DEREncoder","encodedTag","encodeTag","header","lenOctets","writeUInt16BE","id","objid","time","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","dataBuffer","defaultBuffer","PEMEncoder","objectAssign","compare","_isBuffer","util","hasOwn","pSlice","functionsHaveNames","pToString","arrbuf","DataView","ok","regex","getName","isFunction","truncate","something","rawname","actual","operator","stackStartFunction","AssertionError","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","actualIndex","actualVisitedObjects","isPrimitive","aIsArgs","isArguments","bIsArgs","ka","objectKeys","kb","objEquiv","expectedException","_throws","shouldThrow","_tryBlock","userProvidedMessage","isUnexpectedException","generatedMessage","getMessage","fn_name","idx","next_line","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","formatRegExp","isString","isNull","isObject","deprecate","fn","isUndefined","noDeprecation","warned","throwDeprecation","traceDeprecation","trace","debugEnviron","debugs","ctx","seen","stylize","stylizeNoColor","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","simple","isNumber","formatPrimitive","visibleKeys","arrayToHash","getOwnPropertyNames","formatError","braces","toUTCString","formatProperty","formatArray","cur","reduceToSingleString","line","ar","objectToString","pad","debuglog","env","NODE_DEBUG","pid","isNullOrUndefined","isSymbol","months","timestamp","getHours","getMinutes","getSeconds","getDate","getMonth","origin","_Buffer","ALPHABET","BASE_MAP","charAt","BASE","LEADER","FACTOR","iFACTOR","decodeUnsafe","psz","zeroes","b256","carry","it3","it4","vch","allocUnsafe","pbegin","pend","b58","it1","it2","repeat","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","parts","maxChunkLength","len2","encodeChunk","endian","words","parseHex4Bits","parseHexByte","lowerBound","parseBase","move","dest","src","left","_initNumber","_initArray","_parseHex","_parseBase","_strip","limbLen","limbPow","imuln","_iaddn","_move","_expand","_normSign","for","groupSizes","groupBases","smallMulTo","ncarry","rword","maxJ","groupSize","groupBase","modrn","idivn","toBuffer","toArrayLike","ArrayType","reqLength","allocate","_toArrayLikeLE","position","_toArrayLikeBE","clz32","_countBits","_zeroBits","zeroBits","abs","inotn","testn","notn","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","isub","comb10MulTo","al0","ah0","al1","ah1","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","bl0","bh0","bl1","bh1","bl2","bh2","bl3","bh3","bl4","bh4","bl5","bh5","bl6","bh6","bl7","bh7","bl8","bh8","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","FFTM","mulTo","makeRBT","N","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","cos","PI","itwdf","sin","rtwdf_","itwdf_","ie","ro","io","guessLen13b","conjugate","normalize13b","round","convert13b","stub","ph","mulp","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","isNegNum","isqr","toBitArray","iushln","carryMask","newCarry","ishln","hint","extended","maskedWords","ishrn","ushln","imaskn","iabs","_ishlnsubmul","_wordDiv","mode","bhi","diff","qj","divmod","positive","dm","half","r2","egcd","A","B","C","D","yp","xp","im","jm","gcd","_invmp","bincn","ucmp","gtn","ltn","lten","Red","convertTo","_forceRed","convertFrom","redShl","shl","_verify2","redIMul","_verify1","redISqr","sqrt","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","_prime","Mont","imod","rinv","minv","ireduce","imulK","strip","mod3","nOne","lpow","inv","currentLen","Rand","_rand","getBytes","getByte","crypto","getRandomValues","msCrypto","randomBytes","asUInt32Array","readUInt32BE","scrubVec","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s3","ksRow","RCON","G","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_key","_reset","blockSize","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","writeUInt32BE","decryptBlock","m1","scrub","aes","Transform","GHASH","incr32","StreamCipher","iv","decrypt","_cipher","ck","_ghash","_finID","ghash","toPad","ivBits","tail","writeUIntBE","calcIv","_prev","_cache","_secCache","_decrypt","_alen","_len","_mode","_authTag","_called","chunk","rump","encrypt","_final","final","xorTest","getAuthTag","setAuthTag","setAAD","ciphers","deciphers","modes","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","AuthCipher","MODES","ebtk","Splitter","_last","_autopadding","suite","password","config","thing","flush","padded","unpad","setAutoPadding","setTo","autoPadding","PADDING","padBuff","writeUInt8","ZEROES","fromArray","_multiply","lsbVi","Vi","Zi","abl","bl","encryptStart","encryptByte","byteParam","shiftIn","getBlock","chunkNum","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","DES","aesModes","desModes","keyLen","ivLen","CipherBase","des","instantiate","EDE","modeName","_des","des3","getr","modulus","prime1","prime2","crt","blinds","blinder","publicExponent","unblinder","blind","blinded","qinv","coefficient","exponent1","m2","exponent2","createHash","stream","Sign","Writable","_hashType","_hash","_tag","_signType","Verify","createSign","createVerify","_write","done","createHmac","parseKeys","getKey","algo","hlen","hbits","bits2int","bits2octets","obits","makeKey","kv","makeR","hashType","signType","curveId","ecSign","priv_key","H","dsaSign","checkValue","pubkey","subjectPrivateKey","ecVerify","pub_key","unpacked","montp","dsaVerify","padNum","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","byteOffset","fromArrayLike","fromArrayBuffer","encoding","isEncoding","checked","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexSize","arrLength","valLength","foundIndex","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","list","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","isFinite","_arr","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUInt16LE","writeUInt32LE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","stringtrim","base64clean","dst","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","applyBind","table","varint","intTable","codecNameToCodeVarint","addPrefix","multicodecStrOrCode","prefix","varintBufferEncode","rmPrefix","getCodec","prefixedData","codecName","codec","getNumber","varintBufferDecode","getCode","getCodeVarint","getVarint","print","baseTable","nameTable","Map","encodingName","tableByCode","bufferToNumber","numberToBuffer","hexString","varintEncode","varintTable","mh","CIDUtil","checkCIDComponents","multibaseName","multihash","errorMsg","multibase","multicodec","codecs","_CID","withIs","isCID","cid","baseName","isEncoded","fromB58String","CID","validateCID","_buffer","toB58String","toBaseEncodedString","className","symbolName","StringDecoder","hashMode","_finalOrDigest","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","_transform","_flush","fin","Class","symbol","ClassIsWrapper","proto","withoutNew","cidV0ToV1Base32","ipfsHash","toV1","multiC","hexStringToBuffer","profiles","helpers","contentHash","profile","fromIpfs","fromSwarm","swarmHash","encodedValue","multiH","fromHexString","encodes","swarm","ipfs","utf8","decodes","hexMultiHash","b58MultiHash","CRC32","T0","Int32Array","signed_crc_table","TT","T","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","L","DO_NOT_EXPORT_CRC","ECDH","aliases","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","formatReturnValue","bn","p256","secp256r1","secp192r1","p384","p521","generateKeys","getPublicKey","computeSecret","inenc","getPrivateKey","setPublicKey","setPrivateKey","_priv","MD5","RIPEMD160","sha","Hash","alg","Legacy","md5","ZEROS","Hmac","blocksize","_alg","ipad","_ipad","opad","_opad","support","Blob","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","iterator","Headers","headers","append","bodyUsed","fileReaderReady","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","readAsText","readArrayBufferAsText","formData","oldValue","thisArg","upcased","credentials","referrer","decodeURIComponent","Response","bodyInit","status","statusText","response","redirectStatuses","redirect","location","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","polyfill","rng","pseudoRandomBytes","prng","algos","algoKeys","hashes","getHashes","pbkdf2","pbkdf2Sync","dh","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","createCredentials","token","singleMatcher","multiMatcher","decodeComponents","tokens","encodedURI","replaceMap","exec","customDecodeURIComponent","CBCState","_cbcInit","_cbcState","inp","inOff","outOff","superProto","bufferOff","_updateDecrypt","_updateEncrypt","_flushBuffer","inputOff","outputOff","_finalEncrypt","_finalDecrypt","_pad","_unpad","DESState","_desState","deriveKeys","shiftTable","kL","kR","pc1","r28shl","pc2","ip","_encrypt","lStart","rStart","keyL","keyR","expand","substitute","rip","EDEState","k3","_edeState","inL","inR","outL","outR","pc2table","sTable","permuteTable","padSplit","group","generatePrime","DH","ENCODINGS","gen","generator","genc","millerRabin","TWENTYFOUR","ELEVEN","TEN","THREE","SEVEN","_pub","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","rem","simpleSieve","fermatTest","checkPrime","__gen","_gen","secret","getPrime","front","getGenerator","findPrime","TWO","FIVE","FOUR","_getPrimes","n2","EdwardsCurve","twisted","mOneA","dd","oneC","_mulA","_mulC","lhs","pointFromY","_extDbl","nt","_projDbl","_extAdd","_projAdd","zi","MontCurve","i4","a24","aa","bb","diffAdd","da","cb","jumlAdd","EDDSA","pointClass","encodingLength","keyFromSecret","hashInt","R","Rencoded","encodePoint","s_","pubBytes","S","makeSignature","SG","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","_secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","naiveFallback","globalThis","__global__","vertxNext","customSchedulerFn","asap","queue","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","setTimeout","channel","iterations","observer","onFulfillment","onRejection","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","_resolve","nextTick","createTextNode","observe","characterData","port1","onmessage","port2","postMessage","vertx","Function","runOnLoop","runOnContext","attemptVertx","random","PENDING","handleMaybeThenable","maybeThenable","originalThen","originalResolve","thenable","fulfill","handleOwnThenable","sealed","fulfillmentHandler","rejectionHandler","tryThen","_label","handleForeignThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","entry","_then","didError","_settledAt","_willSettleAt","enumerator","resolver","needsResolver","initializePromise","needsNew","catch","finally","Promise$1","Resolve","_reject","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","local","P","promiseToString","cast","uts46","toUnicode","useStd3ASCII","transitional","inputName","labels","labelSha","Bytes","Nat","keccak256s","toChecksum","addressHash","checksumAddress","publicHash","encodeSignature","flatten","decodeSignature","makeSigner","addToV","fromNumber","fromNat","innerHex","middleHex","outerHex","recover","vals","vrs","replicate","J","chunksOf","at","rnd","bs","rev","padRight","fromAscii","ascii","toAscii","makeByte","ci","toNat","fromUint8Array","toUint8Array","KECCAK_PADDING","keccak","keccak512","keccak512s","bin","toEther","fromEther","eth","toUint256","uint","dataTree","parseTree","head","parseHex","parseList","parseLength","lim","utils_1","isBloom","bloom","isInBloom","bytesToHex","bitpos","codePointToInt","isTopic","isAddress","isUserEthereumAddressInBloom","ethereumAddress","padLeft","isContractAddressInBloom","contractAddress","isTopicInBloom","isByteArray","hasPrefix","hashConstructor","createKeccakHash","hash_utils_1","randombytes","resp","random_1","pk","_a","secp256k1_1","__export","balance","stateRoot","codeHash","externals_1","constants_1","_validate","Account","accountData","hexAddress","eip1191ChainId","nonceBN","initCode","sanitize","pubKey","Address","addressBN","rangeMin","rangeMax","isSafeInteger","setLength","stripZeros","ba","arrToBufArr","bufArrToArr","buffer_1","bn_js_1","_sha256","_ripemd160","isHexPrefixed","padToEven","superset","subset","stringValue","allowEmpty","_fields","obj_1","getter","setter","allowZero","allowLess","default","alias","keys_1","calculateSigRecovery","isValidSigRecovery","recovery","rec","senderPubKey","vn","ss","homesteadOrLater","SECP256K1_N_DIV_2","SECP256K1_N","rBN","sBN","TypeOutput","bnToUnpaddedBuffer","MAX_SAFE_INTEGER","numberToBN","negative1","unitMap","getValueOfUnit","unitInput","unit","unitValue","numberToString","dividedToIntegerBy","toPrecision","fromWei","weiInput","optionsInput","baseLength","commify","toWei","etherInput","ether","Events","EE","context","addListener","emitter","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","getOwnPropertySymbols","handlers","listenerCount","removeListener","on","removeAllListeners","prefixed","objectCreate","F","_maxListeners","hasDefineProperty","defaultMaxListeners","$getMaxListeners","emitNone","handler","isFn","arrayClone","emitOne","arg1","emitTwo","arg2","emitThree","arg3","emitMany","_addListener","prepend","newListener","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","unwrapListeners","setMaxListeners","getMaxListeners","er","doError","prependListener","prependOnceListener","originalListener","spliceOne","rawListeners","ownKeys","keyBits","used","keyStart","ivStart","isCallable","toStr","forEachArray","forEachString","forEachObject","ERROR_MESSAGE","funcType","bound","binder","boundLength","boundArgs","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","decodeURI","encodeURI","encodeURIComponent","eval","EvalError","FinalizationRegistry","Int8Array","Int16Array","SharedArrayBuffer","Uint16Array","URIError","WeakMap","WeakRef","WeakSet","doEval","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","win","origSymbol","hasSymbolSham","sym","symObj","syms","propertyIsEnumerable","HashBase","_block","_blockSize","_blockOffset","_length","_finalized","throwIfNotStringOrBuffer","_digest","ripemd","sha1","sha224","ripemd160","BlockHash","pending","pendingTotal","padLength","_delta8","_delta32","join32","inner","outer","rotl32","sum32","sum32_3","sum32_4","Kh","E","Ah","Bh","Ch","Dh","Eh","rh","sh","toHex32","split32","shaCommon","sum32_5","ft_1","sha1_K","SHA1","W","SHA256","SHA224","ch32","maj32","s0_256","s1_256","g0_256","g1_256","sha256_K","SHA512","SHA384","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","sha512_K","ch64_hi","xh","xl","yh","yl","zh","ch64_lo","zl","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","ah","al","bh","ch","cl","dl","eh","el","fh","fl","gh","gl","hh","hl","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","rotr32","p32","isSurrogatePair","htonl","zero8","http","https","validateParams","protocol","blockIdxes","mapStr","mapChar","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","encoded","ucs2decode","counter","extra","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","inputLength","bias","basic","oldi","baseMinusT","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","punycode","idna_map","mapLabel","mapped","ucs2","composite","flags","startsWith","validateLabel","endsWith","codePointAt","verifyDnsLength","asciiLabels","toASCII","asciiString","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","alert","confirm","prompt","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","availableTypedArrays","gOPD","typedArrays","$slice","toStrTags","typedArray","anyTrue","tryTypedArrays","createKeccak","createShake","KeccakState","Shake","rate","capacity","delimitedSuffix","hashBitLength","_rate","_capacity","_delimitedSuffix","_hashBitLength","_options","initialize","absorb","absorbLastFewBits","squeeze","_resetState","dataByteLength","P1600_ROUND_CONSTANTS","p1600","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","keccakState","squeezing","ARRAY16","_b","_c","_d","rotl","fnF","fnG","fnH","fnI","brorand","MillerRabin","_randbelow","min_bytes","_randrange","stop","rone","n1","rn1","getDivisor","alphabet","engine","stringOrBuffer","char","baseX","base16","base32","tupple","nameOrCode","getBase","bufOrString","errNotSupported","codeBuf","validEncode","isImplemented","defaultLengths","cs","isValidCode","hashfn","coerceCode","isAppCode","stripHexPrefix","formattedString","stringArg","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","modules","installedModules","__webpack_require__","moduleId","__esModule","__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","fn1","fn2","cons","arrayAsList","listAsArray","foldR","without","applyEach","reverseList","__WEBPACK_IMPORTED_MODULE_0__functional__","xs","emptyList","inputArray","arraySoFar","listItem","startValue","removedFn","withoutInner","subList","fnList","reverseInner","reversedAlready","isOfType","defined","hasAllProperties","__WEBPACK_IMPORTED_MODULE_1__functional__","maybeSomething","fieldList","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","statusCode","jsonBody","thrown","namedNode","keyOf","nodeOf","oboe","__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","baseUrl","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","eventName","pubSubInstance","parameters","singleEventPubSub","__WEBPACK_IMPORTED_MODULE_1__util__","__WEBPACK_IMPORTED_MODULE_2__functional__","eventType","listenerTupleList","listenerList","hasId","tuple","listenerId","un","removed","hasListener","ascentManager","__WEBPACK_IMPORTED_MODULE_0__ascent__","__WEBPACK_IMPORTED_MODULE_1__events__","__WEBPACK_IMPORTED_MODULE_2__lists__","stateAfter","oldHead","ancestors","patternAdapter","__WEBPACK_IMPORTED_MODULE_1__lists__","__WEBPACK_IMPORTED_MODULE_2__ascent__","jsonPathCompiler","predicateEventMap","fullEventName","predicateEvent","compiledJsonPath","emitMatch","maybeMatchingMapping","descent","emitMatchingNode","removedEventName","addUnderlyingListener","__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","p3","clarinet","eventBus","latestError","textNode","emitSaxKey","emitValueOpen","emitValueClose","emitFail","MAX_BUFFER_LENGTH","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","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","onprogress","headerName","isCrossOrigin","pageLocation","ajaxHost","portOf","port","host","parseUrlOrigin","urlHostMatch","parseResponseHeaders","headerStr","headerPair","certificate","RSAPrivateKey","seq","int","RSAPublicKey","PublicKey","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","PrivateKey","EncryptedPrivateKeyInfo","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","ECParameters","namedCurve","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","cipherText","cipherKey","cipher","match2","aesid","fixProc","compat","passphrase","ndata","stripped","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kde","kdeparams","iters","keylen","headersArr","row","ZERO_BUF","checkParameters","defaultEncoding","sync","subtle","toBrowser","checks","getNextTick","queueMicrotask","setImmediate","browserPbkdf2","importKey","deriveBits","resolvePromise","browser","prom","checkNative","MAX_ALLOC","sizes","rmd160","saltLen","getDigest","ipad1","ipad2","run","DK","block1","destPos","hLen","U","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","title","argv","binding","cwd","chdir","umask","i2ops","mgf","withPublic","zBuffer","iHash","maskedSeed","maskedDb","db","dif","oaep","ps","pkcs1","paddedMsg","hLen2","dblen","nonZero","MAX_BYTES","generated","oldBrowser","safeBuffer","kBufferMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","createErrorType","NodeError","_Base","oneOf","determiner","search","this_len","Duplex","Readable","allowHalfOpen","readable","onend","_writableState","ended","onEndNT","highWaterMark","getBuffer","_readableState","destroyed","PassThrough","ReadableState","EElistenerCount","Stream","OurUint8Array","debugUtil","createReadableStreamAsyncIterator","BufferList","destroyImpl","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","awaitDrain","readingMore","_read","destroy","_destroy","readableAddChunk","addToFront","skipChunkCheck","emitReadable","emitReadable_","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","clear","MAX_HWM","howMuchToRead","computeNewHighWaterMark","flow","maybeReadMore_","updateReadableListening","resume","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","finished","nOrig","doRead","pipe","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","ondata","cleanedUp","needDrain","pipeOnDrain","pause","dests","ev","asyncIterator","_fromList","iterable","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","needTransform","writeencoding","prefinish","err2","CorkedRequest","finish","corkReq","pendingcb","onCorkedFinish","corkedRequestsFree","WritableState","realHasInstance","internalUtil","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","hasInstance","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","_defineProperty","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_this2","_Object$create","enumerableOnly","hasStrings","_getString","_getBuffer","nb","getOwnPropertyDescriptors","defineProperties","_objectSpread","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","writableEnded","readableEnded","onrequest","req","setHeader","isRequest","ERR_MISSING_ARGS","destroyer","popCallback","streams","destroys","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","pipeline","zr","sl","sr","hr","_e","fn3","fn4","fn5","br","cr","dr","tl","tr","safeParseInt","encodeLength","hexLength","intToHex","llength","innerRemainder","remainder","totalLength","integer","inputBuf","copyProps","SafeBuffer","safer","Safer","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","MAX_VALUE","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","derivedKey","lib","scrypt","progressCallback","lastProgress","progress","syncScrypt","ecparams","loadPublicKey","xbuf","loadCompressedPublicKey","ybuf","x3","loadUncompressedPublicKey","savePublicKey","contextRandomize","privateKeyVerify","seckey","privateKeyNegate","privateKeyTweakAdd","tweak","tweaked","privateKeyTweakMul","publicKeyVerify","publicKeyCreate","publicKeyConvert","publicKeyNegate","publicKeyCombine","pubkeys","pairs","publicKeyTweakAdd","publicKeyTweakMul","signatureNormalize","signatureExport","sigR","sigS","lenR","posR","lenS","posS","outputlen","signatureImport","ecdsaSign","noncefn","_noncefn","ecdsaVerify","msg32","sigObj","sigr","sigs","ecdsaRecover","ecdh","scalar","cond","isUint8Array","numbers","isCompressed","toTypeString","getAssertedOutput","finalSize","_finalSize","assigned","lowBits","highBits","Algorithm","Sha","_w","rotl30","ft","Sha1","rotl5","Sha256","Sha224","_f","_g","_h","maj","sigma0","sigma1","gamma0","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","_isStdio","didOnEnd","cleanup","ClientRequest","extend","statusCodes","defaultProtocol","hostname","IncomingMessage","Agent","defaultMaxSockets","globalAgent","STATUS_CODES","METHODS","getXHR","XDomainRequest","checkTypeSupport","ReadableStream","writableStream","WritableStream","abortController","arraybuffer","msstream","mozchunkedarraybuffer","overrideMimeType","rStates","readyStates","preferBinary","_opts","_body","_headers","auth","useFetch","decideMode","_fetchTimer","_socketTimeout","_socketTimer","_onFinish","lowerName","unsafeHeaders","getHeader","removeHeader","_destroyed","headersObj","headersList","keyName","controller","_fetchAbortController","requestTimeout","_fetchResponse","_resetTimers","_connect","_xhr","_response","LOADING","DONE","_onXHRProgress","statusValid","flushHeaders","setNoDelay","setSocketKeepAlive","UNSENT","OPENED","HEADERS_RECEIVED","resetTimers","trailers","rawTrailers","statusMessage","_resumeFetch","close","pipeTo","getReader","_pos","matches","_charset","mimeType","charsetMatch","newData","MSStreamReader","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","unavailable","fs","readFile","files","download","safeDownloadArchived","directoryTree","os","platform","arch","child_process","spawn","mimetype","pick","defaultArchives","downloadUrl","picker","fileInput","fileLoader","directory","totalFiles","loadedFiles","file","webkitRelativePath","_path","createElement","webkitdirectory","mozdirectory","msdirectory","odirectory","mouseEvent","swarmHashBlock","lengthEncoded","maxSize","innerNodes","_ref","toMap","rawUrl","swarmUrl","downloadData","downloadEntries","routes","downloadEntry","contentType","impureInsert","downloadRoutes","route","downloadDirectory","paths","hashs","datas","downloadDataToDisk","filePath","downloadDirectoryToDisk","dirPath","routingTable","downloads","uploadData","uploadToManifest","attempt","slashRoute","opt","uploadFile","uploadDirectory","uploadFileFromDisk","uploadRoute","uploadDataFromDisk","uploadDirectoryFromDisk","defaultPath","fullPaths","_upload","defaultFile","_download","isDirectory","isDir","downloadBinary","archives","system","archive","archiveUrl","archiveMD5","binaryMD5","startProcess","swarmSetup","hasString","account","dataDir","ensApi","swarmProcess","binPath","handleProcessOutput","stdin","stopProcess","kill","killTimeout","_isAvailable","uncurry","uint8Array","isAvailable","upload","useAPI","onData","onProgress","query","freeExports","nodeType","freeModule","freeGlobal","ucs2encode","qs","sep","regexp","maxKeys","kstr","vstr","stringifyPrimitive","ks","Url","slashes","pathname","href","urlParse","resolveObject","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","rest","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","ae","esc","escape","qm","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute","byteIndex","checkScalarValue","createByte","encodeCodePoint","readContinuationByte","continuationByte","decodeSymbol","byte1","byteString","localStorage","isArgumentsObject","isGeneratorFunction","whichTypedArray","isTypedArray","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","descriptors","debugEnvRegex","debugEnv","isNativeError","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","original","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","rej","_nil","_stringify","_v","_v2","_v3","_v4","_version","_interopRequireDefault","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","cnt","md5ff","md5gg","md5hh","md5ii","unescape","length32","hexTab","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","bytesToWords","_default","randomUUID","uuid","rnds8","ROTL","unsafeStringify","byteToHex","_nodeId","_clockseq","_rng","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tmh","_md","URL","DNS","hashfunc","generateUUID","namespace","_namespace","stringToBytes","_native","rnds","_sha","_regex","oldOffset","INT","N1","N2","N3","N4","N5","N6","N7","N8","N9","_globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","W3CWebSocket","uri","protocols","foundName","queryString","setQuery","ensureHeader","mimeTypeJson","defaultResponse","lower","rawRequest","useJson","strictUriEncode","decodeComponent","keysSorter","extract","queryStart","formatter","arrayFormat","accumulator","parserForArrayFormat","encoderForArrayFormat","val2","parseUrl","parseHeaders","xtend","initParams","createXHR","_createXHR","getBody","responseXML","firefoxBugTakenEffect","documentElement","nodeName","getXml","isJson","errorFunc","timeoutTimer","failureResponse","loadFunc","useXDR","cors","username","beforeSend","Bzz","provider","givenProvider","_requestManager","currentProvider","setProvider","ethereum","bzz","noProviderError","ErrorResponse","InvalidNumberOfParams","got","InvalidConnection","ConnectionError","InvalidProvider","InvalidResponse","ConnectionTimeout","ms","ConnectionNotOpenError","ConnectionCloseError","MaxAttemptsReachedOnReconnectingError","PendingRequestsOnReconnectingError","description","RevertInstructionError","TransactionRevertInstructionError","receipt","TransactionError","NoContractAddressFoundError","ContractCodeNotStoredError","TransactionRevertedWithoutReasonError","TransactionOutOfGasError","ResolverMethodMissingError","ContractMissingABIError","ContractOnceRequiresCallbackError","ContractEventDoesNotExistError","ContractReservedEventError","ContractMissingDeployDataError","ContractNoAddressDefinedError","ContractNoFromAddressDefinedError","Iban","outputBigNumberFormatter","inputBlockNumberFormatter","isPredefinedBlockNumber","isHexStrict","numberToHex","_txInputFormatter","inputAddressFormatter","isHex","outputTransactionFormatter","hexFormat","hexToNumber","transactionIndex","toChecksumAddress","outputLogFormatter","blockHash","transactionHash","logIndex","shaId","iban","isValid","isDirect","toAddress","inputDefaultBlockNumberFormatter","defaultBlock","inputCallFormatter","defaultAccount","inputTransactionFormatter","inputPostFormatter","post","ttl","workToProve","priority","fromUtf8","inputLogFormatter","toTopic","fromBlock","toBlock","inputSignFormatter","utf8ToHex","inputStorageKeysFormatter","outputProofFormatter","proof","hexToNumberString","outputTransactionReceiptFormatter","cumulativeGasUsed","gasUsed","effectiveGasPrice","logs","outputBlockFormatter","difficulty","totalDifficulty","transactions","miner","baseFeePerGas","outputPostFormatter","expiry","sent","workProved","toUtf8","outputSyncingFormatter","startingBlock","currentBlock","highestBlock","knownStates","pulledStates","formatters","promiEvent","Subscriptions","EthersTransactionUtils","Method","inputFormatter","outputFormatter","transformPayload","extraFormatters","abiCoder","requestManager","accounts","transactionBlockTimeout","transactionConfirmationBlocks","transactionPollingTimeout","transactionPollingInterval","blockHeaderTimeout","defaultCommon","defaultChain","handleRevert","setRequestManager","createFunction","buildCall","attachToObject","getCall","extractCallback","validateArgs","formatInput","formatOutput","toPayload","_confirmTransaction","defer","promiseResolved","canUnsubscribe","timeoutCount","confirmationCount","intervalId","blockHeaderTimeoutId","lastBlock","gasProvided","isContractDeployment","hasBytecode","_ethereumCalls","subscriptions","subscriptionName","_ethereumCall","mthd","checkConfirmation","existingReceipt","isPolling","blockHeader","unsubscribe","clearInterval","getTransactionReceipt","_fireError","eventEmitter","receiptFormatter","getBlockByNumber","latestBlock","latestBlockHash","contractDeployFormatter","outOfGas","revertMessage","txReplayOptions","rawTransactionHex","parsedTx","getRevertReason","startWatching","blockHeaderArrived","startInterval","setInterval","getWallet","wallet","_handleTxPricing","getGasPrice","responses","isSendTx","isCall","sendTxCallback","reasonData","isRevertReasonString","decodeParameter","sendSignedTx","signedPayload","sendRequest","signTransaction","txPricing","PromiEvent","justPromise","Jsonrpc","Batch","requests","execute","sortResponses","_sortResponses","sendBatch","isValidResponse","web3","sendAsync","connection","BatchManager","RequestManager","net","providers","WebsocketProvider","HttpProvider","IpcProvider","connect","connected","clearSubscriptions","subscription","deprecatedResult","resubscribe","_isCleanCloseEvent","_isIpcCloseError","delete","jsonrpcPayload","jsonrpcResultCallback","_jsonrpcResultCallback","callbackRequest","toBatchPayload","addSubscription","removeSubscription","keepIsSyncing","wasClean","Manager","messageId","jsonrpc","validateSingleMessage","messages","Subscription","rm","identity","_extractCallback","_validateArgs","_formatInput","_formatOutput","_toPayload","subscriptionMethod","err1","blockParams","resultItem","subscriptionHandler","pckg","ex","extension","extendedObject","packageInit","pkg","_provider","manager","BatchRequest","addProviders","EthersAbiCoder","ethersAbiCoder","Result","ABICoder","encodeFunctionSignature","functionName","_jsonInterfaceMethodToString","encodeEventSignature","encodeParameter","encodeParameters","mapTypes","formatParam","modifyParams","mappedTypes","isSimplifiedStructFormat","structName","mapStructNameAndType","mapStructToCoderFormat","struct","paramTypeBytesArray","paramTypeNumberArray","leftPad","rightPad","encodeFunctionCall","jsonInterface","decodeParameters","decodeParametersWith","returnValue","__length__","decodedValue","decodeLog","notIndexedInputs","indexedParams","topicCount","staticType","nonIndexedData","notIndexedParams","core","cryp","HardForks","ethereumjsUtil","isNot","isExist","Accounts","Wallet","_accounts","defaultKeyName","_addAccountFunctions","randomHex","privateKeyToAccount","ignoreLength","transactionOptions","hasTxSigningOptions","customChain","_validateTransactionForSigning","London","signedTx","validationErrors","validationError","messageHash","hasEip1559","Berlin","_handleTxType","getChainId","getTransactionCount","getNetworkId","txchainId","txnonce","txnetworkId","txgasInfo","recoverTransaction","rawTx","getSenderAddress","messageHex","messageBytes","hexToBytes","messageBuffer","preamble","preambleBuffer","ethMessage","bufferToHex","preFixed","v3Keystore","nonStrict","kdfparams","kdf","dklen","prf","ciphertext","mac","decipher","cipherparams","v4","_findSafeIndex","pointer","_currentIndexes","numberOfAccounts","remove","addressOrIndex","encryptedWallet","keystore","setItem","load","getItem","removeItem","storageAvailable","Contract","lastArg","_getOrSetDefaultOptions","_address","_jsonInterface","funcName","_createTxObject","cascadeFunc","nextMethod","_on","allEvents","_ethAccounts","_getCallback","_checkListener","_encodeEventABI","indexedTopics","_decodeEventABI","intf","indexedInputs","argTopics","returnValues","_encodeMethodABI","methodSignature","_method","paramsABI","_parent","_deployData","_decodeMethodReturn","deployData","_generateEventOptions","subOptions","getPastEvents","getPastLogs","txObject","_executeMethod","encodeABI","estimateGas","createAccessList","_processExecuteArguments","processedArgs","generateRequest","ethAccounts","newContract","sendTransaction","Registry","ResolverMethodHandler","contenthash","ENS","registryAddress","_detectedAddress","_lastSyncCheck","registry","supportsInterface","interfaceId","getResolver","setResolver","txConfig","setRecord","owner","setSubnodeRecord","setApprovalForAll","approved","isApprovedForAll","recordExists","setSubnodeOwner","getTTL","setTTL","getOwner","setOwner","resolverMethodHandler","setAddress","getPubkey","setPubkey","getContent","setContent","getContenthash","setContenthash","getMultihash","setMultihash","checkNetwork","headAge","getNetworkType","networkType","addresses","main","interfaceIds","setAddr","namehash","REGISTRY_ABI","RESOLVER_ABI","ens","contract","ensName","methodArguments","preparedArguments","prepareArguments","checkInterfaceSupport","handleCall","sendOptions","handleSend","confirmationNumber","supported","protocolType","matched","iso13616Prepare","Z","mod9710","_iban","isIndirect","asBn","ib","fromAddress","fromBban","bban","countryCode","institution","identifier","Net","Personal","getId","givenId","BaseContract","blockCall","transactionFromBlockCall","uncleCall","getBlockTransactionCountCall","uncleCountCall","Eth","personal","maxListenersWarningThreshold","removeSubscriptionById","_isSyncing","_isSyncingTimeout","agent","keepAlive","httpsAgent","httpAgent","agents","timeoutId","disconnect","supportsSubscriptions","responseCallbacks","notificationCallbacks","addDefaultEvents","_parseResponse","_timeout","lastChunk","lastChunkTimeout","_addResponseCallback","reconnect","isRN","navigator","product","_btoa","newURL","parseURL","Ws","_customTimeout","reconnectOptions","auto","delay","maxAttempts","onTimeout","clientConfig","requestOptions","DATA","CLOSE","ERROR","CONNECT","RECONNECT","requestQueue","responseQueue","reconnectAttempts","reconnecting","connectFailedDescription","parsedURL","authorization","OPEN","_addSocketListeners","_onMessage","_onConnect","_onConnectFailed","_connection","_client","_readyState","_onClose","_removeSocketListeners","CONNECTING","Shh","ethjsUnit","soliditySha3","_flattenTypes","includeTuple","puts","suffix","arrayBracket","hexToAscii","asciiToHex","getUnitValue","optionalData","sha3Raw","soliditySha3Raw","encodePacked","checkAddressChecksum","toDecimal","fromDecimal","hexToUtf8","hexToString","stringToHex","toTwosComplement","compareBlockNumbers","bnA","bnB","_parseNumber","_solidityPack","arraySize","_elementaryName","typesize","_parseTypeN","_processSolidityEncodePackedArgs","_parseTypeNArray","hexArgs","ethereumBloomFilters","bigIntOnOverflow","MIN_SAFE_INTEGER","returnType","SHA3_NULL_S","_Hash","BNwrapped","toLocaleLowerCase","hexValue","Web3","shh","arr2","arrayLikeToArray","asyncGeneratorStep","_next","_throw","isNativeReflectConstruct","_construct","Parent","toPropertyKey","superPropBase","_i","_s","_x","_r","_typeof","assertThisInitialized","_regeneratorRuntime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","doneResult","displayName","genFun","mark","awrap","async","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","delegateYield","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","prim","toPrimitive","minLen","runtime","regeneratorRuntime","accidentalStrictMode","possibleNames","__webpack_module_cache__","cachedModule","loaded","__webpack_modules__","amdO","nmd"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"web3.min.js","mappings":"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E,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,sEAIN9D,IAAK,CACHoE,IAAK,EACLN,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,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EAAE,IAChI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UAC7H,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,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,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,IACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ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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,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,EAAE,EAAE,EAAE,EAAE,EAAE,UAC3G,IAAIA,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACvH,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,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,Q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AAI,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,I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U7J,mCCVpDt2C,EAAQO,MAAQgJ,OAAOyE,OAAO,CAC5B,SAAc,EACd,KAAc,GACd,WAAc,GACd,WAAc,GACd,eAAgB,GAChB,WAAc,GACd,WAAc,GACd,WAAc,GACd,WAAc,GACd,YAAc,GACd,YAAc,GACd,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,QAGpBhO,EAAQs2C,MAAQ/sC,OAAOyE,OAAO,CAC5B,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,mBAGVhO,EAAQ8hH,eAAiBv4G,OAAOyE,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,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,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,KAAQ,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,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,MAAQ,IACR,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","sources":["webpack:///webpack/universalModuleDefinition","webpack:///../../src/chains/index.ts","webpack:///../../src/eips/index.ts","webpack:///../../src/hardforks/index.ts","webpack:///../src/index.ts","webpack:///../src/baseTransaction.ts","webpack:///../src/eip1559Transaction.ts","webpack:///../src/eip2930Transaction.ts","webpack:///../src/legacyTransaction.ts","webpack:///../src/transactionFactory.ts","webpack:///../src/types.ts","webpack:///../src/util.ts","webpack:///../src.ts/_version.ts","webpack:///../src.ts/abi-coder.ts","webpack:///../../src.ts/coders/abstract-coder.ts","webpack:///../../src.ts/coders/address.ts","webpack:///../../src.ts/coders/anonymous.ts","webpack:///../../src.ts/coders/array.ts","webpack:///../../src.ts/coders/boolean.ts","webpack:///../../src.ts/coders/bytes.ts","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/coders/tuple.ts","webpack:///../src.ts/fragments.ts","webpack:///../src.ts/index.ts","webpack:///../src.ts/interface.ts","webpack:///../src.ts/browser-base64.ts","webpack:///../src.ts/bignumber.ts","webpack:///../src.ts/fixednumber.ts","webpack:///../src.ts/addresses.ts","webpack:///../src.ts/bignumbers.ts","webpack:///../src.ts/hashes.ts","webpack:///../src.ts/strings.ts","webpack:///../../src.ts/ens-normalize/decoder.ts","webpack:///../../src.ts/ens-normalize/include.ts","webpack:///../../src.ts/ens-normalize/lib.ts","webpack:///../src.ts/id.ts","webpack:///../src.ts/message.ts","webpack:///../src.ts/namehash.ts","webpack:///../src.ts/typed-data.ts","webpack:///./node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js","webpack:///../../../node_modules/minimalistic-assert/index.js","webpack:///../../../node_modules/minimalistic-crypto-utils/lib/utils.js","webpack:///../../../node_modules/elliptic/lib/elliptic/utils.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///../../../node_modules/inherits/inherits_browser.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curves.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/ec/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic.js","webpack:///elliptic.js","webpack:///../src.ts/bytes32.ts","webpack:///../src.ts/idna.ts","webpack:///../src.ts/utf8.ts","webpack:///./node_modules/abortcontroller-polyfill/dist/polyfill-patch-fetch.js","webpack:///./node_modules/asn1.js/lib/asn1.js","webpack:///./node_modules/asn1.js/lib/asn1/api.js","webpack:///./node_modules/asn1.js/lib/asn1/base/buffer.js","webpack:///./node_modules/asn1.js/lib/asn1/base/index.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:///./node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/der.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/der.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/pem.js","webpack:///./node_modules/assert/assert.js","webpack:///./node_modules/assert/node_modules/inherits/inherits_browser.js","webpack:///./node_modules/assert/node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/assert/node_modules/util/util.js","webpack:///./node_modules/base-x/src/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/bn.js/lib/bn.js","webpack:///./node_modules/brorand/index.js","webpack:///./node_modules/browserify-aes/aes.js","webpack:///./node_modules/browserify-aes/authCipher.js","webpack:///./node_modules/browserify-aes/browser.js","webpack:///./node_modules/browserify-aes/decrypter.js","webpack:///./node_modules/browserify-aes/encrypter.js","webpack:///./node_modules/browserify-aes/ghash.js","webpack:///./node_modules/browserify-aes/incr32.js","webpack:///./node_modules/browserify-aes/modes/cbc.js","webpack:///./node_modules/browserify-aes/modes/cfb.js","webpack:///./node_modules/browserify-aes/modes/cfb1.js","webpack:///./node_modules/browserify-aes/modes/cfb8.js","webpack:///./node_modules/browserify-aes/modes/ctr.js","webpack:///./node_modules/browserify-aes/modes/ecb.js","webpack:///./node_modules/browserify-aes/modes/index.js","webpack:///./node_modules/browserify-aes/modes/ofb.js","webpack:///./node_modules/browserify-aes/streamCipher.js","webpack:///./node_modules/browserify-cipher/browser.js","webpack:///./node_modules/browserify-des/index.js","webpack:///./node_modules/browserify-des/modes.js","webpack:///./node_modules/browserify-rsa/index.js","webpack:///./node_modules/browserify-sign/algos.js","webpack:///./node_modules/browserify-sign/browser/index.js","webpack:///./node_modules/browserify-sign/browser/sign.js","webpack:///./node_modules/browserify-sign/browser/verify.js","webpack:///./node_modules/buffer-xor/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/builtin-status-codes/browser.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/cids/node_modules/multicodec/src/constants.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/print.js","webpack:///./node_modules/cids/node_modules/multicodec/src/util.js","webpack:///./node_modules/cids/node_modules/multicodec/src/varint-table.js","webpack:///./node_modules/cids/src/cid-util.js","webpack:///./node_modules/cids/src/index.js","webpack:///./node_modules/cipher-base/index.js","webpack:///./node_modules/class-is/index.js","webpack:///./node_modules/content-hash/src/helpers.js","webpack:///./node_modules/content-hash/src/index.js","webpack:///./node_modules/content-hash/src/profiles.js","webpack:///./node_modules/crc-32/crc32.js","webpack:///./node_modules/create-ecdh/browser.js","webpack:///./node_modules/create-hash/browser.js","webpack:///./node_modules/create-hash/md5.js","webpack:///./node_modules/create-hmac/browser.js","webpack:///./node_modules/create-hmac/legacy.js","webpack:///./node_modules/cross-fetch/dist/browser-polyfill.js","webpack:///./node_modules/crypto-browserify/index.js","webpack:///./node_modules/decode-uri-component/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/cipher.js","webpack:///./node_modules/des.js/lib/des/des.js","webpack:///./node_modules/des.js/lib/des/ede.js","webpack:///./node_modules/des.js/lib/des/utils.js","webpack:///./node_modules/diffie-hellman/browser.js","webpack:///./node_modules/diffie-hellman/lib/dh.js","webpack:///./node_modules/diffie-hellman/lib/generatePrime.js","webpack:///./node_modules/elliptic/lib/elliptic.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/mont.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///./node_modules/elliptic/lib/elliptic/curves.js","webpack:///./node_modules/elliptic/lib/elliptic/ec/index.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/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack:///./node_modules/elliptic/lib/elliptic/utils.js","webpack:///./node_modules/es5-ext/global.js","webpack:///lib/es6-promise/utils.js","webpack:///lib/es6-promise/asap.js","webpack:///lib/es6-promise/then.js","webpack:///lib/es6-promise/promise/resolve.js","webpack:///lib/es6-promise/-internal.js","webpack:///lib/es6-promise/enumerator.js","webpack:///lib/es6-promise/promise.js","webpack:///lib/es6-promise/promise/all.js","webpack:///lib/es6-promise/promise/race.js","webpack:///lib/es6-promise/promise/reject.js","webpack:///lib/es6-promise.js","webpack:///lib/es6-promise/polyfill.js","webpack:///./node_modules/eth-ens-namehash/index.js","webpack:///./node_modules/eth-lib/lib/account.js","webpack:///./node_modules/eth-lib/lib/array.js","webpack:///./node_modules/eth-lib/lib/bytes.js","webpack:///./node_modules/eth-lib/lib/hash.js","webpack:///./node_modules/eth-lib/lib/nat.js","webpack:///./node_modules/eth-lib/lib/rlp.js","webpack:///./node_modules/ethereum-bloom-filters/dist/index.js","webpack:///./node_modules/ethereum-bloom-filters/dist/utils.js","webpack:///./node_modules/ethereum-bloom-filters/node_modules/js-sha3/src/sha3.js","webpack:///src/hash-utils.ts","webpack:///src/keccak.ts","webpack:///src/random.ts","webpack:///src/secp256k1.ts","webpack:///../src/account.ts","webpack:///../src/address.ts","webpack:///../src/bytes.ts","webpack:///../src/constants.ts","webpack:///../src/externals.ts","webpack:///../src/hash.ts","webpack:///../src/helpers.ts","webpack:///../src/internal.ts","webpack:///../src/object.ts","webpack:///../src/signature.ts","webpack:///./node_modules/ethjs-unit/lib/index.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/evp_bytestokey/index.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/global/window.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/hash-base/index.js","webpack:///./node_modules/hash.js/lib/hash.js","webpack:///./node_modules/hash.js/lib/hash/common.js","webpack:///./node_modules/hash.js/lib/hash/hmac.js","webpack:///./node_modules/hash.js/lib/hash/ripemd.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/256.js","webpack:///./node_modules/hash.js/lib/hash/sha/384.js","webpack:///./node_modules/hash.js/lib/hash/sha/512.js","webpack:///./node_modules/hash.js/lib/hash/sha/common.js","webpack:///./node_modules/hash.js/lib/hash/utils.js","webpack:///./node_modules/hmac-drbg/lib/hmac-drbg.js","webpack:///./node_modules/https-browserify/index.js","webpack:///./node_modules/idna-uts46-hx/idna-map.js","webpack:///./node_modules/idna-uts46-hx/node_modules/punycode/punycode.js","webpack:///./node_modules/idna-uts46-hx/uts46.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/is-function/index.js","webpack:///./node_modules/is-generator-function/index.js","webpack:///./node_modules/is-hex-prefixed/src/index.js","webpack:///./node_modules/is-typed-array/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/js-sha3/src/sha3.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-state-unroll.js","webpack:///./node_modules/keccak/lib/keccak.js","webpack:///./node_modules/md5.js/index.js","webpack:///./node_modules/miller-rabin/lib/mr.js","webpack:///./node_modules/minimalistic-assert/index.js","webpack:///./node_modules/minimalistic-crypto-utils/lib/utils.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/multibase/src/constants.js","webpack:///./node_modules/multibase/src/index.js","webpack:///./node_modules/multicodec/src/constants.js","webpack:///./node_modules/multicodec/src/index.js","webpack:///./node_modules/multicodec/src/int-table.js","webpack:///./node_modules/multicodec/src/print.js","webpack:///./node_modules/multicodec/src/util.js","webpack:///./node_modules/multicodec/src/varint-table.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/node_modules/multibase/src/constants.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/index.js","webpack:///./node_modules/multihashes/src/constants.js","webpack:///./node_modules/multihashes/src/index.js","webpack:///./node_modules/number-to-bn/src/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/oboe/dist/oboe-browser.js","webpack:///./node_modules/parse-asn1/asn1.js","webpack:///./node_modules/parse-asn1/certificate.js","webpack:///./node_modules/parse-asn1/fixProc.js","webpack:///./node_modules/parse-asn1/index.js","webpack:///./node_modules/parse-headers/parse-headers.js","webpack:///./node_modules/pbkdf2/browser.js","webpack:///./node_modules/pbkdf2/lib/async.js","webpack:///./node_modules/pbkdf2/lib/default-encoding.js","webpack:///./node_modules/pbkdf2/lib/precondition.js","webpack:///./node_modules/pbkdf2/lib/sync-browser.js","webpack:///./node_modules/pbkdf2/lib/to-buffer.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/public-encrypt/browser.js","webpack:///./node_modules/public-encrypt/mgf.js","webpack:///./node_modules/public-encrypt/privateDecrypt.js","webpack:///./node_modules/public-encrypt/publicEncrypt.js","webpack:///./node_modules/public-encrypt/withPublic.js","webpack:///./node_modules/public-encrypt/xor.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/randombytes/browser.js","webpack:///./node_modules/randomfill/browser.js","webpack:///./node_modules/readable-stream/errors-browser.js","webpack:///./node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///./node_modules/readable-stream/lib/internal/streams/state.js","webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/readable-stream/readable-browser.js","webpack:///./node_modules/ripemd160/index.js","webpack:///./node_modules/safe-buffer/index.js","webpack:///./node_modules/safer-buffer/safer.js","webpack:///./node_modules/scrypt-js/scrypt.js","webpack:///./node_modules/secp256k1/elliptic.js","webpack:///./node_modules/secp256k1/lib/elliptic.js","webpack:///./node_modules/secp256k1/lib/index.js","webpack:///./node_modules/sha.js/hash.js","webpack:///./node_modules/sha.js/index.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/sha256.js","webpack:///./node_modules/sha.js/sha384.js","webpack:///./node_modules/sha.js/sha512.js","webpack:///./node_modules/stream-browserify/index.js","webpack:///./node_modules/stream-http/index.js","webpack:///./node_modules/stream-http/lib/capability.js","webpack:///./node_modules/stream-http/lib/request.js","webpack:///./node_modules/stream-http/lib/response.js","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./node_modules/string_decoder/lib/string_decoder.js","webpack:///./node_modules/strip-hex-prefix/src/index.js","webpack:///./node_modules/swarm-js/lib/api-browser.js","webpack:///./node_modules/swarm-js/lib/pick.js","webpack:///./node_modules/swarm-js/lib/swarm-hash.js","webpack:///./node_modules/swarm-js/lib/swarm.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/array.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/bytes.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/hash.js","webpack:///./node_modules/url-set-query/index.js","webpack:///./node_modules/url/node_modules/punycode/punycode.js","webpack:///./node_modules/url/node_modules/querystring/decode.js","webpack:///./node_modules/url/node_modules/querystring/encode.js","webpack:///./node_modules/url/node_modules/querystring/index.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/utf8/utf8.js","webpack:///./node_modules/util-deprecate/browser.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/util/support/types.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/uuid/dist/commonjs-browser/index.js","webpack:///./node_modules/uuid/dist/commonjs-browser/md5.js","webpack:///./node_modules/uuid/dist/commonjs-browser/native.js","webpack:///./node_modules/uuid/dist/commonjs-browser/nil.js","webpack:///./node_modules/uuid/dist/commonjs-browser/parse.js","webpack:///./node_modules/uuid/dist/commonjs-browser/regex.js","webpack:///./node_modules/uuid/dist/commonjs-browser/rng.js","webpack:///./node_modules/uuid/dist/commonjs-browser/sha1.js","webpack:///./node_modules/uuid/dist/commonjs-browser/stringify.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v1.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v3.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v35.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v4.js","webpack:///./node_modules/uuid/dist/commonjs-browser/v5.js","webpack:///./node_modules/uuid/dist/commonjs-browser/validate.js","webpack:///./node_modules/uuid/dist/commonjs-browser/version.js","webpack:///./node_modules/varint/decode.js","webpack:///./node_modules/varint/encode.js","webpack:///./node_modules/varint/index.js","webpack:///./node_modules/varint/length.js","webpack:///./node_modules/websocket/lib/browser.js","webpack:///./node_modules/websocket/lib/version.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///./node_modules/xhr-request/index.js","webpack:///./node_modules/xhr-request/lib/ensure-header.js","webpack:///./node_modules/xhr-request/lib/normalize-response.js","webpack:///./node_modules/xhr-request/lib/request-browser.js","webpack:///./node_modules/xhr/index.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./packages/web3-bzz/lib/index.js","webpack:///./packages/web3-core-helpers/lib/errors.js","webpack:///./packages/web3-core-helpers/lib/formatters.js","webpack:///./packages/web3-core-helpers/lib/index.js","webpack:///./packages/web3-core-method/lib/index.js","webpack:///./packages/web3-core-promievent/lib/index.js","webpack:///./packages/web3-core-requestmanager/lib/batch.js","webpack:///./packages/web3-core-requestmanager/lib/givenProvider.js","webpack:///./packages/web3-core-requestmanager/lib/index.js","webpack:///./packages/web3-core-requestmanager/lib/jsonrpc.js","webpack:///./packages/web3-core-subscriptions/lib/index.js","webpack:///./packages/web3-core-subscriptions/lib/subscription.js","webpack:///./packages/web3-core/lib/extend.js","webpack:///./packages/web3-core/lib/index.js","webpack:///./packages/web3-eth-abi/lib/index.js","webpack:///./packages/web3-eth-accounts/lib/index.js","webpack:///./packages/web3-eth-contract/lib/index.js","webpack:///./packages/web3-eth-ens/lib/ENS.js","webpack:///./packages/web3-eth-ens/lib/config.js","webpack:///./packages/web3-eth-ens/lib/contracts/Registry.js","webpack:///./packages/web3-eth-ens/lib/index.js","webpack:///./packages/web3-eth-ens/lib/lib/ResolverMethodHandler.js","webpack:///./packages/web3-eth-ens/lib/lib/contentHash.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-iban/lib/index.js","webpack:///./packages/web3-eth-personal/lib/index.js","webpack:///./packages/web3-eth/lib/getNetworkType.js","webpack:///./packages/web3-eth/lib/index.js","webpack:///./packages/web3-net/lib/index.js","webpack:///./packages/web3-providers-http/lib/index.js","webpack:///./packages/web3-providers-ipc/lib/index.js","webpack:///./packages/web3-providers-ws/lib/helpers.js","webpack:///./packages/web3-providers-ws/lib/index.js","webpack:///./packages/web3-shh/lib/index.js","webpack:///./packages/web3-utils/lib/index.js","webpack:///./packages/web3-utils/lib/soliditySha3.js","webpack:///./packages/web3-utils/lib/utils.js","webpack:///./packages/web3/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/construct.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/get.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/superPropBase.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/amd options","webpack:///webpack/runtime/global","webpack:///webpack/runtime/node module decorator","webpack:///webpack/startup"],"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})(self, () => {\nreturn ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\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","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;\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 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","'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","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","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\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 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","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\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","import _ec from \"elliptic\";\nvar EC = _ec.ec;\nexport { EC };\n//# sourceMappingURL=elliptic.js.map",null,null,null,"(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n 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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _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 Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n 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\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'reason', {\n value: undefined,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort(reason) {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n var signalReason = reason;\n\n if (signalReason === undefined) {\n if (typeof document === 'undefined') {\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n } else {\n try {\n signalReason = new DOMException('signal is aborted without reason');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n }\n }\n }\n\n this.signal.reason = signalReason;\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n /**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\n function abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of # which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n if (!self.fetch) {\n console.warn('fetch() is not available, cannot install abortcontroller-polyfill');\n return;\n }\n\n var _abortableFetch = abortableFetchDecorator(self),\n fetch = _abortableFetch.fetch,\n Request = _abortableFetch.Request;\n\n self.fetch = fetch;\n self.Request = Request;\n Object.defineProperty(self, 'AbortController', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortController\n });\n Object.defineProperty(self, 'AbortSignal', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortSignal\n });\n })(typeof self !== 'undefined' ? self : global);\n\n}));\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 = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\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\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\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';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function 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\nconstants.der = require('./der');\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","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\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 encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\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","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","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}","// 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 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 // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\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","'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 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 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'\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","(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 off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\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","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","// 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 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 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 AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\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 xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\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","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\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 xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\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","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 DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","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","module.exports = require('./browser/algorithms.json')\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\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","/*!\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","module.exports = {\n \"100\": \"Continue\",\n \"101\": \"Switching Protocols\",\n \"102\": \"Processing\",\n \"200\": \"OK\",\n \"201\": \"Created\",\n \"202\": \"Accepted\",\n \"203\": \"Non-Authoritative Information\",\n \"204\": \"No Content\",\n \"205\": \"Reset Content\",\n \"206\": \"Partial Content\",\n \"207\": \"Multi-Status\",\n \"208\": \"Already Reported\",\n \"226\": \"IM Used\",\n \"300\": \"Multiple Choices\",\n \"301\": \"Moved Permanently\",\n \"302\": \"Found\",\n \"303\": \"See Other\",\n \"304\": \"Not Modified\",\n \"305\": \"Use Proxy\",\n \"307\": \"Temporary Redirect\",\n \"308\": \"Permanent Redirect\",\n \"400\": \"Bad Request\",\n \"401\": \"Unauthorized\",\n \"402\": \"Payment Required\",\n \"403\": \"Forbidden\",\n \"404\": \"Not Found\",\n \"405\": \"Method Not Allowed\",\n \"406\": \"Not Acceptable\",\n \"407\": \"Proxy Authentication Required\",\n \"408\": \"Request Timeout\",\n \"409\": \"Conflict\",\n \"410\": \"Gone\",\n \"411\": \"Length Required\",\n \"412\": \"Precondition Failed\",\n \"413\": \"Payload Too Large\",\n \"414\": \"URI Too Long\",\n \"415\": \"Unsupported Media Type\",\n \"416\": \"Range Not Satisfiable\",\n \"417\": \"Expectation Failed\",\n \"418\": \"I'm a teapot\",\n \"421\": \"Misdirected Request\",\n \"422\": \"Unprocessable Entity\",\n \"423\": \"Locked\",\n \"424\": \"Failed Dependency\",\n \"425\": \"Unordered Collection\",\n \"426\": \"Upgrade Required\",\n \"428\": \"Precondition Required\",\n \"429\": \"Too Many Requests\",\n \"431\": \"Request Header Fields Too Large\",\n \"451\": \"Unavailable For Legal Reasons\",\n \"500\": \"Internal Server Error\",\n \"501\": \"Not Implemented\",\n \"502\": \"Bad Gateway\",\n \"503\": \"Service Unavailable\",\n \"504\": \"Gateway Timeout\",\n \"505\": \"HTTP Version Not Supported\",\n \"506\": \"Variant Also Negotiates\",\n \"507\": \"Insufficient Storage\",\n \"508\": \"Loop Detected\",\n \"509\": \"Bandwidth Limit Exceeded\",\n \"510\": \"Not Extended\",\n \"511\": \"Network Authentication Required\"\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for codecConstant -> code\nconst constants = {}\n\nfor (const [name, code] of Object.entries(table)) {\n constants[name.toUpperCase().replace(/-/g, '_')] = code\n}\n\nmodule.exports = Object.freeze(constants)\n","/**\n * Implementation of the multicodec specification.\n *\n * @module multicodec\n * @example\n * const multicodec = require('multicodec')\n *\n * const prefixedProtobuf = multicodec.addPrefix('protobuf', protobufBuffer)\n * // prefixedProtobuf 0x50...\n *\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst varint = require('varint')\nconst intTable = require('./int-table')\nconst codecNameToCodeVarint = require('./varint-table')\nconst util = require('./util')\n\nexports = module.exports\n\n/**\n * Prefix a buffer with a multicodec-packed.\n *\n * @param {string|number} multicodecStrOrCode\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.addPrefix = (multicodecStrOrCode, data) => {\n let prefix\n\n if (Buffer.isBuffer(multicodecStrOrCode)) {\n prefix = util.varintBufferEncode(multicodecStrOrCode)\n } else {\n if (codecNameToCodeVarint[multicodecStrOrCode]) {\n prefix = codecNameToCodeVarint[multicodecStrOrCode]\n } else {\n throw new Error('multicodec not recognized')\n }\n }\n return Buffer.concat([prefix, data])\n}\n\n/**\n * Decapsulate the multicodec-packed prefix from the data.\n *\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.rmPrefix = (data) => {\n varint.decode(data)\n return data.slice(varint.decode.bytes)\n}\n\n/**\n * Get the codec of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {string}\n */\nexports.getCodec = (prefixedData) => {\n const code = varint.decode(prefixedData)\n const codecName = intTable.get(code)\n if (codecName === undefined) {\n throw new Error(`Code ${code} not found`)\n }\n return codecName\n}\n\n/**\n * Get the name of the codec.\n * @param {number} codec\n * @returns {string}\n */\nexports.getName = (codec) => {\n return intTable.get(codec)\n}\n\n/**\n * Get the code of the codec\n * @param {string} name\n * @returns {number}\n */\nexports.getNumber = (name) => {\n const code = codecNameToCodeVarint[name]\n if (code === undefined) {\n throw new Error('Codec `' + name + '` not found')\n }\n return util.varintBufferDecode(code)[0]\n}\n\n/**\n * Get the code of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {number}\n */\nexports.getCode = (prefixedData) => {\n return varint.decode(prefixedData)\n}\n\n/**\n * Get the code as varint of a codec name.\n * @param {string} codecName\n * @returns {Buffer}\n */\nexports.getCodeVarint = (codecName) => {\n const code = codecNameToCodeVarint[codecName]\n if (code === undefined) {\n throw new Error('Codec `' + codecName + '` not found')\n }\n return code\n}\n\n/**\n * Get the varint of a code.\n * @param {Number} code\n * @returns {Array.}\n */\nexports.getVarint = (code) => {\n return varint.encode(code)\n}\n\n// Make the constants top-level constants\nconst constants = require('./constants')\nObject.assign(exports, constants)\n\n// Human friendly names for printing, e.g. in error messages\nexports.print = require('./print')\n","'use strict'\nconst baseTable = require('./base-table.json')\n\n// map for hexString -> codecName\nconst nameTable = new Map()\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n nameTable.set(code, encodingName)\n}\n\nmodule.exports = Object.freeze(nameTable)\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for code -> print friendly name\nconst tableByCode = {}\n\nfor (const [name, code] of Object.entries(table)) {\n if (tableByCode[code] === undefined) tableByCode[code] = name\n}\n\nmodule.exports = Object.freeze(tableByCode)\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","'use strict'\n\nconst baseTable = require('./base-table.json')\nconst varintEncode = require('./util').varintEncode\n\n// map for codecName -> codeVarintBuffer\nconst varintTable = {}\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n varintTable[encodingName] = varintEncode(code)\n}\n\nmodule.exports = Object.freeze(varintTable)\n","'use strict'\n\nconst mh = require('multihashes')\nconst { Buffer } = require('buffer')\nvar CIDUtil = {\n /**\n * Test if the given input is a valid CID object.\n * Returns an error message if it is not.\n * Returns undefined if it is a valid CID.\n *\n * @param {any} other\n * @returns {string}\n */\n checkCIDComponents: function (other) {\n if (other == null) {\n return 'null values are not valid CIDs'\n }\n\n if (!(other.version === 0 || other.version === 1)) {\n return 'Invalid version, must be a number equal to 1 or 0'\n }\n\n if (typeof other.codec !== 'string') {\n return 'codec must be string'\n }\n\n if (other.version === 0) {\n if (other.codec !== 'dag-pb') {\n return \"codec must be 'dag-pb' for CIDv0\"\n }\n if (other.multibaseName !== 'base58btc') {\n return \"multibaseName must be 'base58btc' for CIDv0\"\n }\n }\n\n if (!Buffer.isBuffer(other.multihash)) {\n return 'multihash must be a Buffer'\n }\n\n try {\n mh.validate(other.multihash)\n } catch (err) {\n let errorMsg = err.message\n if (!errorMsg) { // Just in case mh.validate() throws an error with empty error message\n errorMsg = 'Multihash validation failed'\n }\n return errorMsg\n }\n }\n}\n\nmodule.exports = CIDUtil\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","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';\n\nfunction withIs(Class, { className, symbolName }) {\n const symbol = Symbol.for(symbolName);\n\n const ClassIsWrapper = {\n // The code below assigns the class wrapper to an object to trick\n // JavaScript engines to show the name of the extended class when\n // logging an instances.\n // We are assigning an anonymous class (class wrapper) to the object\n // with key `className` to keep the correct name.\n // If this is not supported it falls back to logging `ClassIsWrapper`.\n [className]: class extends Class {\n constructor(...args) {\n super(...args);\n Object.defineProperty(this, symbol, { value: true });\n }\n\n get [Symbol.toStringTag]() {\n return className;\n }\n },\n }[className];\n\n ClassIsWrapper[`is${className}`] = (obj) => !!(obj && obj[symbol]);\n\n return ClassIsWrapper;\n}\n\nfunction withIsProto(Class, { className, symbolName, withoutNew }) {\n const symbol = Symbol.for(symbolName);\n\n /* eslint-disable object-shorthand */\n const ClassIsWrapper = {\n [className]: function (...args) {\n if (withoutNew && !(this instanceof ClassIsWrapper)) {\n return new ClassIsWrapper(...args);\n }\n\n const _this = Class.call(this, ...args) || this;\n\n if (_this && !_this[symbol]) {\n Object.defineProperty(_this, symbol, { value: true });\n }\n\n return _this;\n },\n }[className];\n /* eslint-enable object-shorthand */\n\n ClassIsWrapper.prototype = Object.create(Class.prototype);\n ClassIsWrapper.prototype.constructor = ClassIsWrapper;\n\n Object.defineProperty(ClassIsWrapper.prototype, Symbol.toStringTag, {\n get() {\n return className;\n },\n });\n\n ClassIsWrapper[`is${className}`] = (obj) => !!(obj && obj[symbol]);\n\n return ClassIsWrapper;\n}\n\nmodule.exports = withIs;\nmodule.exports.proto = withIsProto;\n","/*\r\n\tISC License\r\n\r\n\tCopyright (c) 2019, Pierre-Louis Despaigne\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted, provided that the above\r\n\tcopyright notice and this permission notice appear in all copies.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n\tWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n\tMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n\tANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n\tWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n\tACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n\tOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n*/\r\n\r\nconst CID = require('cids');\r\n\r\n/**\r\n * Take any ipfsHash and convert it to a CID v1 encoded in base32.\r\n * @param {string} ipfsHash a regular ipfs hash either a cid v0 or v1 (v1 will remain unchanged)\r\n * @return {string} the resulting ipfs hash as a cid v1\r\n */\r\nconst cidV0ToV1Base32 = (ipfsHash) => {\r\n\tlet cid = new CID(ipfsHash);\r\n\tif (cid.version === 0) {\r\n\t\tcid = cid.toV1();\r\n\t}\r\n\treturn cid.toString('base32');\r\n}\r\n\r\nexports.cidV0ToV1Base32 = cidV0ToV1Base32;\r\n","/*\r\n\tISC License\r\n\r\n\tCopyright (c) 2019, Pierre-Louis Despaigne\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted, provided that the above\r\n\tcopyright notice and this permission notice appear in all copies.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n\tWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n\tMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n\tANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n\tWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n\tACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n\tOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n*/\r\n\r\nconst multiC = require('multicodec');\r\n\r\nconst { hexStringToBuffer, profiles } = require('./profiles');\r\nconst { cidV0ToV1Base32 } = require('./helpers');\r\n\r\nmodule.exports = {\r\n\r\n\t//export some helpers functions\r\n\thelpers: {\r\n\t\tcidV0ToV1Base32,\r\n\t},\r\n\r\n\t/**\r\n\t* Decode a Content Hash.\r\n\t* @param {string} hash an hex string containing a content hash\r\n\t* @return {string} the decoded content\r\n\t*/\r\n\tdecode: function (contentHash) {\r\n\t\tconst buffer = hexStringToBuffer(contentHash);\r\n\t\tconst codec = multiC.getCodec(buffer);\r\n\t\tconst value = multiC.rmPrefix(buffer);\r\n\t\tlet profile = profiles[codec];\r\n\t\tif (!profile) profile = profiles['default'];\r\n\t\treturn profile.decode(value);\r\n\t},\r\n\r\n\t/**\r\n\t* Encode an IPFS address into a content hash\r\n\t* @param {string} ipfsHash string containing an IPFS address\r\n\t* @return {string} the resulting content hash\r\n\t*/\r\n\tfromIpfs: function (ipfsHash) {\r\n\t\treturn this.encode('ipfs-ns', ipfsHash);\r\n\t},\r\n\r\n\t/**\r\n\t* Encode a Swarm address into a content hash\r\n\t* @param {string} swarmHash string containing a Swarm address\r\n\t* @return {string} the resulting content hash\r\n\t*/\r\n\tfromSwarm: function (swarmHash) {\r\n\t\treturn this.encode('swarm-ns', swarmHash);\r\n\t},\r\n\r\n\t/**\r\n\t* General purpose encoding function\r\n * @param {string} codec \r\n * @param {string} value \r\n */\r\n\tencode: function (codec, value) {\r\n\t\tlet profile = profiles[codec];\r\n\t\tif (!profile) profile = profiles['default'];\r\n\t\tconst encodedValue = profile.encode(value);\r\n\t\treturn multiC.addPrefix(codec, encodedValue).toString('hex');\r\n\t},\r\n\r\n\t/**\r\n\t* Extract the codec of a content hash\r\n\t* @param {string} hash hex string containing a content hash\r\n\t* @return {string} the extracted codec\r\n\t*/\r\n\tgetCodec: function (hash) {\r\n\t\tlet buffer = hexStringToBuffer(hash);\r\n\t\treturn multiC.getCodec(buffer);\r\n\t},\r\n}\r\n","/*\r\n\tISC License\r\n\r\n\tCopyright (c) 2019, Pierre-Louis Despaigne\r\n\r\n\tPermission to use, copy, modify, and/or distribute this software for any\r\n\tpurpose with or without fee is hereby granted, provided that the above\r\n\tcopyright notice and this permission notice appear in all copies.\r\n\r\n\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n\tWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n\tMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n\tANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n\tWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n\tACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n\tOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n*/\r\n\r\nconst CID = require('cids');\r\nconst multiH = require('multihashes');\r\n\r\n/**\r\n * Convert an hexadecimal string to a Buffer, the string can start with or without '0x'\r\n * @param {string} hex an hexadecimal value\r\n * @return {Buffer} the resulting Buffer\r\n */\r\nconst hexStringToBuffer = (hex) => {\r\n\tlet prefix = hex.slice(0, 2);\r\n\tlet value = hex.slice(2);\r\n\tlet res = '';\r\n\tif (prefix === '0x') res = value;\r\n\telse res = hex;\r\n\treturn multiH.fromHexString(res);\r\n}\r\n\r\n/**\r\n* list of known encoding,\r\n* encoding should be a function that takes a `string` input,\r\n* and return a `Buffer` result\r\n*/\r\nconst encodes = {\r\n /**\r\n * @param {string} value\r\n * @return {Buffer}\r\n */\r\n swarm: (value) => {\r\n const multihash = multiH.encode(hexStringToBuffer(value), 'keccak-256');\r\n\t\treturn new CID(1, 'swarm-manifest', multihash).buffer;\r\n },\r\n /**\r\n * @param {string} value\r\n * @return {Buffer}\r\n */\r\n ipfs: (value) => {\r\n const multihash = multiH.fromB58String(value);\r\n return new CID(1, 'dag-pb', multihash).buffer;\r\n },\r\n /**\r\n * @param {string} value\r\n * @return {Buffer}\r\n */\r\n utf8: (value) => {\r\n return Buffer.from(value, 'utf8');\r\n },\r\n};\r\n\r\n/** \r\n* list of known decoding,\r\n* decoding should be a function that takes a `Buffer` input,\r\n* and return a `string` result\r\n*/\r\nconst decodes = {\r\n /**\r\n * @param {Buffer} value \r\n */\r\n hexMultiHash: (value) => {\r\n const cid = new CID(value);\r\n return multiH.decode(cid.multihash).digest.toString('hex');\r\n },\r\n /**\r\n * @param {Buffer} value \r\n */\r\n b58MultiHash: (value) => {\r\n const cid = new CID(value);\r\n return multiH.toB58String(cid.multihash);\r\n },\r\n /**\r\n * @param {Buffer} value \r\n */\r\n utf8: (value) => {\r\n return value.toString('utf8');\r\n },\r\n};\r\n\r\n/**\r\n* list of known encoding/decoding for a given codec,\r\n* `encode` should be chosen among the `encodes` functions\r\n* `decode` should be chosen among the `decodes` functions\r\n*/\r\nconst profiles = {\r\n 'swarm-ns': {\r\n encode: encodes.swarm,\r\n decode: decodes.hexMultiHash,\r\n },\r\n 'ipfs-ns': {\r\n encode: encodes.ipfs,\r\n decode: decodes.b58MultiHash,\r\n },\r\n 'ipns-ns': {\r\n encode: encodes.ipfs,\r\n decode: decodes.b58MultiHash,\r\n },\r\n 'default': {\r\n encode: encodes.utf8,\r\n decode: decodes.utf8,\r\n },\r\n};\r\n\r\nexports.hexStringToBuffer = hexStringToBuffer;\r\nexports.profiles = profiles;","/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tif(typeof DO_NOT_EXPORT_CRC === 'undefined') {\n\t\tif('object' === typeof exports) {\n\t\t\tfactory(exports);\n\t\t} else if ('function' === typeof define && define.amd) {\n\t\t\tdefine(function () {\n\t\t\t\tvar module = {};\n\t\t\t\tfactory(module);\n\t\t\t\treturn module;\n\t\t\t});\n\t\t} else {\n\t\t\tfactory(CRC32 = {});\n\t\t}\n\t} else {\n\t\tfactory(CRC32 = {});\n\t}\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.2';\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B, seed) {\n\tvar C = seed ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\n// $FlowIgnore\nCRC32.bstr = crc32_bstr;\n// $FlowIgnore\nCRC32.buf = crc32_buf;\n// $FlowIgnore\nCRC32.str = crc32_str;\n}));\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\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","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\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","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\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\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(typeof self !== 'undefined' ? self : this);\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","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\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","'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","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\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","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\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","'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\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';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\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 BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\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","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\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","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","export function objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n return x !== null && typeof x === 'object';\n}\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nexport var isArray = _isArray;","var len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nexport var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nexport function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}","import { invokeCallback, subscribe, FULFILLED, REJECTED, noop, makePromise, PROMISE_ID } from './-internal';\n\nimport { asap } from './asap';\n\nexport default function then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}","import { noop, resolve as _resolve } from '../-internal';\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nexport default function resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}","import { objectOrFunction, isFunction } from './utils';\n\nimport { asap } from './asap';\n\nimport originalThen from './then';\nimport originalResolve from './promise/resolve';\n\nexport var PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then) {\n if (maybeThenable.constructor === promise.constructor && then === originalThen && maybeThenable.constructor.resolve === originalResolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then)) {\n handleForeignThenable(promise, maybeThenable, then);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then = void 0;\n try {\n then = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nexport { nextId, makePromise, noop, resolve, reject, fulfill, subscribe, publish, publishRejection, initializePromise, invokeCallback, FULFILLED, REJECTED, PENDING, handleMaybeThenable };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isArray, isMaybeThenable } from './utils';\nimport { noop, reject, fulfill, subscribe, FULFILLED, REJECTED, PENDING, handleMaybeThenable } from './-internal';\n\nimport then from './then';\nimport Promise from './promise';\nimport originalResolve from './promise/resolve';\nimport originalThen from './then';\nimport { makePromise, PROMISE_ID } from './-internal';\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve = c.resolve;\n\n\n if (resolve === originalResolve) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === originalThen && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve) {\n return resolve(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\nexport default Enumerator;\n;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isFunction } from './utils';\nimport { noop, nextId, PROMISE_ID, initializePromise } from './-internal';\nimport { asap, setAsap, setScheduler } from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\nimport then from './then';\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","import Enumerator from '../enumerator';\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nexport default function all(entries) {\n return new Enumerator(this, entries).promise;\n}","import { isArray } from \"../utils\";\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nexport default function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}","import { noop, reject as _reject } from '../-internal';\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","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","const Bytes = require(\"./bytes\");\nconst Nat = require(\"./nat\");\nconst elliptic = require(\"elliptic\");\nconst rlp = require(\"./rlp\");\nconst secp256k1 = new elliptic.ec(\"secp256k1\"); // eslint-disable-line\nconst { keccak256, keccak256s } = require(\"./hash\");\n\nconst create = entropy => {\n const innerHex = keccak256(Bytes.concat(Bytes.random(32), entropy || Bytes.random(32)));\n const middleHex = Bytes.concat(Bytes.concat(Bytes.random(32), innerHex), Bytes.random(32));\n const outerHex = keccak256(middleHex);\n return fromPrivate(outerHex);\n};\n\nconst toChecksum = address => {\n const addressHash = keccak256s(address.slice(2));\n let checksumAddress = \"0x\";\n for (let i = 0; i < 40; i++) checksumAddress += parseInt(addressHash[i + 2], 16) > 7 ? address[i + 2].toUpperCase() : address[i + 2];\n return checksumAddress;\n};\n\nconst fromPrivate = privateKey => {\n const buffer = new Buffer(privateKey.slice(2), \"hex\");\n const ecKey = secp256k1.keyFromPrivate(buffer);\n const publicKey = \"0x\" + ecKey.getPublic(false, 'hex').slice(2);\n const publicHash = keccak256(publicKey);\n const address = toChecksum(\"0x\" + publicHash.slice(-40));\n return {\n address: address,\n privateKey: privateKey\n };\n};\n\nconst encodeSignature = ([v, r, s]) => Bytes.flatten([r, s, v]);\n\nconst decodeSignature = hex => [Bytes.slice(64, Bytes.length(hex), hex), Bytes.slice(0, 32, hex), Bytes.slice(32, 64, hex)];\n\nconst makeSigner = addToV => (hash, privateKey) => {\n const signature = secp256k1.keyFromPrivate(new Buffer(privateKey.slice(2), \"hex\")).sign(new Buffer(hash.slice(2), \"hex\"), { canonical: true });\n return encodeSignature([Nat.fromString(Bytes.fromNumber(addToV + signature.recoveryParam)), Bytes.pad(32, Bytes.fromNat(\"0x\" + signature.r.toString(16))), Bytes.pad(32, Bytes.fromNat(\"0x\" + signature.s.toString(16)))]);\n};\n\nconst sign = makeSigner(27); // v=27|28 instead of 0|1...\n\nconst recover = (hash, signature) => {\n const vals = decodeSignature(signature);\n const vrs = { v: Bytes.toNumber(vals[0]), r: vals[1].slice(2), s: vals[2].slice(2) };\n const ecPublicKey = secp256k1.recoverPubKey(new Buffer(hash.slice(2), \"hex\"), vrs, vrs.v < 2 ? vrs.v : 1 - vrs.v % 2); // because odd vals mean v=0... sadly that means v=0 means v=1... I hate that\n const publicKey = \"0x\" + ecPublicKey.encode(\"hex\", false).slice(2);\n const publicHash = keccak256(publicKey);\n const address = toChecksum(\"0x\" + publicHash.slice(-40));\n return address;\n};\n\nmodule.exports = {\n create,\n toChecksum,\n fromPrivate,\n sign,\n makeSigner,\n recover,\n encodeSignature,\n decodeSignature\n};","const generate = (num, fn) => {\n let a = [];\n for (var i = 0; i < num; ++i) a.push(fn(i));\n return a;\n};\n\nconst replicate = (num, val) => generate(num, () => val);\n\nconst concat = (a, b) => a.concat(b);\n\nconst flatten = a => {\n let r = [];\n for (let j = 0, J = a.length; j < J; ++j) for (let i = 0, I = a[j].length; i < I; ++i) r.push(a[j][i]);\n return r;\n};\n\nconst chunksOf = (n, a) => {\n let b = [];\n for (let i = 0, l = a.length; i < l; i += n) b.push(a.slice(i, i + n));\n return b;\n};\n\nmodule.exports = {\n generate,\n replicate,\n concat,\n flatten,\n chunksOf\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};","// 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};","const BN = require(\"bn.js\");\nconst Bytes = require(\"./bytes\");\n\nconst fromBN = bn => \"0x\" + bn.toString(\"hex\");\n\nconst toBN = str => new BN(str.slice(2), 16);\n\nconst fromString = str => {\n const bn = \"0x\" + (str.slice(0, 2) === \"0x\" ? new BN(str.slice(2), 16) : new BN(str, 10)).toString(\"hex\");\n return bn === \"0x0\" ? \"0x\" : bn;\n};\n\nconst toEther = wei => toNumber(div(wei, fromString(\"10000000000\"))) / 100000000;\n\nconst fromEther = eth => mul(fromNumber(Math.floor(eth * 100000000)), fromString(\"10000000000\"));\n\nconst toString = a => toBN(a).toString(10);\n\nconst fromNumber = a => typeof a === \"string\" ? /^0x/.test(a) ? a : \"0x\" + a : \"0x\" + new BN(a).toString(\"hex\");\n\nconst toNumber = a => toBN(a).toNumber();\n\nconst toUint256 = a => Bytes.pad(32, a);\n\nconst bin = method => (a, b) => fromBN(toBN(a)[method](toBN(b)));\n\nconst add = bin(\"add\");\nconst mul = bin(\"mul\");\nconst div = bin(\"div\");\nconst sub = bin(\"sub\");\n\nmodule.exports = {\n toString,\n fromString,\n toNumber,\n fromNumber,\n toEther,\n fromEther,\n toUint256,\n add,\n mul,\n div,\n sub\n};","// The RLP format\n// Serialization and deserialization for the BytesTree type, under the following grammar:\n// | First byte | Meaning |\n// | ---------- | -------------------------------------------------------------------------- |\n// | 0 to 127 | HEX(leaf) |\n// | 128 to 183 | HEX(length_of_leaf + 128) + HEX(leaf) |\n// | 184 to 191 | HEX(length_of_length_of_leaf + 128 + 55) + HEX(length_of_leaf) + HEX(leaf) |\n// | 192 to 247 | HEX(length_of_node + 192) + HEX(node) |\n// | 248 to 255 | HEX(length_of_length_of_node + 128 + 55) + HEX(length_of_node) + HEX(node) |\n\nconst encode = tree => {\n const padEven = str => str.length % 2 === 0 ? str : \"0\" + str;\n\n const uint = num => padEven(num.toString(16));\n\n const length = (len, add) => len < 56 ? uint(add + len) : uint(add + uint(len).length / 2 + 55) + uint(len);\n\n const dataTree = tree => {\n if (typeof tree === \"string\") {\n const hex = tree.slice(2);\n const pre = hex.length != 2 || hex >= \"80\" ? length(hex.length / 2, 128) : \"\";\n return pre + hex;\n } else {\n const hex = tree.map(dataTree).join(\"\");\n const pre = length(hex.length / 2, 192);\n return pre + hex;\n }\n };\n\n return \"0x\" + dataTree(tree);\n};\n\nconst decode = hex => {\n let i = 2;\n\n const parseTree = () => {\n if (i >= hex.length) throw \"\";\n const head = hex.slice(i, i + 2);\n return head < \"80\" ? (i += 2, \"0x\" + head) : head < \"c0\" ? parseHex() : parseList();\n };\n\n const parseLength = () => {\n const len = parseInt(hex.slice(i, i += 2), 16) % 64;\n return len < 56 ? len : parseInt(hex.slice(i, i += (len - 55) * 2), 16);\n };\n\n const parseHex = () => {\n const len = parseLength();\n return \"0x\" + hex.slice(i, i += len * 2);\n };\n\n const parseList = () => {\n const lim = parseLength() * 2 + i;\n let list = [];\n while (i < lim) list.push(parseTree());\n return list;\n };\n\n try {\n return parseTree();\n } catch (e) {\n return [];\n }\n};\n\nmodule.exports = { encode, decode };","\"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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'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};","'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","// 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 objectCreate = Object.create || objectCreatePolyfill\nvar objectKeys = Object.keys || objectKeysPolyfill\nvar bind = Function.prototype.bind || functionBindPolyfill\n\nfunction EventEmitter() {\n if (!this._events || !Object.prototype.hasOwnProperty.call(this, '_events')) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\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\nvar hasDefineProperty;\ntry {\n var o = {};\n if (Object.defineProperty) Object.defineProperty(o, 'x', { value: 0 });\n hasDefineProperty = o.x === 0;\n} catch (err) { hasDefineProperty = false }\nif (hasDefineProperty) {\n Object.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n // check whether the input is a positive number (whose value is zero or\n // greater and not a NaN).\n if (typeof arg !== 'number' || arg < 0 || arg !== arg)\n throw new TypeError('\"defaultMaxListeners\" must be a positive number');\n defaultMaxListeners = arg;\n }\n });\n} else {\n EventEmitter.defaultMaxListeners = defaultMaxListeners;\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 || isNaN(n))\n throw new TypeError('\"n\" argument must be a positive number');\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\n// These standalone emit* functions are used to optimize calling of event\n// handlers for fast cases because emit() itself often has a variable number of\n// arguments and can be deoptimized because of that. These functions always have\n// the same number of arguments and thus do not get deoptimized, so the code\n// inside them can execute faster.\nfunction emitNone(handler, isFn, self) {\n if (isFn)\n handler.call(self);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self);\n }\n}\nfunction emitOne(handler, isFn, self, arg1) {\n if (isFn)\n handler.call(self, arg1);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1);\n }\n}\nfunction emitTwo(handler, isFn, self, arg1, arg2) {\n if (isFn)\n handler.call(self, arg1, arg2);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2);\n }\n}\nfunction emitThree(handler, isFn, self, arg1, arg2, arg3) {\n if (isFn)\n handler.call(self, arg1, arg2, arg3);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2, arg3);\n }\n}\n\nfunction emitMany(handler, isFn, self, args) {\n if (isFn)\n handler.apply(self, args);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].apply(self, args);\n }\n}\n\nEventEmitter.prototype.emit = function emit(type) {\n var er, handler, len, args, i, events;\n var doError = (type === 'error');\n\n events = this._events;\n if (events)\n doError = (doError && events.error == null);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n if (arguments.length > 1)\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Unhandled \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n return false;\n }\n\n handler = events[type];\n\n if (!handler)\n return false;\n\n var isFn = typeof handler === 'function';\n len = arguments.length;\n switch (len) {\n // fast cases\n case 1:\n emitNone(handler, isFn, this);\n break;\n case 2:\n emitOne(handler, isFn, this, arguments[1]);\n break;\n case 3:\n emitTwo(handler, isFn, this, arguments[1], arguments[2]);\n break;\n case 4:\n emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);\n break;\n // slower\n default:\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n emitMany(handler, isFn, 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 if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = target._events;\n if (!events) {\n events = target._events = objectCreate(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) {\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) {\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 } else {\n // If we've already got an array, just append.\n if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n }\n\n // Check for listener leak\n if (!existing.warned) {\n m = $getMaxListeners(target);\n if (m && m > 0 && existing.length > m) {\n existing.warned = true;\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 if (typeof console === 'object' && console.warn) {\n console.warn('%s: %s', w.name, w.message);\n }\n }\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 switch (arguments.length) {\n case 0:\n return this.listener.call(this.target);\n case 1:\n return this.listener.call(this.target, arguments[0]);\n case 2:\n return this.listener.call(this.target, arguments[0], arguments[1]);\n case 3:\n return this.listener.call(this.target, arguments[0], arguments[1],\n arguments[2]);\n default:\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; ++i)\n args[i] = arguments[i];\n this.listener.apply(this.target, args);\n }\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = bind.call(onceWrapper, state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\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 if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = this._events;\n if (!events)\n return this;\n\n list = events[type];\n if (!list)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(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 if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (!events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!events.removeListener) {\n if (arguments.length === 0) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n } else if (events[type]) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(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 = objectKeys(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 = objectCreate(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) {\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)\n return [];\n\n var evlistener = events[type];\n if (!evlistener)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ? 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) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\n\n// About 1.5x faster than the two-arg version of Array#splice().\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)\n list[i] = list[k];\n list.pop();\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 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 objectCreatePolyfill(proto) {\n var F = function() {};\n F.prototype = proto;\n return new F;\n}\nfunction objectKeysPolyfill(obj) {\n var keys = [];\n for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k)) {\n keys.push(k);\n }\n return k;\n}\nfunction functionBindPolyfill(context) {\n var fn = this;\n return function () {\n return fn.apply(context, arguments);\n };\n}\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 isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\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","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';\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 Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\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 Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\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 rh = [\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 s = [\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 sh = [\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","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.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\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\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\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\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};\n\nSHA1.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 SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\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');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), '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","'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 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 hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\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","/* This file is generated from the Unicode IDNA table, using\n the build-unicode-tables.py script. Please edit that\n script instead of this file. */\n\n/* istanbul ignore next */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () { return factory(); });\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.uts46_map = factory();\n }\n}(this, function () {\nvar blocks = [\n new Uint32Array([2157250,2157314,2157378,2157442,2157506,2157570,2157634,0,2157698,2157762,2157826,2157890,2157954,0,2158018,0]),\n new Uint32Array([2179041,6291456,2179073,6291456,2179105,6291456,2179137,6291456,2179169,6291456,2179201,6291456,2179233,6291456,2179265,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([0,2113729,2197345,2197377,2113825,2197409,2197441,2113921,2197473,2114017,2197505,2197537,2197569,2197601,2197633,2197665]),\n new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672,23068672,0,0,0,0,23068672]),\n new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064]),\n new Uint32Array([2196001,2196033,2196065,2196097,2196129,2196161,2196193,2196225,2196257,2196289,2196321,2196353,2196385,2196417,2196449,2196481]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,0,0,0,0,0]),\n new Uint32Array([2097281,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([2177025,6291456,2177057,6291456,2177089,6291456,2177121,6291456,2177153,6291456,2177185,6291456,2177217,6291456,2177249,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456]),\n new Uint32Array([2134435,2134531,2134627,2134723,2134723,2134819,2134819,2134915,2134915,2135011,2105987,2135107,2135203,2135299,2131587,2135395]),\n new Uint32Array([0,0,0,0,0,0,0,6291456,2168673,2169249,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354,2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354]),\n new Uint32Array([2125219,2125315,2152834,2152898,2125411,2152962,2153026,2125506,2125507,2125603,2153090,2153154,2153218,2153282,2153346,2105348]),\n new Uint32Array([2203393,6291456,2203425,6291456,2203457,6291456,2203489,6291456,6291456,6291456,6291456,2203521,6291456,2181281,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,6291456,2145538,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,6291456]),\n new Uint32Array([2139426,2160834,2160898,2160962,2134242,2161026,2161090,2161154,2161218,2161282,2161346,2161410,2138658,2161474,2161538,2134722]),\n new Uint32Array([2119939,2124930,2125026,2106658,2125218,2128962,2129058,2129154,2129250,2129346,2129442,2108866,2108770,2150466,2150530,2150594]),\n new Uint32Array([2201601,6291456,2201633,6291456,2201665,6291456,2201697,6291456,2201729,6291456,2201761,6291456,2201793,6291456,2201825,6291456]),\n new Uint32Array([2193537,2193569,2193601,2193633,2193665,2193697,2193729,2193761,2193793,2193825,2193857,2193889,2193921,2193953,2193985,2194017]),\n new Uint32Array([6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2190561,6291456,2190593,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2190625,6291456,2190657,6291456,23068672]),\n new Uint32Array([2215905,2215937,2215969,2216001,2216033,2216065,2216097,2216129,2216161,2216193,2216225,2216257,2105441,2216289,2216321,2216353]),\n new Uint32Array([23068672,18884130,23068672,23068672,23068672,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2191233,2191265,2191297,2191329,2191361,2191393,2191425,2117377,2191457,2191489,2191521,2191553,2191585,2191617,2191649,2117953]),\n new Uint32Array([2132227,2132323,2132419,2132419,2132515,2132515,2132611,2132707,2132707,2132803,2132899,2132899,2132995,2132995,2133091,2133187]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,0,0]),\n new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10609889,10610785,10609921,10610817,2222241]),\n new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),\n new Uint32Array([2219969,2157121,2157441,2157505,2157889,2157953,2220001,2158465,2158529,10575617,2156994,2157058,2129923,2130019,2157122,2157186]),\n new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2185249,6291456,2185281,6291456,2185313,6291456,2185345,6291456,2185377,6291456,2185409,6291456,2185441,6291456,2185473,6291456]),\n new Uint32Array([0,0,0,0,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,6291456,0]),\n new Uint32Array([2183361,6291456,2183393,6291456,2183425,6291456,2183457,6291456,2183489,6291456,2183521,6291456,2183553,6291456,2183585,6291456]),\n new Uint32Array([2192161,2192193,2192225,2192257,2192289,2192321,2192353,2192385,2192417,2192449,2192481,2192513,2192545,2192577,2192609,2192641]),\n new Uint32Array([2212001,2212033,2212065,2212097,2212129,2212161,2212193,2212225,2212257,2212289,2212321,2212353,2212385,2212417,2212449,2207265]),\n new Uint32Array([2249825,2249857,2249889,2249921,2249954,2250018,2250082,2250145,2250177,2250209,2250241,2250274,2250337,2250370,2250433,2250465]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147905,2147969,2148033,2148097,2148161,2148225,2148289,2148353]),\n new Uint32Array([10485857,6291456,2197217,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2180353,2180385,2144033,2180417,2180449,2180481,2180513,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10610209,10610465,10610241,10610753,10609857]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),\n new Uint32Array([2223842,2223906,2223970,2224034,2224098,2224162,2224226,2224290,2224354,2224418,2224482,2224546,2224610,2224674,2224738,2224802]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([23068672,23068672,23068672,18923650,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,18923714,23068672,23068672]),\n new Uint32Array([2126179,2125538,2126275,2126371,2126467,2125634,2126563,2105603,2105604,2125346,2126659,2126755,2126851,2098179,2098181,2098182]),\n new Uint32Array([2227426,2227490,2227554,2227618,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2192353,2240642,2240642,2240705,2240737,2240737,2240769,2240802,2240866,2240929,2240961,2240993,2241025,2241057,2241089,2241121]),\n new Uint32Array([6291456,2170881,2170913,2170945,6291456,2170977,6291456,2171009,2171041,6291456,6291456,6291456,2171073,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2132226,2132514,2163586,2132610,2160386,2133090,2133186,2160450,2160514,2160578,2133570,2106178,2160642,2133858,2160706,2160770]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10532162,10532226,10532290,10532354,10532418,10532482,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),\n new Uint32Array([2098209,2108353,2108193,2108481,2170241,2111713,2105473,2105569,2105601,2112289,2112481,2098305,2108321,0,0,0]),\n new Uint32Array([2209121,2209153,2209185,2209217,2209249,2209281,2209313,2209345,2209377,2209409,2209441,2209473,2207265,2209505,2209537,2209569]),\n new Uint32Array([2189025,6291456,2189057,6291456,2189089,6291456,2189121,6291456,2189153,6291456,2189185,6291456,2189217,6291456,2189249,6291456]),\n new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2165764,2140004]),\n new Uint32Array([2215105,6291456,2215137,6291456,6291456,2215169,2215201,6291456,6291456,6291456,2215233,2215265,2215297,2215329,2215361,2215393]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,23068672,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([10505091,10505187,10505283,10505379,10505475,10505571,10505667,10505763,10505859,10505955,10506051,10506147,10506243,10506339,10506435,10506531]),\n new Uint32Array([2229730,2229794,2229858,2229922,2229986,2230050,2230114,2230178,2230242,2230306,2230370,2230434,2230498,2230562,2230626,2230690]),\n new Uint32Array([2105505,2098241,2108353,2108417,2105825,0,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),\n new Uint32Array([6291456,6291456,6291456,6291456,10502115,10502178,10502211,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),\n new Uint32Array([2190305,6291456,2190337,6291456,2190369,6291456,2190401,6291456,2190433,6291456,2190465,6291456,2190497,6291456,2190529,6291456]),\n new Uint32Array([2173793,2173985,2174017,6291456,2173761,2173697,6291456,2174689,6291456,2174017,2174721,6291456,6291456,2174753,2174785,2174817]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609,2100033]),\n new Uint32Array([2132898,2163842,2163906,2133282,2132034,2131938,2137410,2132802,2132706,2164866,2133282,2160578,2165186,2165186,6291456,6291456]),\n new Uint32Array([10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059,10501155,10501251,10501347,10501443]),\n new Uint32Array([2163458,2130978,2131074,2131266,2131362,2163522,2160130,2132066,2131010,2131106,2106018,2131618,2131298,2132034,2131938,2137410]),\n new Uint32Array([2212961,2116993,2212993,2213025,2213057,2213089,2213121,2213153,2213185,2213217,2213249,2209633,2213281,2213313,2213345,2213377]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2113729,2113825,2113921,2114017,2114113,2114209,2114305,2114401,2114497,2114593,2114689,2114785,2114881,2114977,2115073,2115169]),\n new Uint32Array([2238177,2238209,2238241,2238273,2238305,2238337,2238337,2217537,2238369,2238401,2238433,2238465,2215649,2238497,2238529,2238561]),\n new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),\n new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0]),\n new Uint32Array([6291456,0,6291456,2145026,0,6291456,2145090,0,6291456,6291456,0,0,23068672,0,23068672,23068672]),\n new Uint32Array([2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129,2100289]),\n new Uint32Array([6291456,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0]),\n new Uint32Array([2187681,2187713,2187745,2187777,2187809,2187841,2187873,2187905,2187937,2187969,2188001,2188033,2188065,2188097,2188129,2188161]),\n new Uint32Array([0,10554498,10554562,10554626,10554690,10554754,10554818,10554882,10554946,10555010,10555074,6291456,6291456,0,0,0]),\n new Uint32Array([2235170,2235234,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0]),\n new Uint32Array([2181153,6291456,2188897,6291456,6291456,2188929,6291456,6291456,6291456,6291456,6291456,6291456,2111905,2100865,2188961,2188993]),\n new Uint32Array([2100833,2100897,0,0,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,2112289]),\n new Uint32Array([6291456,2172833,6291456,2172865,2172897,2172929,2172961,6291456,2172993,6291456,2173025,6291456,2173057,6291456,2173089,6291456]),\n new Uint32Array([6291456,0,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,2190721]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456]),\n new Uint32Array([2184993,6291456,2185025,6291456,2185057,6291456,2185089,6291456,2185121,6291456,2185153,6291456,2185185,6291456,2185217,6291456]),\n new Uint32Array([2115265,2115361,2115457,2115553,2115649,2115745,2115841,2115937,2116033,2116129,2116225,2116321,2150658,2150722,2200225,6291456]),\n new Uint32Array([2168321,6291456,2168353,6291456,2168385,6291456,2168417,6291456,2168449,6291456,2168481,6291456,2168513,6291456,2168545,6291456]),\n new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,0,6291456,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,2186625,0,0,6291456,6291456,2186657,2186689,2186721,2173505,0,10496067,10496163,10496259]),\n new Uint32Array([2178785,6291456,2178817,6291456,2178849,6291456,2178881,6291456,2178913,6291456,2178945,6291456,2178977,6291456,2179009,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),\n new Uint32Array([2097152,0,0,0,2097152,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,2197857,2197889,2197921,2197953,2197985,2198017,0,0,2198049,2198081,2198113,2198145,2198177,2198209]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2098209,2167297,2111137,6291456]),\n new Uint32Array([2171393,6291456,2171425,6291456,2171457,6291456,2171489,6291456,2171521,6291456,2171553,6291456,2171585,6291456,2171617,6291456]),\n new Uint32Array([2206753,2206785,2195457,2206817,2206849,2206881,2206913,2197153,2197153,2206945,2117857,2206977,2207009,2207041,2207073,2207105]),\n new Uint32Array([0,0,0,0,0,0,0,23068672,0,0,0,0,2144834,2144898,0,2144962]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672]),\n new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,0,2105505,2098241]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,2202049,6291456,2202081,6291456,2202113,6291456,2202145,6291456,2202177,6291456,2202209,6291456,2202241,6291456]),\n new Uint32Array([10501155,10501251,10501347,10501443,10501539,10501635,10501731,10501827,10501923,10502019,2141731,2105505,2098177,2155586,2166530,0]),\n new Uint32Array([2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441]),\n new Uint32Array([2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330,2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([10502307,10502403,10502499,10502595,10502691,10502787,10502883,10502979,10503075,10503171,10503267,10503363,10503459,10503555,10503651,10503747]),\n new Uint32Array([2179937,2179969,2180001,2180033,2156545,2180065,2156577,2180097,2180129,2180161,2180193,2180225,2180257,2180289,2156737,2180321]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,0,0,6291456,0,0,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),\n new Uint32Array([2227682,2227746,2227810,2227874,2227938,2228002,2228066,2228130,2228194,2228258,2228322,2228386,2228450,2228514,2228578,2228642]),\n new Uint32Array([2105601,2169121,2108193,2170049,2181025,2181057,2112481,2108321,2108289,2181089,2170497,2100865,2181121,2173601,2173633,2173665]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180641,6291456,6291456,6291456]),\n new Uint32Array([0,6291456,6291456,6291456,0,6291456,0,6291456,0,0,6291456,6291456,0,6291456,6291456,6291456]),\n new Uint32Array([2178273,6291456,2178305,6291456,2178337,6291456,2178369,6291456,2178401,6291456,2178433,6291456,2178465,6291456,2178497,6291456]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),\n new Uint32Array([2237377,2237409,2236225,2237441,2237473,2217441,2215521,2215553,2217473,2237505,2237537,2209697,2237569,2215585,2237601,2237633]),\n new Uint32Array([2221985,2165601,2165601,2165665,2165665,2222017,2222017,2165729,2165729,2158913,2158913,2158913,2158913,2097281,2097281,2105921]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2149634,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2176897,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2176929,6291456,2176961,6291456,2176993,6291456]),\n new Uint32Array([2172641,6291456,2172673,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2172705,2172737,6291456,2172769,2172801,6291456]),\n new Uint32Array([2099173,2104196,2121667,2099395,2121763,2152258,2152322,2098946,2152386,2121859,2121955,2099333,2122051,2104324,2099493,2122147]),\n new Uint32Array([6291456,6291456,6291456,2145794,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2145858,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,0,0,6291456,0]),\n new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,0,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2239074,2239138,2239201,2239233,2239265,2239297,2239329,2239361,0,2239393,2239425,2239425,2239458,2239521,2239553,2209569]),\n new Uint32Array([14680064,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,6291456,23068672]),\n new Uint32Array([2108321,2108289,2113153,2098209,2180897,2180929,2180961,2111137,2098241,2108353,2170241,2170273,2180993,2105825,6291456,2105473]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146114,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([2105921,2105921,2105921,2222049,2222049,2130977,2130977,2130977,2130977,2160065,2160065,2160065,2160065,2097729,2097729,2097729]),\n new Uint32Array([2218145,2214785,2207937,2218177,2218209,2192993,2210113,2212769,2218241,2218273,2216129,2218305,2216161,2218337,2218369,2218401]),\n new Uint32Array([0,0,0,2156546,2156610,2156674,2156738,2156802,0,0,0,0,0,2156866,23068672,2156930]),\n new Uint32Array([23068672,23068672,23068672,0,0,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),\n new Uint32Array([2213409,2213441,2213473,2213505,2213537,2213569,2213601,2213633,2213665,2195681,2213697,2213729,2213761,2213793,2213825,2213857]),\n new Uint32Array([2100033,2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2201857,6291456,2201889,6291456,2201921,6291456,2201953,6291456,2201985,6291456,2202017,6291456,2176193,2176257,23068672,23068672]),\n new Uint32Array([6291456,6291456,23068672,23068672,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2188193,2188225,2188257,2188289,2188321,2188353,2188385,2188417,2188449,2188481,2188513,2188545,2188577,2188609,2188641,0]),\n new Uint32Array([10554529,2221089,0,10502113,10562017,10537921,10538049,2221121,2221153,0,0,0,0,0,0,0]),\n new Uint32Array([2213889,2213921,2213953,2213985,2214017,2214049,2214081,2194177,2214113,2214145,2214177,2214209,2214241,2214273,2214305,2214337]),\n new Uint32Array([2166978,2167042,2099169,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180545,6291456,6291456,6291456]),\n new Uint32Array([10518915,10519011,10519107,10519203,2162242,2162306,2159554,2162370,2159362,2159618,2105922,2162434,2159746,2162498,2159810,2159874]),\n new Uint32Array([2161730,2161794,2135586,2161858,2161922,2137186,2131810,2160290,2135170,2161986,2137954,2162050,2162114,2162178,10518723,10518819]),\n new Uint32Array([10506627,10506723,10506819,10506915,10507011,10507107,10507203,10507299,10507395,10507491,10507587,10507683,10507779,10507875,10507971,10508067]),\n new Uint32Array([6291456,23068672,23068672,23068672,0,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),\n new Uint32Array([2175873,2175905,2175937,2175969,2176001,2176033,2176065,2176097,2176129,2176161,2176193,2176225,2176257,2176289,2176321,2176353]),\n new Uint32Array([2140006,2140198,2140390,2140582,2140774,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,23068672,23068672,23068672]),\n new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241]),\n new Uint32Array([0,23068672,0,0,0,0,0,0,0,2145154,2145218,2145282,6291456,0,2145346,0]),\n new Uint32Array([0,0,0,0,10531458,10495395,2148545,2143201,2173473,2148865,2173505,0,2173537,0,2173569,2149121]),\n new Uint32Array([10537282,10495683,2148738,2148802,2148866,0,6291456,2148930,2186593,2173473,2148737,2148865,2148802,10495779,10495875,10495971]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2215425,2215457,2215489,2215521,2215553,2215585,2215617,2215649,2215681,2215713,2215745,2215777,2192033,2215809,2215841,2215873]),\n new Uint32Array([2242049,2242081,2242113,2242145,2242177,2242209,2242241,2242273,2215937,2242305,2242338,2242401,2242433,2242465,2242497,2216001]),\n new Uint32Array([10554529,2221089,0,0,10562017,10502113,10538049,10537921,2221185,10489601,10489697,10609889,10609921,2141729,2141793,10610273]),\n new Uint32Array([2141923,2142019,2142115,2142211,2142307,2142403,2142499,2142595,2142691,0,0,0,0,0,0,0]),\n new Uint32Array([0,2221185,2221217,10609857,10609857,10489601,10489697,10609889,10609921,2141729,2141793,2221345,2221377,2221409,2221441,2187105]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18923970,23068672,23068672,23068672,0,6291456,6291456]),\n new Uint32Array([2183105,6291456,2183137,6291456,2183169,6291456,2183201,6291456,2183233,6291456,2183265,6291456,2183297,6291456,2183329,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([2134434,2134818,2097666,2097186,2097474,2097698,2105986,2131586,2132450,2131874,2131778,2135970,2135778,2161602,2136162,2161666]),\n new Uint32Array([2236865,2236897,2236930,2236993,2237025,2235681,2237058,2237121,2237153,2237185,2237217,2217281,2237250,2191233,2237313,2237345]),\n new Uint32Array([2190049,6291456,2190081,6291456,2190113,6291456,2190145,6291456,2190177,6291456,2190209,6291456,2190241,6291456,2190273,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2101922,2102050,2102178,2102306,10498755,10498851,10498947,10499043,10499139,10499235,10499331,10499427,10499523,10489604,10489732,10489860]),\n new Uint32Array([2166914,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2181601,2170561,2181633,2181665,2170753,2181697,2172897,2170881,2181729,2170913,2172929,2113441,2181761,2181793,2171009,2173761]),\n new Uint32Array([0,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([2248001,2248033,2248066,2248130,2248193,2248226,2248289,2248322,2248385,2248417,2216673,2248450,2248514,2248577,2248610,2248673]),\n new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([2169729,6291456,2169761,6291456,2169793,6291456,2169825,6291456,2169857,2169889,6291456,2169921,6291456,2143329,6291456,2098305]),\n new Uint32Array([2162178,2163202,2163266,2135170,2136226,2161986,2137954,2159426,2159490,2163330,2159554,2163394,2159682,2139522,2136450,2159746]),\n new Uint32Array([2173953,2173985,0,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2174209,2174241,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,4271169,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2174273]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,2190785,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2189793,6291456,2189825,6291456,2189857,6291456,2189889,6291456,2189921,6291456,2189953,6291456,2189985,6291456,2190017,6291456]),\n new Uint32Array([2105601,2112289,2108193,2112481,2112577,0,2098305,2108321,2108289,2100865,2113153,2108481,2113345,0,2098209,2111137]),\n new Uint32Array([2172129,6291456,2172161,6291456,2172193,6291456,2172225,6291456,2172257,6291456,2172289,6291456,2172321,6291456,2172353,6291456]),\n new Uint32Array([2214753,6291456,2214785,6291456,6291456,2214817,2214849,2214881,2214913,2214945,2214977,2215009,2215041,2215073,2194401,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([0,0,0,0,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([10610305,10610337,10575617,2221761,10610401,10610433,10502177,0,10610465,10610497,10610529,10610561,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,0,0,0,0,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2187105,2187137,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2199393,2199425,2199457,2199489,2199521,2199553,2199585,2199617,2199649,2199681,2199713,2199745,2199777,2199809,2199841,0]),\n new Uint32Array([2217249,2217281,2217313,2217345,2217377,2217409,2217441,2217473,2215617,2217505,2217537,2217569,2214753,2217601,2217633,2217665]),\n new Uint32Array([2170273,2170305,6291456,2170337,2170369,6291456,2170401,2170433,2170465,6291456,6291456,6291456,2170497,2170529,6291456,2170561]),\n new Uint32Array([2188673,6291456,2188705,2188737,2188769,6291456,6291456,2188801,6291456,2188833,6291456,2188865,6291456,2180929,2181505,2180897]),\n new Uint32Array([10489988,10490116,10490244,10490372,10490500,10490628,10490756,10490884,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147393,2147457,2147521,2147585,2147649,2147713,2147777,2147841]),\n new Uint32Array([23068672,23068672,0,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2241153,2241185,2241217,2215809,2241250,2241313,2241345,2241377,2217921,2241377,2241409,2215873,2241441,2241473,2241505,2241537]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2220417,2220417,2220449,2220449,2220481,2220481,2220513,2220513,2220545,2220545,2220577,2220577,2220609,2220609,2220641,2220641]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2144002,0,6291456,6291456,0,0,6291456,6291456,6291456]),\n new Uint32Array([2167105,2167137,2167169,2167201,2167233,2167265,2167297,2167329,2167361,2167393,2167425,2167457,2167489,2167521,2167553,2167585]),\n new Uint32Array([10575521,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),\n new Uint32Array([2234146,2234210,2234274,2234338,2234402,2234466,2234530,2234594,2234658,2234722,2234786,2234850,2234914,2234978,2235042,2235106]),\n new Uint32Array([0,0,0,0,0,0,0,2180577,0,0,0,0,0,2180609,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456]),\n new Uint32Array([2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2242529,2242561,2242593,2242625,2242657,2242689,2242721,2242753,2207937,2218177,2242785,2242817,2242849,2242882,2242945,2242977]),\n new Uint32Array([2118049,2105345,2118241,2105441,2118433,2118529,2118625,2118721,2118817,2200257,2200289,2191809,2200321,2200353,2200385,2200417]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([2185505,6291456,2185537,6291456,2185569,6291456,2185601,6291456,2185633,6291456,2185665,6291456,2185697,6291456,2185729,6291456]),\n new Uint32Array([2231970,2232034,2232098,2232162,2232226,2232290,2232354,2232418,2232482,2232546,2232610,2232674,2232738,2232802,2232866,2232930]),\n new Uint32Array([2218625,2246402,2246466,2246530,2246594,2246657,2246689,2246689,2218657,2219681,2246721,2246753,2246785,2246818,2246881,2208481]),\n new Uint32Array([2197025,2197057,2197089,2197121,2197153,2197185,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2219137,2216961,2219169,2219201,2219233,2219265,2219297,2217025,2215041,2219329,2217057,2219361,2217089,2219393,2197153,2219426]),\n new Uint32Array([23068672,23068672,23068672,0,0,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713]),\n new Uint32Array([2243522,2243585,2243617,2243649,2243681,2210113,2243713,2243746,2243810,2243874,2243937,2243970,2244033,2244065,2244097,2244129]),\n new Uint32Array([2178017,6291456,2178049,6291456,2178081,6291456,2178113,6291456,2178145,6291456,2178177,6291456,2178209,6291456,2178241,6291456]),\n new Uint32Array([10553858,2165314,10518722,6291456,10518818,0,10518914,2130690,10519010,2130786,10519106,2130882,10519202,2165378,10554050,2165506]),\n new Uint32Array([0,0,2135491,2135587,2135683,2135779,2135875,2135971,2135971,2136067,2136163,2136259,2136355,2136355,2136451,2136547]),\n new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2220033,2220033,2220065,2220065,2220065,2220065,2220097,2220097,2220097,2220097,2220129,2220129,2220129,2220129,2220161,2220161]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2100897,2100898,2100899,2150018,2100865,2100866,2100867,2100868,2150082,2108481,2109858,2109859,2105569,2105505,2098241,2105601]),\n new Uint32Array([2097217,2097505,2097505,2097505,2097505,2165570,2165570,2165634,2165634,2165698,2165698,2097858,2097858,0,0,2097152]),\n new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([10503843,10503939,10504035,10504131,10504227,10504323,10504419,10504515,10504611,10504707,10504803,10504899,10504995,10491140,10491268,0]),\n new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,2235297,2220769,2235329,2235361]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2222401,2222433,2222465,10531394,2222497,2222529,2222561,0,2222593,2222625,2222657,2222689,2222721,2222753,2222785,0]),\n new Uint32Array([2184481,6291456,2184513,6291456,2184545,6291456,2184577,6291456,2184609,6291456,2184641,6291456,2184673,6291456,2184705,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2105570,2156034,2126947,2156098,2153666,2127043,2127139,2156162,0,2127235,2156226,2156290,2156354,2156418,2127331,2127427]),\n new Uint32Array([2215905,2207041,2153185,2241569,2241601,2241633,2241665,2241697,2241730,2241793,2241825,2241857,2241889,2241921,2241954,2242017]),\n new Uint32Array([2203777,6291456,2203809,6291456,2203841,6291456,2203873,6291456,2203905,6291456,2173121,2180993,2181249,2203937,2181313,0]),\n new Uint32Array([2168577,6291456,2168609,6291456,2168641,6291456,2168673,6291456,2168705,6291456,2168737,6291456,2168769,6291456,2168801,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,0,0]),\n new Uint32Array([2210113,2195521,2210145,2210177,2210209,2210241,2210273,2210305,2210337,2210369,2210401,2210433,2210465,2210497,2210529,2210561]),\n new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([2228706,2228770,2228834,2228898,2228962,2229026,2229090,2229154,2229218,2229282,2229346,2229410,2229474,2229538,2229602,2229666]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,18874368,18874368,18874368,0,0]),\n new Uint32Array([2133089,2133281,2133281,2133281,2133281,2160577,2160577,2160577,2160577,2097441,2097441,2097441,2097441,2133857,2133857,2133857]),\n new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089]),\n new Uint32Array([2178529,6291456,2178561,6291456,2178593,6291456,2178625,6291456,2178657,6291456,2178689,6291456,2178721,6291456,2178753,6291456]),\n new Uint32Array([2221025,2221025,2221057,2221057,2159329,2159329,2159329,2159329,2097217,2097217,2158914,2158914,2158978,2158978,2159042,2159042]),\n new Uint32Array([2208161,2208193,2208225,2208257,2194433,2208289,2208321,2208353,2208385,2208417,2208449,2208481,2208513,2208545,2208577,2208609]),\n new Uint32Array([2169217,6291456,2169249,6291456,2169281,6291456,2169313,6291456,2169345,6291456,2169377,6291456,2169409,6291456,2169441,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([2133187,2133283,2133283,2133379,2133475,2133571,2133667,2133667,2133763,2133859,2133955,2134051,2134147,2134147,2134243,2134339]),\n new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,0]),\n new Uint32Array([2193089,2193121,2193153,2193185,2117665,2117569,2193217,2193249,2193281,2193313,2193345,2193377,2193409,2193441,2193473,2193505]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2184225,6291456,2184257,6291456,2184289,6291456,2184321,6291456,2184353,6291456,2184385,6291456,2184417,6291456,2184449,6291456]),\n new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2100833,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2200801,2200833,2200865,0]),\n new Uint32Array([23068672,23068672,23068672,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),\n new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2181153,2105505,2181185,2167617,2180993]),\n new Uint32Array([2160002,2160066,2160130,2160194,2160258,2132066,2131010,2131106,2106018,2131618,2160322,2131298,2132034,2131938,2137410,2132226]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,6291456]),\n new Uint32Array([2183617,6291456,2183649,6291456,2183681,6291456,2183713,6291456,2183745,6291456,2183777,6291456,2183809,6291456,2183841,6291456]),\n new Uint32Array([0,6291456,6291456,0,6291456,0,0,6291456,6291456,0,6291456,0,0,6291456,0,0]),\n new Uint32Array([2250977,2251009,2251041,2251073,2195009,2251106,2251169,2251201,2251233,2251265,2251297,2251330,2251394,2251457,2251489,2251521]),\n new Uint32Array([2205729,2205761,2205793,2205825,2205857,2205889,2205921,2205953,2205985,2206017,2206049,2206081,2206113,2206145,2206177,2206209]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2143170,2168993,6291456,2169025,6291456,2169057,6291456,2169089,6291456,2143234,2169121,6291456,2169153,6291456,2169185,6291456]),\n new Uint32Array([23068672,23068672,2190689,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2248706,2248769,2248801,2248833,2248865,2248897,2248929,2248962,2249026,2249090,2249154,2240705,2249217,2249249,2249281,2249313]),\n new Uint32Array([10485857,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10495394,6291456,2098209,6291456,6291456,2097152,6291456,10531394]),\n new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),\n new Uint32Array([6291456,2186977,6291456,6291456,6291456,6291456,6291456,10537858,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2209601,2209633,2209665,2209697,2209729,2209761,2209793,2209825,2209857,2209889,2209921,2209953,2209985,2210017,2210049,2210081]),\n new Uint32Array([10501539,10501635,10501731,10501827,10501923,10502019,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),\n new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2194561,2194593,2194625,2119777,2119873,2194657,2194689,2194721,2194753,2194785,2194817,2194849,2194881,2194913,2194945,2194977]),\n new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569]),\n new Uint32Array([2222818,2222882,2222946,2223010,2223074,2223138,2223202,2223266,2223330,2223394,2223458,2223522,2223586,2223650,2223714,2223778]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672]),\n new Uint32Array([0,2179553,2179585,2179617,2179649,2144001,2179681,2179713,2179745,2179777,2179809,2156705,2179841,2156833,2179873,2179905]),\n new Uint32Array([6291456,23068672,6291456,2145602,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,6291456,0,0]),\n new Uint32Array([2196513,2196545,2196577,2196609,2196641,2196673,2196705,2196737,2196769,2196801,2196833,2196865,2196897,2196929,2196961,2196993]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2177281,6291456,2177313,6291456,2177345,6291456,2177377,6291456,2177409,6291456,2177441,6291456,2177473,6291456,2177505,6291456]),\n new Uint32Array([2187137,2221473,2221505,2221537,2221569,6291456,6291456,10610209,10610241,10537986,10537986,10537986,10537986,10609857,10609857,10609857]),\n new Uint32Array([2243009,2243041,2216033,2243074,2243137,2243169,2243201,2219617,2243233,2243265,2243297,2243329,2243362,2243425,2243457,2243489]),\n new Uint32Array([10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,2097152,4194304,4194304,0,0]),\n new Uint32Array([2143042,6291456,2143106,2143106,2168833,6291456,2168865,6291456,6291456,2168897,6291456,2168929,6291456,2168961,6291456,2143170]),\n new Uint32Array([6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2204193,2204225,2204257,2204289,2204321,2204353,2204385,2204417,2204449,2204481,2204513,2204545,2204577,2204609,2204641,2204673]),\n new Uint32Array([2202753,6291456,2202785,6291456,2202817,6291456,2202849,6291456,2202881,6291456,2202913,6291456,2202945,6291456,2202977,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321]),\n new Uint32Array([2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842,2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842]),\n new Uint32Array([2253313,2253346,2253409,2253441,2253473,2253505,2253537,2253569,2253601,2253634,2219393,2253697,2253729,2253761,2253793,2253825]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([2162562,2162626,2131362,2162690,2159938,2160002,2162754,2162818,2160130,2162882,2160194,2160258,2160834,2160898,2161026,2161090]),\n new Uint32Array([2175361,2175393,2175425,2175457,2175489,2175521,2175553,2175585,2175617,2175649,2175681,2175713,2175745,2175777,2175809,2175841]),\n new Uint32Array([2253858,2253921,2253954,2254018,2254082,2196737,2254145,2196865,2254177,2254209,2254241,2254273,2197025,2254306,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2202113,2204129,2188705,2204161]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953]),\n new Uint32Array([2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209]),\n new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,0,2108417,0,2111713,2100897,2111905]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0]),\n new Uint32Array([2175425,2175489,2175809,2175905,2175937,2175937,2176193,2176417,2180865,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,2143298,2143298,2143298,2143362,2143362,2143362,2143426,2143426,2143426,2171105,6291456,2171137]),\n new Uint32Array([2120162,2120258,2151618,2151682,2151746,2151810,2151874,2151938,2152002,2120035,2120131,2120227,2152066,2120323,2152130,2120419]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2195361,2142433,2236065,2236097,2236129,2236161,2118241,2117473,2236193,2236225,2236257,2236289,0,0,0,0]),\n new Uint32Array([2189281,6291456,2189313,6291456,2189345,6291456,2189377,6291456,2189409,6291456,2189441,6291456,2189473,6291456,2189505,6291456]),\n new Uint32Array([6291456,6291456,2145922,6291456,6291456,6291456,6291456,2145986,6291456,6291456,6291456,6291456,2146050,6291456,6291456,6291456]),\n new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10502113,10562017,10610401,10502177,10610433,10538049]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,2186401,0,2186433,0,2186465,0,2186497]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,23068672,23068672]),\n new Uint32Array([0,0,2198241,2198273,2198305,2198337,2198369,2198401,0,0,2198433,2198465,2198497,0,0,0]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,0,23068672,23068672,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),\n new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,2133281,2097505,2105889,0,2097697,2135777,2097633,2097441]),\n new Uint32Array([2197889,2197921,2197953,2197985,2198017,2198049,2198081,2198113,2198145,2198177,2198209,2198241,2198273,2198305,2198337,2198369]),\n new Uint32Array([2132514,2132610,2160386,2133090,2133186,2160450,2160514,2133282,2160578,2133570,2106178,2160642,2133858,2160706,2160770,2134146]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,23068672,6291456,23068672,23068672,6291456,23068672,0,0,0,0,0,0,0,0]),\n new Uint32Array([2184737,6291456,2184769,6291456,2184801,6291456,2184833,6291456,2184865,6291456,2184897,6291456,2184929,6291456,2184961,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,0,0]),\n new Uint32Array([6291456,6291456,6291456,2186753,6291456,6291456,6291456,6291456,2186785,2186817,2186849,2173569,2186881,10496355,10495395,10575521]),\n new Uint32Array([0,0,2097729,0,0,0,0,2106017,0,2097505,0,2097185,0,2135777,2097633,2097441]),\n new Uint32Array([2189537,6291456,2189569,6291456,2189601,6291456,2189633,6291456,2189665,6291456,2189697,6291456,2189729,6291456,2189761,6291456]),\n new Uint32Array([2202497,6291456,2202529,6291456,2202561,6291456,2202593,6291456,2202625,6291456,2202657,6291456,2202689,6291456,2202721,6291456]),\n new Uint32Array([2245217,2218369,2245249,2245282,2245345,2245377,2245410,2245474,2245537,2245569,2245601,2245633,2245665,2245665,2245697,2245729]),\n new Uint32Array([6291456,0,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,23068672,6291456,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),\n new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2097281,2105921,2097729,2106081,2097377,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),\n new Uint32Array([2176641,6291456,2176673,6291456,2176705,6291456,2176737,6291456,2176769,6291456,2176801,6291456,2176833,6291456,2176865,6291456]),\n new Uint32Array([2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2174369,2174369,0,0,2100833,2100737]),\n new Uint32Array([2116513,2190817,2190849,2190881,2190913,2190945,2116609,2190977,2191009,2191041,2191073,2117185,2191105,2191137,2191169,2191201]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),\n new Uint32Array([2167617,2167649,2167681,2167713,2167745,2167777,2167809,6291456,2167841,2167873,2167905,2167937,2167969,2168001,2168033,4240130]),\n new Uint32Array([2165122,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122,2134562,2132162,2132834,2136866]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2186209,2186241,2186273,2186305,2186337,2186369,0,0]),\n new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([0,0,23068672,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),\n new Uint32Array([0,10537921,10610689,10610273,10610497,10610529,10610305,10610721,10489601,10489697,10610337,10575617,10554529,2221761,2197217,10496577]),\n new Uint32Array([2105473,2105569,2105601,2112289,0,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),\n new Uint32Array([2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481]),\n new Uint32Array([2125346,2153410,2153474,2127394,2153538,2153602,2153666,2153730,2105507,2105476,2153794,2153858,2153922,2153986,2154050,2105794]),\n new Uint32Array([2200449,2119681,2200481,2153313,2199873,2199905,2199937,2200513,2200545,2200577,2200609,2119105,2119201,2119297,2119393,2119489]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2175777,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2222273,2197217,2221473,2221505,2221089,2222305,2200865,2099681,2104481,2222337,2099905,2120737,2222369,2103713,2100225,2098785]),\n new Uint32Array([2201377,6291456,2201409,6291456,2201441,6291456,2201473,6291456,2201505,6291456,2201537,6291456,2201569,6291456,6291456,23068672]),\n new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),\n new Uint32Array([2200897,6291456,2200929,6291456,2200961,6291456,2200993,6291456,2201025,6291456,2180865,6291456,2201057,6291456,2201089,6291456]),\n new Uint32Array([0,0,0,0,0,23068672,23068672,0,6291456,6291456,6291456,0,0,0,0,0]),\n new Uint32Array([2161154,2161410,2138658,2161474,2161538,2097666,2097186,2097474,2162946,2132450,2163010,2163074,2136162,2163138,2161666,2161730]),\n new Uint32Array([2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953]),\n new Uint32Array([0,0,0,0,0,0,23068672,23068672,0,0,0,0,2145410,2145474,0,6291456]),\n new Uint32Array([2244161,2216065,2212769,2244193,2244225,2244257,2244290,2244353,2244385,2244417,2244449,2218273,2244481,2244514,2244577,2244609]),\n new Uint32Array([2125730,2125699,2125795,2125891,2125987,2154114,2154178,2154242,2154306,2154370,2154434,2154498,2126082,2126178,2126274,2126083]),\n new Uint32Array([2237665,2237697,2237697,2237697,2237730,2237793,2237825,2237857,2237890,2237953,2237985,2238017,2238049,2238081,2238113,2238145]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150146,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),\n new Uint32Array([2214369,2238593,2238625,2238657,2238689,2238721,2238753,2238785,2238817,2238850,2238913,2238945,2238977,2235457,2239009,2239041]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([2252066,2252130,2252193,2252225,2252257,2252290,2252353,2252385,2252417,2252449,2252481,2252513,2252545,2252578,2252641,2252673]),\n new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,2197857]),\n new Uint32Array([2224866,2224930,2224994,2225058,2225122,2225186,2225250,2225314,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2219490,2219554,2219617,2219649,2219681,2219714,2219778,2219842,2219905,2219937,0,0,0,0,0,0]),\n new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),\n new Uint32Array([2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),\n new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665]),\n new Uint32Array([2220161,2220161,2220193,2220193,2220193,2220193,2220225,2220225,2220225,2220225,2220257,2220257,2220257,2220257,2220289,2220289]),\n new Uint32Array([2192673,2192705,2192737,2192769,2192801,2192833,2192865,2118049,2192897,2117473,2117761,2192929,2192961,2192993,2193025,2193057]),\n new Uint32Array([2179297,6291456,2179329,6291456,2179361,6291456,2179393,6291456,2179425,6291456,2179457,6291456,2179489,6291456,2179521,6291456]),\n new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2235745,2235777,2193633,2235809,2235841,2235873,2235905,2235937,2235969,2116513,2116705,2236001,2200513,2199905,2200545,2236033]),\n new Uint32Array([2113153,2108481,2113345,2113441,2232993,2233025,0,0,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761]),\n new Uint32Array([2170593,6291456,2170625,6291456,2170657,6291456,2170689,2170721,6291456,2170753,6291456,6291456,2170785,6291456,2170817,2170849]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2166786,2166850,0,0,0,0]),\n new Uint32Array([23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,0]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2134562,2132162,2132834,2136866,2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058]),\n new Uint32Array([6291456,6291456,2098337,2101441,10531458,2153473,6291456,6291456,10531522,2100737,2108193,6291456,2106499,2106595,2106691,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2233122,2233186,2233250,2233314,2233378,2233442,2233506,2233570,2233634,2233698,2233762,2233826,2233890,2233954,2234018,2234082]),\n new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2205217,2205249,2205281,2205313,2205345,2205377,2205409,2205441,2205473,2205505,2205537,2205569,2205601,2205633,2205665,2205697]),\n new Uint32Array([6291456,0,6291456,0,0,0,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),\n new Uint32Array([2173601,2173761,2174081,2173569,2174241,2174113,2173953,6291456,2174305,6291456,2174337,6291456,2174369,6291456,2174401,6291456]),\n new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([2152450,2152514,2099653,2104452,2099813,2122243,2099973,2152578,2122339,2122435,2122531,2122627,2122723,2104580,2122819,2152642]),\n new Uint32Array([2236385,2236417,2236449,2236482,2236545,2215425,2236577,2236609,2236641,2236673,2215457,2236705,2236737,2236770,2215489,2236833]),\n new Uint32Array([2163394,2159746,2163458,2131362,2163522,2160130,2163778,2132226,2163842,2132898,2163906,2161410,2138658,2097666,2136162,2163650]),\n new Uint32Array([2218721,2246913,2246946,2216385,2247010,2247074,2215009,2247137,2247169,2216481,2247201,2247233,2247266,2247330,2247330,0]),\n new Uint32Array([2129730,2129762,2129858,2129731,2129827,2156482,2156482,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0,0,0,0,6291456,0,0]),\n new Uint32Array([2203969,2204001,2181377,2204033,2204065,6291456,2204097,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([2169473,6291456,2169505,6291456,2169537,6291456,2169569,6291456,2169601,6291456,2169633,6291456,2169665,6291456,2169697,6291456]),\n new Uint32Array([2141542,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2220801,2220801,2220801,2220801,2220833,2220833,2220865,2220865,2220865,2220865,2220897,2220897,2220897,2220897,2139873,2139873]),\n new Uint32Array([0,0,0,0,0,23068672,23068672,0,0,0,0,0,0,0,6291456,0]),\n new Uint32Array([2214849,2218433,2218465,2218497,2218529,2218561,2214881,2218593,2218625,2218657,2218689,2218721,2218753,2216545,2218785,2218817]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,6291456]),\n new Uint32Array([2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058,2165122,2132802,2132706,2164866]),\n new Uint32Array([2207649,2207681,2207713,2207745,2207777,2207809,2207841,2207873,2207905,2207937,2207969,2208001,2208033,2208065,2208097,2208129]),\n new Uint32Array([2123683,2105092,2152706,2123779,2105220,2152770,2100453,2098755,2123906,2124002,2124098,2124194,2124290,2124386,2124482,2124578]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,0,0,0,0,0,0,0,10485857]),\n new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([10508163,10508259,10508355,10508451,2200129,2200161,2192737,2200193,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2203553,6291456,2203585,6291456,6291456,6291456,2203617,6291456,2203649,6291456,2203681,6291456,2203713,6291456,2203745,6291456]),\n new Uint32Array([18884449,18884065,23068672,18884417,18884034,18921185,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18874368]),\n new Uint32Array([2247393,2247426,2247489,2247521,2247553,2247586,2247649,2247681,2247713,2247745,2247777,2247810,2247873,2247905,2247937,2247969]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),\n new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,2160577,2133857,2235297,0,2235329,0]),\n new Uint32Array([2182593,6291456,2182625,6291456,2182657,6291456,2182689,6291456,2182721,6291456,2182753,6291456,2182785,6291456,2182817,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102402,2102403,6291456,2110050]),\n new Uint32Array([2149890,2108323,2149954,6291456,2113441,6291456,2149057,6291456,2113441,6291456,2105473,2167265,2111137,2105505,6291456,2108353]),\n new Uint32Array([2219105,2219137,2195233,2251554,2251617,2251649,2251681,2251713,2251746,2251810,2251873,2251905,2251937,2251970,2252033,2219169]),\n new Uint32Array([2203009,6291456,2203041,6291456,2203073,6291456,2203105,6291456,2203137,6291456,2203169,6291456,2203201,6291456,2203233,6291456]),\n new Uint32Array([2128195,2128291,2128387,2128483,2128579,2128675,2128771,2128867,2128963,2129059,2129155,2129251,2129347,2129443,2129539,2129635]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2140964,2141156,2140966,2141158,2141350]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2225378,2225442,2225506,2225570,2225634,2225698,2225762,2225826,2225890,2225954,2226018,2226082,2226146,2226210,2226274,2226338]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417]),\n new Uint32Array([2108353,2108417,0,2105601,2108193,2157121,2157313,2157377,2157441,2100897,6291456,2108419,2173953,2173633,2173633,2173953]),\n new Uint32Array([2111713,2173121,2111905,2098177,2173153,2173185,2173217,2113153,2113345,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2190753]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,2197249,6291456,2117377,2197281,2197313,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,6291456,6291456,6291456]),\n new Uint32Array([2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),\n new Uint32Array([0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,23068672]),\n new Uint32Array([2173281,6291456,2173313,6291456,2173345,6291456,2173377,6291456,0,0,10532546,6291456,6291456,6291456,10562017,2173441]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),\n new Uint32Array([23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2159426,2159490,2159554,2159362,2159618,2159682,2139522,2136450,2159746,2159810,2159874,2130978,2131074,2131266,2131362,2159938]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2203233,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2203265,6291456,2203297,6291456,2203329,2203361,6291456]),\n new Uint32Array([6291456,6291456,2148418,2148482,2148546,0,6291456,2148610,2186529,2186561,2148417,2148545,2148482,10495778,2143969,10495778]),\n new Uint32Array([2134146,2139426,2160962,2134242,2161218,2161282,2161346,2161410,2138658,2134722,2134434,2134818,2097666,2097346,2097698,2105986]),\n new Uint32Array([2198881,2198913,2198945,2198977,2199009,2199041,2199073,2199105,2199137,2199169,2199201,2199233,2199265,2199297,2199329,2199361]),\n new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([10610561,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),\n new Uint32Array([2183873,6291456,2183905,6291456,2183937,6291456,2183969,6291456,2184001,6291456,2184033,6291456,2184065,6291456,2184097,6291456]),\n new Uint32Array([2244642,2244706,2244769,2244801,2218305,2244833,2244865,2244897,2244929,2244961,2244993,2245026,2245089,2245122,2245185,0]),\n new Uint32Array([6291456,6291456,2116513,2116609,2116705,2116801,2199873,2199905,2199937,2199969,2190913,2200001,2200033,2200065,2200097,2191009]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2180673,2180705,2180737,2180769,2180801,2180833,0,0]),\n new Uint32Array([2098081,2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150402]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,2145666,2145730,6291456,6291456]),\n new Uint32Array([2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665]),\n new Uint32Array([2187073,6291456,6291456,6291456,6291456,2098241,2098241,2108353,2100897,2111905,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102404,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2100612,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10485857]),\n new Uint32Array([2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),\n new Uint32Array([2217697,2217729,2217761,2217793,2217825,2217857,2217889,2217921,2217953,2215873,2217985,2215905,2218017,2218049,2218081,2218113]),\n new Uint32Array([2211233,2218849,2216673,2218881,2218913,2218945,2218977,2219009,2216833,2219041,2215137,2219073,2216865,2209505,2219105,2216897]),\n new Uint32Array([2240097,2240129,2240161,2240193,2240225,2240257,2240289,2240321,2240353,2240386,2240449,2240481,2240513,2240545,2207905,2240578]),\n new Uint32Array([6291456,6291456,2202273,6291456,2202305,6291456,2202337,6291456,2202369,6291456,2202401,6291456,2202433,6291456,2202465,6291456]),\n new Uint32Array([0,23068672,23068672,18923394,23068672,18923458,18923522,18884099,18923586,18884195,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2201121,6291456,2201153,6291456,2201185,6291456,2201217,6291456,2201249,6291456,2201281,6291456,2201313,6291456,2201345,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),\n new Uint32Array([2211041,2211073,2211105,2211137,2211169,2211201,2211233,2211265,2211297,2211329,2211361,2211393,2211425,2211457,2211489,2211521]),\n new Uint32Array([2181825,6291456,2181857,6291456,2181889,6291456,2181921,6291456,2181953,6291456,2181985,6291456,2182017,6291456,2182049,6291456]),\n new Uint32Array([2162337,2097633,2097633,2097633,2097633,2132705,2132705,2132705,2132705,2097153,2097153,2097153,2097153,2133089,2133089,2133089]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,2148545,6291456,2173473,6291456,2148865,6291456,2173505,6291456,2173537,6291456,2173569,6291456,2149121,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,0,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2207137,2207169,2207201,2207233,2207265,2207297,2207329,2207361,2207393,2207425,2207457,2207489,2207521,2207553,2207585,2207617]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,23068672,23068672,0,0,0,0,0,0]),\n new Uint32Array([2198401,2198433,2198465,2198497,0,2198529,2198561,2198593,2198625,2198657,2198689,2198721,2198753,2198785,2198817,2198849]),\n new Uint32Array([2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),\n new Uint32Array([2216385,2118721,2216417,2216449,2216481,2216513,2216545,2211233,2216577,2216609,2216641,2216673,2216705,2216737,2216737,2216769]),\n new Uint32Array([2216801,2216833,2216865,2216897,2216929,2216961,2216993,2215169,2217025,2217057,2217089,2217121,2217154,2217217,0,0]),\n new Uint32Array([2210593,2191809,2210625,2210657,2210689,2210721,2210753,2210785,2210817,2210849,2191297,2210881,2210913,2210945,2210977,2211009]),\n new Uint32Array([0,0,2105825,0,0,2111905,2105473,0,0,2112289,2108193,2112481,2112577,0,2098305,2108321]),\n new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,2097153,2134241,0,2132705,0,0,2131297,0,2133089,0,2133857,0,2220769,0,2235361]),\n new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,6291456,6291456,14680064]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([2171873,6291456,2171905,6291456,2171937,6291456,2171969,6291456,2172001,6291456,2172033,6291456,2172065,6291456,2172097,6291456]),\n new Uint32Array([2220929,2220929,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2133857,2134145,2134145,2134145,2134145,2134241,2134241,2134241,2134241,2105889,2105889,2105889,2105889,2097185,2097185,2097185]),\n new Uint32Array([2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,10499619,10499715,10499811,10499907]),\n new Uint32Array([0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,23068672,23068672]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2144322,2144386,2144450,2144514,2144578,2144642,2144706,2144770]),\n new Uint32Array([23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456]),\n new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0,0,2111905,2105473,2105569]),\n new Uint32Array([2236321,2236353,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2152194,2121283,2103684,2103812,2097986,2098533,2097990,2098693,2098595,2098853,2099013,2103940,2121379,2121475,2121571,2104068]),\n new Uint32Array([2206241,2206273,2206305,2206337,2206369,2206401,2206433,2206465,2206497,2206529,2206561,2206593,2206625,2206657,2206689,2206721]),\n new Uint32Array([6291456,6291456,6291456,6291456,16777216,16777216,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,10538818,10538882,6291456,6291456,2150338]),\n new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2214369,2214401,2214433,2214465,2214497,2214529,2214561,2214593,2194977,2214625,2195073,2214657,2214689,2214721,6291456,6291456]),\n new Uint32Array([2097152,2097152,2097152,2097152,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2182081,6291456,2182113,6291456,2182145,6291456,2182177,6291456,2182209,6291456,2182241,6291456,2182273,6291456,2182305,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146881,2146945,2147009,2147073,2147137,2147201,2147265,2147329]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672]),\n new Uint32Array([0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2122915,2123011,2123107,2104708,2123203,2123299,2123395,2100133,2104836,2100290,2100293,2104962,2104964,2098052,2123491,2123587]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),\n new Uint32Array([6291456,2171169,6291456,2171201,6291456,2171233,6291456,2171265,6291456,2171297,6291456,2171329,6291456,6291456,2171361,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,2148994,2149058,2149122,0,6291456,2149186,2186945,2173537,2148993,2149121,2149058,10531458,10496066,0]),\n new Uint32Array([2195009,2195041,2195073,2195105,2195137,2195169,2195201,2195233,2195265,2195297,2195329,2195361,2195393,2195425,2195457,2195489]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,0,0,6291456,6291456]),\n new Uint32Array([2182849,6291456,2182881,6291456,2182913,6291456,2182945,6291456,2182977,6291456,2183009,6291456,2183041,6291456,2183073,6291456]),\n new Uint32Array([2211553,2210081,2211585,2211617,2211649,2211681,2211713,2211745,2211777,2211809,2209569,2211841,2211873,2211905,2211937,2211969]),\n new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2166594,2127298,2166658,2142978,2141827,2166722]),\n new Uint32Array([2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2185761,2185793,2185825,2185857,2185889,2185921,0,0]),\n new Uint32Array([6291456,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456]),\n new Uint32Array([0,0,0,2220961,2220961,2220961,2220961,2144193,2144193,2159201,2159201,2159265,2159265,2144194,2220993,2220993]),\n new Uint32Array([2192641,2235393,2235425,2152257,2116609,2235457,2235489,2200065,2235521,2235553,2235585,2212449,2235617,2235649,2235681,2235713]),\n new Uint32Array([2194049,2194081,2194113,2194145,2194177,2194209,2194241,2194273,2194305,2194337,2194369,2194401,2194433,2194465,2194497,2194529]),\n new Uint32Array([2196673,2208641,2208673,2208705,2208737,2208769,2208801,2208833,2208865,2208897,2208929,2208961,2208993,2209025,2209057,2209089]),\n new Uint32Array([2191681,2191713,2191745,2191777,2153281,2191809,2191841,2191873,2191905,2191937,2191969,2192001,2192033,2192065,2192097,2192129]),\n new Uint32Array([2230946,2231010,2231074,2231138,2231202,2231266,2231330,2231394,2231458,2231522,2231586,2231650,2231714,2231778,2231842,2231906]),\n new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2185953,2185985,2186017,2186049,2186081,2186113,2186145,2186177]),\n new Uint32Array([2139811,2139907,2097284,2105860,2105988,2106116,2106244,2097444,2097604,2097155,10485778,10486344,2106372,6291456,0,0]),\n new Uint32Array([2110051,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2172385,6291456,2172417,6291456,2172449,6291456,2172481,6291456,2172513,6291456,2172545,6291456,2172577,6291456,2172609,6291456]),\n new Uint32Array([0,0,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2249345,2249377,2249409,2249441,2249473,2249505,2249537,2249570,2210209,2249633,2249665,2249697,2249729,2249761,2249793,2216769]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456]),\n new Uint32Array([2187169,2187201,2187233,2187265,2187297,2187329,2187361,2187393,2187425,2187457,2187489,2187521,2187553,2187585,2187617,2187649]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([0,0,0,6291456,6291456,0,0,0,6291456,6291456,6291456,0,0,0,6291456,6291456]),\n new Uint32Array([2182337,6291456,2182369,6291456,2182401,6291456,2182433,6291456,2182465,6291456,2182497,6291456,2182529,6291456,2182561,6291456]),\n new Uint32Array([2138179,2138275,2138371,2138467,2134243,2134435,2138563,2138659,2138755,2138851,2138947,2139043,2138947,2138755,2139139,2139235]),\n new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([0,0,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2250498,2250562,2250625,2250657,2208321,2250689,2250721,2250753,2250785,2250817,2250849,2218945,2250881,2250913,2250945,0]),\n new Uint32Array([2170369,2105569,2098305,2108481,2173249,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),\n new Uint32Array([2100897,2111905,2105473,2105569,2105601,0,2108193,0,0,0,2098305,2108321,2108289,2100865,2113153,2108481]),\n new Uint32Array([2100897,2100897,2105569,2105569,6291456,2112289,2149826,6291456,6291456,2112481,2112577,2098177,2098177,2098177,6291456,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456,6291456]),\n new Uint32Array([6291456,2169953,2169985,6291456,2170017,6291456,2170049,2170081,6291456,2170113,2170145,2170177,6291456,6291456,2170209,2170241]),\n new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2220641,2220641,2220673,2220673,2220673,2220673,2220705,2220705,2220705,2220705,2220737,2220737,2220737,2220737,2220769,2220769]),\n new Uint32Array([2127650,2127746,2127842,2127938,2128034,2128130,2128226,2128322,2128418,2127523,2127619,2127715,2127811,2127907,2128003,2128099]),\n new Uint32Array([2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177]),\n new Uint32Array([0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([2204705,2204737,2204769,2204801,2204833,2204865,2204897,2204929,2204961,2204993,2205025,2205057,2205089,2205121,2205153,2205185]),\n new Uint32Array([2176385,6291456,2176417,6291456,2176449,6291456,2176481,6291456,2176513,6291456,2176545,6291456,2176577,6291456,2176609,6291456]),\n new Uint32Array([2195521,2195553,2195585,2195617,2195649,2195681,2117857,2195713,2195745,2195777,2195809,2195841,2195873,2195905,2195937,2195969]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456]),\n new Uint32Array([2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113]),\n new Uint32Array([2131586,2132450,2135970,2135778,2161602,2136162,2163650,2161794,2135586,2163714,2137186,2131810,2160290,2135170,2097506,2159554]),\n new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,0,0,0,0]),\n new Uint32Array([2116513,2116609,2116705,2116801,2116897,2116993,2117089,2117185,2117281,2117377,2117473,2117569,2117665,2117761,2117857,2117953]),\n new Uint32Array([2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100802,2101154,2101282,2101410,2101538,2101666,2101794]),\n new Uint32Array([2100289,2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2098977,2150241,2150305]),\n new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,2109955,6291456,6291456,0,0,0,0]),\n new Uint32Array([18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,0,0]),\n new Uint32Array([2130979,2131075,2131075,2131171,2131267,2131363,2131459,2131555,2131651,2131651,2131747,2131843,2131939,2132035,2132131,2132227]),\n new Uint32Array([0,2177793,6291456,2177825,6291456,2177857,6291456,2177889,6291456,2177921,6291456,2177953,6291456,2177985,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),\n new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2113345,0,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),\n new Uint32Array([2136643,2136739,2136835,2136931,2137027,2137123,2137219,2137315,2137411,2137507,2137603,2137699,2137795,2137891,2137987,2138083]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),\n new Uint32Array([2174433,6291456,2174465,6291456,2174497,6291456,2174529,6291456,2174561,6291456,2174593,6291456,2174625,6291456,2174657,6291456]),\n new Uint32Array([0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),\n new Uint32Array([10496547,10496643,2105505,2149698,6291456,10496739,10496835,2170273,6291456,2149762,2105825,2111713,2111713,2111713,2111713,2168673]),\n new Uint32Array([6291456,2143490,2143490,2143490,2171649,6291456,2171681,2171713,2171745,6291456,2171777,6291456,2171809,6291456,2171841,6291456]),\n new Uint32Array([2159106,2159106,2159170,2159170,2159234,2159234,2159298,2159298,2159298,2159362,2159362,2159362,2106401,2106401,2106401,2106401]),\n new Uint32Array([2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137]),\n new Uint32Array([2108417,2181217,2181249,2181281,2170433,2170401,2181313,2181345,2181377,2181409,2181441,2181473,2181505,2181537,2170529,2181569]),\n new Uint32Array([2218433,2245761,2245793,2245825,2245857,2245890,2245953,2245986,2209665,2246050,2246113,2246146,2246210,2246274,2246337,2246369]),\n new Uint32Array([2230754,2230818,2230882,0,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2184129,6291456,2184161,6291456,2184193,6291456,6291456,6291456,6291456,6291456,2146818,2183361,6291456,6291456,2142978,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2135170,2097506,2130691,2130787,2130883,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122]),\n new Uint32Array([2108515,2108611,2100740,2108707,2108803,2108899,2108995,2109091,2109187,2109283,2109379,2109475,2109571,2109667,2109763,2100738]),\n new Uint32Array([2102788,2102916,2103044,2120515,2103172,2120611,2120707,2098373,2103300,2120803,2120899,2120995,2103428,2103556,2121091,2121187]),\n new Uint32Array([2158082,2158146,0,2158210,2158274,0,2158338,2158402,2158466,2129922,2158530,2158594,2158658,2158722,2158786,2158850]),\n new Uint32Array([10499619,10499715,10499811,10499907,10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059]),\n new Uint32Array([2239585,2239618,2239681,2239713,0,2191969,2239745,2239777,2192033,2239809,2239841,2239874,2239937,2239970,2240033,2240065]),\n new Uint32Array([2252705,2252738,2252801,2252833,2252865,2252897,2252930,2252994,2253057,2253089,2253121,2253154,2253217,2253250,2219361,2219361]),\n new Uint32Array([2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,10538050,10538114,10538178,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([2226402,2226466,2226530,2226594,2226658,2226722,2226786,2226850,2226914,2226978,2227042,2227106,2227170,2227234,2227298,2227362]),\n new Uint32Array([23068672,6291456,6291456,6291456,6291456,2144066,2144130,2144194,2144258,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,23068672,23068672]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),\n new Uint32Array([2124674,2124770,2123875,2123971,2124067,2124163,2124259,2124355,2124451,2124547,2124643,2124739,2124835,2124931,2125027,2125123]),\n new Uint32Array([2168065,6291456,2168097,6291456,2168129,6291456,2168161,6291456,2168193,6291456,2168225,6291456,2168257,6291456,2168289,6291456]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0]),\n new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,2100610,2100611,6291456,2107842,2107843,6291456,6291456,6291456,6291456,10537922,6291456,10537986,6291456]),\n new Uint32Array([2174849,2174881,2174913,2174945,2174977,2175009,2175041,2175073,2175105,2175137,2175169,2175201,2175233,2175265,2175297,2175329]),\n new Uint32Array([2154562,2154626,2154690,2154754,2141858,2154818,2154882,2127298,2154946,2127298,2155010,2155074,2155138,2155202,2155266,2155202]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0]),\n new Uint32Array([2200641,2150786,2150850,2150914,2150978,2151042,2106562,2151106,2150562,2151170,2151234,2151298,2151362,2151426,2151490,2151554]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456]),\n new Uint32Array([2220289,2220289,2220321,2220321,2220321,2220321,2220353,2220353,2220353,2220353,2220385,2220385,2220385,2220385,2220417,2220417]),\n new Uint32Array([2155330,2155394,0,2155458,2155522,2155586,2105732,0,2155650,2155714,2155778,2125314,2155842,2155906,2126274,2155970]),\n new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),\n new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0]),\n new Uint32Array([2097729,2106017,2106017,2106017,2106017,2131297,2131297,2131297,2131297,2106081,2106081,2162049,2162049,2105953,2105953,2162337]),\n new Uint32Array([2097185,2097697,2097697,2097697,2097697,2135777,2135777,2135777,2135777,2097377,2097377,2097377,2097377,2097601,2097601,2097217]),\n new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),\n new Uint32Array([2139331,2139427,2139523,2139043,2133571,2132611,2139619,2139715,0,0,0,0,0,0,0,0]),\n new Uint32Array([2174113,2174145,2100897,2098177,2108289,2100865,2173601,2173633,2173985,2174113,2174145,6291456,6291456,6291456,6291456,6291456]),\n new Uint32Array([6291456,6291456,23068672,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456]),\n new Uint32Array([23068672,23068672,18923778,23068672,23068672,23068672,23068672,18923842,23068672,23068672,23068672,23068672,18923906,23068672,23068672,23068672]),\n new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,0,2133857,0,0,0,0]),\n new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2177537,6291456,2177569,6291456,2177601,6291456,2177633,6291456,2177665,6291456,2177697,6291456,2177729,6291456,2177761,6291456]),\n new Uint32Array([2212481,2212513,2212545,2212577,2197121,2212609,2212641,2212673,2212705,2212737,2212769,2212801,2212833,2212865,2212897,2212929]),\n new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,0,0,0,0,0,0,0,0]),\n new Uint32Array([2098241,2108353,2170209,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,6291456,2108193,2172417,2112481,2098177]),\n new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),\n];\nvar blockIdxes = 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]);\nvar mappingStr = \"صلى الله عليه وسلمجل جلالهキロメートル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ほかココàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįĵķĺļľłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷÿźżɓƃƅɔƈɖɗƌǝəɛƒɠɣɩɨƙɯɲɵơƣƥʀƨʃƭʈưʊʋƴƶʒƹƽǎǐǒǔǖǘǚǜǟǡǣǥǧǩǫǭǯǵƕƿǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟƞȣȥȧȩȫȭȯȱȳⱥȼƚⱦɂƀʉʌɇɉɋɍɏɦɹɻʁʕͱͳʹͷ;ϳέίόύβγδεζθκλνξοπρστυφχψϊϋϗϙϛϝϟϡϣϥϧϩϫϭϯϸϻͻͼͽѐёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюяѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯաբգդզէըթժլծկհձղճյշոչպջռստրցփքօֆ་ⴧⴭნᏰᏱᏲᏳᏴᏵꙋɐɑᴂɜᴖᴗᴝᴥɒɕɟɡɥɪᵻʝɭᶅʟɱɰɳɴɸʂƫᴜʐʑḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿἐἑἒἓἔἕἰἱἲἳἴἵἶἷὀὁὂὃὄὅὑὓὕὗᾰᾱὲΐῐῑὶΰῠῡὺῥ`ὸ‐+−∑〈〉ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞⱡɫᵽɽⱨⱪⱬⱳⱶȿɀⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳬⳮⳳⵡ母龟丨丶丿乙亅亠人儿入冂冖冫几凵刀力勹匕匚匸卜卩厂厶又口囗士夂夊夕女子宀寸小尢尸屮山巛工己巾干幺广廴廾弋弓彐彡彳心戈戶手支攴文斗斤方无曰欠止歹殳毋比毛氏气爪父爻爿片牙牛犬玄玉瓜瓦甘生用田疋疒癶白皮皿目矛矢石示禸禾穴立竹米糸缶网羊羽老而耒耳聿肉臣臼舌舛舟艮色艸虍虫血行衣襾見角言谷豆豕豸貝赤走足身車辛辰辵邑酉釆里長門阜隶隹雨靑非面革韋韭音頁風飛食首香馬骨高髟鬥鬯鬲鬼魚鳥鹵鹿麥麻黃黍黑黹黽鼎鼓鼠鼻齊齒龍龜龠.〒卄卅ᄁᆪᆬᆭᄄᆰᆱᆲᆳᆴᆵᄚᄈᄡᄊ짜ᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵᄔᄕᇇᇈᇌᇎᇓᇗᇙᄜᇝᇟᄝᄞᄠᄢᄣᄧᄩᄫᄬᄭᄮᄯᄲᄶᅀᅇᅌᇱᇲᅗᅘᅙᆄᆅᆈᆑᆒᆔᆞᆡ上中下甲丙丁天地問幼箏우秘男適優印注項写左右医宗夜テヌモヨヰヱヲꙁꙃꙅꙇꙉꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝺꝼᵹꝿꞁꞃꞅꞇꞌꞑꞓꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩɬʞʇꭓꞵꞷꬷꭒᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅᏆᏇᏈᏉᏊᏋᏌᏍᏎᏏᏐᏑᏒᏓᏔᏕᏖᏗᏘᏙᏚᏛᏜᏝᏞᏟᏠᏡᏢᏣᏤᏥᏦᏧᏨᏩᏪᏫᏬᏭᏮᏯ豈更賈滑串句契喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧蘆虜路露魯鷺碌祿綠菉錄論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏諾丹寧怒率異北磻便復不泌數索參塞省葉說殺沈拾若掠略亮兩凉梁糧良諒量勵呂廬旅濾礪閭驪麗黎曆歷轢年憐戀撚漣煉璉秊練聯輦蓮連鍊列劣咽烈裂廉念捻殮簾獵令囹嶺怜玲瑩羚聆鈴零靈領例禮醴隸惡了僚寮尿料燎療蓼遼暈阮劉杻柳流溜琉留硫紐類戮陸倫崙淪輪律慄栗隆利吏履易李梨泥理痢罹裏裡離匿溺吝燐璘藺隣鱗麟林淋臨笠粒狀炙識什茶刺切度拓糖宅洞暴輻降廓兀嗀塚晴凞猪益礼神祥福靖精蘒諸逸都飯飼館鶴郞隷侮僧免勉勤卑喝嘆器塀墨層悔慨憎懲敏既暑梅海渚漢煮爫琢碑祉祈祐祖禍禎穀突節縉繁署者臭艹著褐視謁謹賓贈辶難響頻恵𤋮舘並况全侀充冀勇勺啕喙嗢墳奄奔婢嬨廒廙彩徭惘慎愈慠戴揄搜摒敖望杖滛滋瀞瞧爵犯瑱甆画瘝瘟盛直睊着磌窱类絛缾荒華蝹襁覆調請諭變輸遲醙鉶陼韛頋鬒𢡊𢡄𣏕㮝䀘䀹𥉉𥳐𧻓齃龎עםٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھۓڭۋۅۉ、〖〗—–_{}【】《》「」『』[]#&*-<>\\\\$%@ءؤة\\\"'^|~⦅⦆・ゥャ¢£¬¦¥₩│←↑→↓■○𐐨𐐩𐐪𐐫𐐬𐐭𐐮𐐯𐐰𐐱𐐲𐐳𐐴𐐵𐐶𐐷𐐸𐐹𐐺𐐻𐐼𐐽𐐾𐐿𐑀𐑁𐑂𐑃𐑄𐑅𐑆𐑇𐑈𐑉𐑊𐑋𐑌𐑍𐑎𐑏𐓘𐓙𐓚𐓛𐓜𐓝𐓞𐓟𐓠𐓡𐓢𐓣𐓤𐓥𐓦𐓧𐓨𐓩𐓪𐓫𐓬𐓭𐓮𐓯𐓰𐓱𐓲𐓳𐓴𐓵𐓶𐓷𐓸𐓹𐓺𐓻𐳀𐳁𐳂𐳃𐳄𐳅𐳆𐳇𐳈𐳉𐳊𐳋𐳌𐳍𐳎𐳏𐳐𐳑𐳒𐳓𐳔𐳕𐳖𐳗𐳘𐳙𐳚𐳛𐳜𐳝𐳞𐳟𐳠𐳡𐳢𐳣𐳤𐳥𐳦𐳧𐳨𐳩𐳪𐳫𐳬𐳭𐳮𐳯𐳰𐳱𐳲𑣀𑣁𑣂𑣃𑣄𑣅𑣆𑣇𑣈𑣉𑣊𑣋𑣌𑣍𑣎𑣏𑣐𑣑𑣒𑣓𑣔𑣕𑣖𑣗𑣘𑣙𑣚𑣛𑣜𑣝𑣞𑣟ıȷ∇∂𞤢𞤣𞤤𞤥𞤦𞤧𞤨𞤩𞤪𞤫𞤬𞤭𞤮𞤯𞤰𞤱𞤲𞤳𞤴𞤵𞤶𞤷𞤸𞤹𞤺𞤻𞤼𞤽𞤾𞤿𞥀𞥁𞥂𞥃ٮڡٯ字双多解交映無前後再新初終販声吹演投捕遊指禁空合満申割営配得可丽丸乁𠄢你侻倂偺備像㒞𠘺兔兤具𠔜㒹內𠕋冗冤仌冬𩇟刃㓟刻剆剷㔕包匆卉博即卽卿𠨬灰及叟𠭣叫叱吆咞吸呈周咢哶唐啓啣善喫喳嗂圖圗噑噴壮城埴堍型堲報墬𡓤売壷夆夢奢𡚨𡛪姬娛娧姘婦㛮嬈嬾𡧈寃寘寳𡬘寿将㞁屠峀岍𡷤嵃𡷦嵮嵫嵼巡巢㠯巽帨帽幩㡢𢆃㡼庰庳庶𪎒𢌱舁弢㣇𣊸𦇚形彫㣣徚忍志忹悁㤺㤜𢛔惇慈慌慺憲憤憯懞戛扝抱拔捐𢬌挽拼捨掃揤𢯱搢揅掩㨮摩摾撝摷㩬敬𣀊旣書晉㬙㬈㫤冒冕最暜肭䏙朡杞杓𣏃㭉柺枅桒𣑭梎栟椔楂榣槪檨𣚣櫛㰘次𣢧歔㱎歲殟殻𣪍𡴋𣫺汎𣲼沿泍汧洖派浩浸涅𣴞洴港湮㴳滇𣻑淹潮𣽞𣾎濆瀹瀛㶖灊災灷炭𠔥煅𤉣熜爨牐𤘈犀犕𤜵𤠔獺王㺬玥㺸瑇瑜璅瓊㼛甤𤰶甾𤲒𢆟瘐𤾡𤾸𥁄㿼䀈𥃳𥃲𥄙𥄳眞真瞋䁆䂖𥐝硎䃣𥘦𥚚𥛅秫䄯穊穏𥥼𥪧䈂𥮫篆築䈧𥲀糒䊠糨糣紀𥾆絣䌁緇縂繅䌴𦈨𦉇䍙𦋙罺𦌾羕翺𦓚𦔣聠𦖨聰𣍟䏕育脃䐋脾媵𦞧𦞵𣎓𣎜舄辞䑫芑芋芝劳花芳芽苦𦬼茝荣莭茣莽菧荓菊菌菜𦰶𦵫𦳕䔫蓱蓳蔖𧏊蕤𦼬䕝䕡𦾱𧃒䕫虐虧虩蚩蚈蜎蛢蜨蝫螆蟡蠁䗹衠𧙧裗裞䘵裺㒻𧢮𧥦䚾䛇誠𧲨貫賁贛起𧼯𠠄跋趼跰𠣞軔𨗒𨗭邔郱鄑𨜮鄛鈸鋗鋘鉼鏹鐕𨯺開䦕閷𨵷䧦雃嶲霣𩅅𩈚䩮䩶韠𩐊䪲𩒖頩𩖶飢䬳餩馧駂駾䯎𩬰鱀鳽䳎䳭鵧𪃎䳸𪄅𪈎𪊑䵖黾鼅鼏鼖𪘀\";\n\nfunction mapChar(codePoint) {\n if (codePoint >= 0x30000) {\n // High planes are special cased.\n if (codePoint >= 0xE0100 && codePoint <= 0xE01EF)\n return 18874368;\n return 0;\n }\n return blocks[blockIdxes[codePoint >> 4]][codePoint & 15];\n}\n\nreturn {\n mapStr: mappingStr,\n mapChar: mapChar\n};\n}));\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nmodule.exports = punycode;\n","(function(root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define(['punycode', './idna-map'], function(punycode, idna_map) {\n return factory(punycode, idna_map);\n });\n }\n else if (typeof exports === 'object') {\n module.exports = factory(require('punycode'), require('./idna-map'));\n }\n else {\n root.uts46 = factory(root.punycode, root.idna_map);\n }\n}(this, function(punycode, idna_map) {\n\n function mapLabel(label, useStd3ASCII, transitional) {\n var mapped = [];\n var chars = punycode.ucs2.decode(label);\n for (var i = 0; i < chars.length; i++) {\n var cp = chars[i];\n var ch = punycode.ucs2.encode([chars[i]]);\n var composite = idna_map.mapChar(cp);\n var flags = (composite >> 23);\n var kind = (composite >> 21) & 3;\n var index = (composite >> 5) & 0xffff;\n var length = composite & 0x1f;\n var value = idna_map.mapStr.substr(index, length);\n if (kind === 0 || (useStd3ASCII && (flags & 1))) {\n throw new Error(\"Illegal char \" + ch);\n }\n else if (kind === 1) {\n mapped.push(value);\n }\n else if (kind === 2) {\n mapped.push(transitional ? value : ch);\n }\n /* istanbul ignore next */\n else if (kind === 3) {\n mapped.push(ch);\n }\n }\n\n var newLabel = mapped.join(\"\").normalize(\"NFC\");\n return newLabel;\n }\n\n function process(domain, transitional, useStd3ASCII) {\n /* istanbul ignore if */\n if (useStd3ASCII === undefined)\n useStd3ASCII = false;\n var mappedIDNA = mapLabel(domain, useStd3ASCII, transitional);\n\n // Step 3. Break\n var labels = mappedIDNA.split(\".\");\n\n // Step 4. Convert/Validate\n labels = labels.map(function(label) {\n if (label.startsWith(\"xn--\")) {\n label = punycode.decode(label.substring(4));\n validateLabel(label, useStd3ASCII, false);\n }\n else {\n validateLabel(label, useStd3ASCII, transitional);\n }\n return label;\n });\n\n return labels.join(\".\");\n }\n\n function validateLabel(label, useStd3ASCII, transitional) {\n // 2. The label must not contain a U+002D HYPHEN-MINUS character in both the\n // third position and fourth positions.\n if (label[2] === '-' && label[3] === '-')\n throw new Error(\"Failed to validate \" + label);\n\n // 3. The label must neither begin nor end with a U+002D HYPHEN-MINUS\n // character.\n if (label.startsWith('-') || label.endsWith('-'))\n throw new Error(\"Failed to validate \" + label);\n\n // 4. The label must not contain a U+002E ( . ) FULL STOP.\n // this should nerver happen as label is chunked internally by this character\n /* istanbul ignore if */\n if (label.includes('.'))\n throw new Error(\"Failed to validate \" + label);\n\n if (mapLabel(label, useStd3ASCII, transitional) !== label)\n throw new Error(\"Failed to validate \" + label);\n\n // 5. The label must not begin with a combining mark, that is:\n // General_Category=Mark.\n var ch = label.codePointAt(0);\n if (idna_map.mapChar(ch) & (0x2 << 23))\n throw new Error(\"Label contains illegal character: \" + ch);\n }\n\n function toAscii(domain, options) {\n if (options === undefined)\n options = {};\n var transitional = 'transitional' in options ? options.transitional : true;\n var useStd3ASCII = 'useStd3ASCII' in options ? options.useStd3ASCII : false;\n var verifyDnsLength = 'verifyDnsLength' in options ? options.verifyDnsLength : false;\n var labels = process(domain, transitional, useStd3ASCII).split('.');\n var asciiLabels = labels.map(punycode.toASCII);\n var asciiString = asciiLabels.join('.');\n var i;\n if (verifyDnsLength) {\n if (asciiString.length < 1 || asciiString.length > 253) {\n throw new Error(\"DNS name has wrong length: \" + asciiString);\n }\n for (i = 0; i < asciiLabels.length; i++) {//for .. of replacement\n var label = asciiLabels[i];\n if (label.length < 1 || label.length > 63)\n throw new Error(\"DNS label has wrong length: \" + label);\n }\n }\n return asciiString;\n }\n\n function toUnicode(domain, options) {\n if (options === undefined)\n options = {};\n var useStd3ASCII = 'useStd3ASCII' in options ? options.useStd3ASCII : false;\n return process(domain, false, useStd3ASCII);\n }\n\n return {\n toUnicode: toUnicode,\n toAscii: toAscii,\n };\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","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","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","module.exports = isFunction\n\nvar toString = Object.prototype.toString\n\nfunction isFunction (fn) {\n if (!fn) {\n return false\n }\n var string = toString.call(fn)\n return string === '[object Function]' ||\n (typeof fn === 'function' && string !== '[object RegExp]') ||\n (typeof window !== 'undefined' &&\n // IE8 and below\n (fn === window.setTimeout ||\n fn === window.alert ||\n fn === window.confirm ||\n fn === window.prompt))\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\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","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\r\n *\r\n * @version 0.5.7\r\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\r\n * @copyright Chen, Yi-Cyuan 2015-2016\r\n * @license MIT\r\n */\r\n/*jslint bitwise: true */\r\n(function () {\r\n 'use strict';\r\n\r\n var root = typeof window === 'object' ? window : {};\r\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\r\n if (NODE_JS) {\r\n root = global;\r\n }\r\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\r\n var HEX_CHARS = '0123456789abcdef'.split('');\r\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\r\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\r\n var PADDING = [6, 1536, 393216, 100663296];\r\n var SHIFT = [0, 8, 16, 24];\r\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\r\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\r\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\r\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\r\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\r\n var BITS = [224, 256, 384, 512];\r\n var SHAKE_BITS = [128, 256];\r\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array'];\r\n\r\n var createOutputMethod = function (bits, padding, outputType) {\r\n return function (message) {\r\n return new Keccak(bits, padding, bits).update(message)[outputType]();\r\n };\r\n };\r\n\r\n var createShakeOutputMethod = function (bits, padding, outputType) {\r\n return function (message, outputBits) {\r\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\r\n };\r\n };\r\n\r\n var createMethod = function (bits, padding) {\r\n var method = createOutputMethod(bits, padding, 'hex');\r\n method.create = function () {\r\n return new Keccak(bits, padding, bits);\r\n };\r\n method.update = function (message) {\r\n return method.create().update(message);\r\n };\r\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\r\n var type = OUTPUT_TYPES[i];\r\n method[type] = createOutputMethod(bits, padding, type);\r\n }\r\n return method;\r\n };\r\n\r\n var createShakeMethod = function (bits, padding) {\r\n var method = createShakeOutputMethod(bits, padding, 'hex');\r\n method.create = function (outputBits) {\r\n return new Keccak(bits, padding, outputBits);\r\n };\r\n method.update = function (message, outputBits) {\r\n return method.create(outputBits).update(message);\r\n };\r\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\r\n var type = OUTPUT_TYPES[i];\r\n method[type] = createShakeOutputMethod(bits, padding, type);\r\n }\r\n return method;\r\n };\r\n\r\n var algorithms = [\r\n {name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod},\r\n {name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod},\r\n {name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod}\r\n ];\r\n\r\n var methods = {}, methodNames = [];\r\n\r\n for (var i = 0; i < algorithms.length; ++i) {\r\n var algorithm = algorithms[i];\r\n var bits = algorithm.bits;\r\n for (var j = 0; j < bits.length; ++j) {\r\n var methodName = algorithm.name +'_' + bits[j];\r\n methodNames.push(methodName);\r\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\r\n }\r\n }\r\n\r\n function Keccak(bits, padding, outputBits) {\r\n this.blocks = [];\r\n this.s = [];\r\n this.padding = padding;\r\n this.outputBits = outputBits;\r\n this.reset = true;\r\n this.block = 0;\r\n this.start = 0;\r\n this.blockCount = (1600 - (bits << 1)) >> 5;\r\n this.byteCount = this.blockCount << 2;\r\n this.outputBlocks = outputBits >> 5;\r\n this.extraBytes = (outputBits & 31) >> 3;\r\n\r\n for (var i = 0; i < 50; ++i) {\r\n this.s[i] = 0;\r\n }\r\n }\r\n\r\n Keccak.prototype.update = function (message) {\r\n var notString = typeof message !== 'string';\r\n if (notString && message.constructor === ArrayBuffer) {\r\n message = new Uint8Array(message);\r\n }\r\n var length = message.length, blocks = this.blocks, byteCount = this.byteCount,\r\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\r\n\r\n while (index < length) {\r\n if (this.reset) {\r\n this.reset = false;\r\n blocks[0] = this.block;\r\n for (i = 1; i < blockCount + 1; ++i) {\r\n blocks[i] = 0;\r\n }\r\n }\r\n if (notString) {\r\n for (i = this.start; index < length && i < byteCount; ++index) {\r\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\r\n }\r\n } else {\r\n for (i = this.start; index < length && i < byteCount; ++index) {\r\n code = message.charCodeAt(index);\r\n if (code < 0x80) {\r\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\r\n } else if (code < 0x800) {\r\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\r\n } else if (code < 0xd800 || code >= 0xe000) {\r\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\r\n } else {\r\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\r\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\r\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\r\n }\r\n }\r\n }\r\n this.lastByteIndex = i;\r\n if (i >= byteCount) {\r\n this.start = i - byteCount;\r\n this.block = blocks[blockCount];\r\n for (i = 0; i < blockCount; ++i) {\r\n s[i] ^= blocks[i];\r\n }\r\n f(s);\r\n this.reset = true;\r\n } else {\r\n this.start = i;\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n Keccak.prototype.finalize = function () {\r\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\r\n blocks[i >> 2] |= this.padding[i & 3];\r\n if (this.lastByteIndex === this.byteCount) {\r\n blocks[0] = blocks[blockCount];\r\n for (i = 1; i < blockCount + 1; ++i) {\r\n blocks[i] = 0;\r\n }\r\n }\r\n blocks[blockCount - 1] |= 0x80000000;\r\n for (i = 0; i < blockCount; ++i) {\r\n s[i] ^= blocks[i];\r\n }\r\n f(s);\r\n };\r\n\r\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\r\n this.finalize();\r\n\r\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\r\n extraBytes = this.extraBytes, i = 0, j = 0;\r\n var hex = '', block;\r\n while (j < outputBlocks) {\r\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\r\n block = s[i];\r\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\r\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\r\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\r\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\r\n }\r\n if (j % blockCount === 0) {\r\n f(s);\r\n i = 0;\r\n }\r\n }\r\n if (extraBytes) {\r\n block = s[i];\r\n if (extraBytes > 0) {\r\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\r\n }\r\n if (extraBytes > 1) {\r\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\r\n }\r\n if (extraBytes > 2) {\r\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\r\n }\r\n }\r\n return hex;\r\n };\r\n\r\n Keccak.prototype.arrayBuffer = function () {\r\n this.finalize();\r\n\r\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\r\n extraBytes = this.extraBytes, i = 0, j = 0;\r\n var bytes = this.outputBits >> 3;\r\n var buffer;\r\n if (extraBytes) {\r\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\r\n } else {\r\n buffer = new ArrayBuffer(bytes);\r\n }\r\n var array = new Uint32Array(buffer);\r\n while (j < outputBlocks) {\r\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\r\n array[j] = s[i];\r\n }\r\n if (j % blockCount === 0) {\r\n f(s);\r\n }\r\n }\r\n if (extraBytes) {\r\n array[i] = s[i];\r\n buffer = buffer.slice(0, bytes);\r\n }\r\n return buffer;\r\n };\r\n\r\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\r\n\r\n Keccak.prototype.digest = Keccak.prototype.array = function () {\r\n this.finalize();\r\n\r\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\r\n extraBytes = this.extraBytes, i = 0, j = 0;\r\n var array = [], offset, block;\r\n while (j < outputBlocks) {\r\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\r\n offset = j << 2;\r\n block = s[i];\r\n array[offset] = block & 0xFF;\r\n array[offset + 1] = (block >> 8) & 0xFF;\r\n array[offset + 2] = (block >> 16) & 0xFF;\r\n array[offset + 3] = (block >> 24) & 0xFF;\r\n }\r\n if (j % blockCount === 0) {\r\n f(s);\r\n }\r\n }\r\n if (extraBytes) {\r\n offset = j << 2;\r\n block = s[i];\r\n if (extraBytes > 0) {\r\n array[offset] = block & 0xFF;\r\n }\r\n if (extraBytes > 1) {\r\n array[offset + 1] = (block >> 8) & 0xFF;\r\n }\r\n if (extraBytes > 2) {\r\n array[offset + 2] = (block >> 16) & 0xFF;\r\n }\r\n }\r\n return array;\r\n };\r\n\r\n var f = function (s) {\r\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\r\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\r\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\r\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\r\n for (n = 0; n < 48; n += 2) {\r\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\r\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\r\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\r\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\r\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\r\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\r\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\r\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\r\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\r\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\r\n\r\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\r\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\r\n s[0] ^= h;\r\n s[1] ^= l;\r\n s[10] ^= h;\r\n s[11] ^= l;\r\n s[20] ^= h;\r\n s[21] ^= l;\r\n s[30] ^= h;\r\n s[31] ^= l;\r\n s[40] ^= h;\r\n s[41] ^= l;\r\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\r\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\r\n s[2] ^= h;\r\n s[3] ^= l;\r\n s[12] ^= h;\r\n s[13] ^= l;\r\n s[22] ^= h;\r\n s[23] ^= l;\r\n s[32] ^= h;\r\n s[33] ^= l;\r\n s[42] ^= h;\r\n s[43] ^= l;\r\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\r\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\r\n s[4] ^= h;\r\n s[5] ^= l;\r\n s[14] ^= h;\r\n s[15] ^= l;\r\n s[24] ^= h;\r\n s[25] ^= l;\r\n s[34] ^= h;\r\n s[35] ^= l;\r\n s[44] ^= h;\r\n s[45] ^= l;\r\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\r\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\r\n s[6] ^= h;\r\n s[7] ^= l;\r\n s[16] ^= h;\r\n s[17] ^= l;\r\n s[26] ^= h;\r\n s[27] ^= l;\r\n s[36] ^= h;\r\n s[37] ^= l;\r\n s[46] ^= h;\r\n s[47] ^= l;\r\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\r\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\r\n s[8] ^= h;\r\n s[9] ^= l;\r\n s[18] ^= h;\r\n s[19] ^= l;\r\n s[28] ^= h;\r\n s[29] ^= l;\r\n s[38] ^= h;\r\n s[39] ^= l;\r\n s[48] ^= h;\r\n s[49] ^= l;\r\n\r\n b0 = s[0];\r\n b1 = s[1];\r\n b32 = (s[11] << 4) | (s[10] >>> 28);\r\n b33 = (s[10] << 4) | (s[11] >>> 28);\r\n b14 = (s[20] << 3) | (s[21] >>> 29);\r\n b15 = (s[21] << 3) | (s[20] >>> 29);\r\n b46 = (s[31] << 9) | (s[30] >>> 23);\r\n b47 = (s[30] << 9) | (s[31] >>> 23);\r\n b28 = (s[40] << 18) | (s[41] >>> 14);\r\n b29 = (s[41] << 18) | (s[40] >>> 14);\r\n b20 = (s[2] << 1) | (s[3] >>> 31);\r\n b21 = (s[3] << 1) | (s[2] >>> 31);\r\n b2 = (s[13] << 12) | (s[12] >>> 20);\r\n b3 = (s[12] << 12) | (s[13] >>> 20);\r\n b34 = (s[22] << 10) | (s[23] >>> 22);\r\n b35 = (s[23] << 10) | (s[22] >>> 22);\r\n b16 = (s[33] << 13) | (s[32] >>> 19);\r\n b17 = (s[32] << 13) | (s[33] >>> 19);\r\n b48 = (s[42] << 2) | (s[43] >>> 30);\r\n b49 = (s[43] << 2) | (s[42] >>> 30);\r\n b40 = (s[5] << 30) | (s[4] >>> 2);\r\n b41 = (s[4] << 30) | (s[5] >>> 2);\r\n b22 = (s[14] << 6) | (s[15] >>> 26);\r\n b23 = (s[15] << 6) | (s[14] >>> 26);\r\n b4 = (s[25] << 11) | (s[24] >>> 21);\r\n b5 = (s[24] << 11) | (s[25] >>> 21);\r\n b36 = (s[34] << 15) | (s[35] >>> 17);\r\n b37 = (s[35] << 15) | (s[34] >>> 17);\r\n b18 = (s[45] << 29) | (s[44] >>> 3);\r\n b19 = (s[44] << 29) | (s[45] >>> 3);\r\n b10 = (s[6] << 28) | (s[7] >>> 4);\r\n b11 = (s[7] << 28) | (s[6] >>> 4);\r\n b42 = (s[17] << 23) | (s[16] >>> 9);\r\n b43 = (s[16] << 23) | (s[17] >>> 9);\r\n b24 = (s[26] << 25) | (s[27] >>> 7);\r\n b25 = (s[27] << 25) | (s[26] >>> 7);\r\n b6 = (s[36] << 21) | (s[37] >>> 11);\r\n b7 = (s[37] << 21) | (s[36] >>> 11);\r\n b38 = (s[47] << 24) | (s[46] >>> 8);\r\n b39 = (s[46] << 24) | (s[47] >>> 8);\r\n b30 = (s[8] << 27) | (s[9] >>> 5);\r\n b31 = (s[9] << 27) | (s[8] >>> 5);\r\n b12 = (s[18] << 20) | (s[19] >>> 12);\r\n b13 = (s[19] << 20) | (s[18] >>> 12);\r\n b44 = (s[29] << 7) | (s[28] >>> 25);\r\n b45 = (s[28] << 7) | (s[29] >>> 25);\r\n b26 = (s[38] << 8) | (s[39] >>> 24);\r\n b27 = (s[39] << 8) | (s[38] >>> 24);\r\n b8 = (s[48] << 14) | (s[49] >>> 18);\r\n b9 = (s[49] << 14) | (s[48] >>> 18);\r\n\r\n s[0] = b0 ^ (~b2 & b4);\r\n s[1] = b1 ^ (~b3 & b5);\r\n s[10] = b10 ^ (~b12 & b14);\r\n s[11] = b11 ^ (~b13 & b15);\r\n s[20] = b20 ^ (~b22 & b24);\r\n s[21] = b21 ^ (~b23 & b25);\r\n s[30] = b30 ^ (~b32 & b34);\r\n s[31] = b31 ^ (~b33 & b35);\r\n s[40] = b40 ^ (~b42 & b44);\r\n s[41] = b41 ^ (~b43 & b45);\r\n s[2] = b2 ^ (~b4 & b6);\r\n s[3] = b3 ^ (~b5 & b7);\r\n s[12] = b12 ^ (~b14 & b16);\r\n s[13] = b13 ^ (~b15 & b17);\r\n s[22] = b22 ^ (~b24 & b26);\r\n s[23] = b23 ^ (~b25 & b27);\r\n s[32] = b32 ^ (~b34 & b36);\r\n s[33] = b33 ^ (~b35 & b37);\r\n s[42] = b42 ^ (~b44 & b46);\r\n s[43] = b43 ^ (~b45 & b47);\r\n s[4] = b4 ^ (~b6 & b8);\r\n s[5] = b5 ^ (~b7 & b9);\r\n s[14] = b14 ^ (~b16 & b18);\r\n s[15] = b15 ^ (~b17 & b19);\r\n s[24] = b24 ^ (~b26 & b28);\r\n s[25] = b25 ^ (~b27 & b29);\r\n s[34] = b34 ^ (~b36 & b38);\r\n s[35] = b35 ^ (~b37 & b39);\r\n s[44] = b44 ^ (~b46 & b48);\r\n s[45] = b45 ^ (~b47 & b49);\r\n s[6] = b6 ^ (~b8 & b0);\r\n s[7] = b7 ^ (~b9 & b1);\r\n s[16] = b16 ^ (~b18 & b10);\r\n s[17] = b17 ^ (~b19 & b11);\r\n s[26] = b26 ^ (~b28 & b20);\r\n s[27] = b27 ^ (~b29 & b21);\r\n s[36] = b36 ^ (~b38 & b30);\r\n s[37] = b37 ^ (~b39 & b31);\r\n s[46] = b46 ^ (~b48 & b40);\r\n s[47] = b47 ^ (~b49 & b41);\r\n s[8] = b8 ^ (~b0 & b2);\r\n s[9] = b9 ^ (~b1 & b3);\r\n s[18] = b18 ^ (~b10 & b12);\r\n s[19] = b19 ^ (~b11 & b13);\r\n s[28] = b28 ^ (~b20 & b22);\r\n s[29] = b29 ^ (~b21 & b23);\r\n s[38] = b38 ^ (~b30 & b32);\r\n s[39] = b39 ^ (~b31 & b33);\r\n s[48] = b48 ^ (~b40 & b42);\r\n s[49] = b49 ^ (~b41 & b43);\r\n\r\n s[0] ^= RC[n];\r\n s[1] ^= RC[n + 1];\r\n }\r\n };\r\n\r\n if (COMMON_JS) {\r\n module.exports = methods;\r\n } else {\r\n for (var i = 0; i < methodNames.length; ++i) {\r\n root[methodNames[i]] = methods[methodNames[i]];\r\n }\r\n }\r\n})();\r\n","module.exports = require('./lib/api')(require('./lib/keccak'))\n","const createKeccak = require('./keccak')\nconst createShake = require('./shake')\n\nmodule.exports = function (KeccakState) {\n const Keccak = createKeccak(KeccakState)\n const Shake = createShake(KeccakState)\n\n return function (algorithm, options) {\n const hash = typeof algorithm === 'string' ? algorithm.toLowerCase() : algorithm\n switch (hash) {\n case 'keccak224': return new Keccak(1152, 448, null, 224, options)\n case 'keccak256': return new Keccak(1088, 512, null, 256, options)\n case 'keccak384': return new Keccak(832, 768, null, 384, options)\n case 'keccak512': return new Keccak(576, 1024, null, 512, options)\n\n case 'sha3-224': return new Keccak(1152, 448, 0x06, 224, options)\n case 'sha3-256': return new Keccak(1088, 512, 0x06, 256, options)\n case 'sha3-384': return new Keccak(832, 768, 0x06, 384, options)\n case 'sha3-512': return new Keccak(576, 1024, 0x06, 512, options)\n\n case 'shake128': return new Shake(1344, 256, 0x1f, options)\n case 'shake256': return new Shake(1088, 512, 0x1f, options)\n\n default: throw new Error('Invald algorithm: ' + algorithm)\n }\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Keccak extends Transform {\n constructor (rate, capacity, delimitedSuffix, hashBitLength, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._hashBitLength = hashBitLength\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush (callback) {\n let error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n digest (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix)\n let digest = this._state.squeeze(this._hashBitLength / 8)\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n this._resetState()\n\n return digest\n }\n\n // remove result from memory\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n // because sometimes we need hash right now and little later\n _clone () {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Shake extends Transform {\n constructor (rate, capacity, delimitedSuffix, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush () {}\n\n _read (size) {\n this.push(this.squeeze(size))\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Squeeze already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n squeeze (dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true\n this._state.absorbLastFewBits(this._delimitedSuffix)\n }\n\n let data = this._state.squeeze(dataByteLength)\n if (encoding !== undefined) data = data.toString(encoding)\n\n return data\n }\n\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n _clone () {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const P1600_ROUND_CONSTANTS = [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\nexports.p1600 = function (s) {\n for (let round = 0; round < 24; ++round) {\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]\n\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31)\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31)\n const t1slo0 = s[0] ^ lo\n const t1shi0 = s[1] ^ hi\n const t1slo5 = s[10] ^ lo\n const t1shi5 = s[11] ^ hi\n const t1slo10 = s[20] ^ lo\n const t1shi10 = s[21] ^ hi\n const t1slo15 = s[30] ^ lo\n const t1shi15 = s[31] ^ hi\n const t1slo20 = s[40] ^ lo\n const t1shi20 = s[41] ^ hi\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31)\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31)\n const t1slo1 = s[2] ^ lo\n const t1shi1 = s[3] ^ hi\n const t1slo6 = s[12] ^ lo\n const t1shi6 = s[13] ^ hi\n const t1slo11 = s[22] ^ lo\n const t1shi11 = s[23] ^ hi\n const t1slo16 = s[32] ^ lo\n const t1shi16 = s[33] ^ hi\n const t1slo21 = s[42] ^ lo\n const t1shi21 = s[43] ^ hi\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31)\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31)\n const t1slo2 = s[4] ^ lo\n const t1shi2 = s[5] ^ hi\n const t1slo7 = s[14] ^ lo\n const t1shi7 = s[15] ^ hi\n const t1slo12 = s[24] ^ lo\n const t1shi12 = s[25] ^ hi\n const t1slo17 = s[34] ^ lo\n const t1shi17 = s[35] ^ hi\n const t1slo22 = s[44] ^ lo\n const t1shi22 = s[45] ^ hi\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31)\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31)\n const t1slo3 = s[6] ^ lo\n const t1shi3 = s[7] ^ hi\n const t1slo8 = s[16] ^ lo\n const t1shi8 = s[17] ^ hi\n const t1slo13 = s[26] ^ lo\n const t1shi13 = s[27] ^ hi\n const t1slo18 = s[36] ^ lo\n const t1shi18 = s[37] ^ hi\n const t1slo23 = s[46] ^ lo\n const t1shi23 = s[47] ^ hi\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31)\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31)\n const t1slo4 = s[8] ^ lo\n const t1shi4 = s[9] ^ hi\n const t1slo9 = s[18] ^ lo\n const t1shi9 = s[19] ^ hi\n const t1slo14 = s[28] ^ lo\n const t1shi14 = s[29] ^ hi\n const t1slo19 = s[38] ^ lo\n const t1shi19 = s[39] ^ hi\n const t1slo24 = s[48] ^ lo\n const t1shi24 = s[49] ^ hi\n\n // rho & pi\n const t2slo0 = t1slo0\n const t2shi0 = t1shi0\n const t2slo16 = (t1shi5 << 4 | t1slo5 >>> 28)\n const t2shi16 = (t1slo5 << 4 | t1shi5 >>> 28)\n const t2slo7 = (t1slo10 << 3 | t1shi10 >>> 29)\n const t2shi7 = (t1shi10 << 3 | t1slo10 >>> 29)\n const t2slo23 = (t1shi15 << 9 | t1slo15 >>> 23)\n const t2shi23 = (t1slo15 << 9 | t1shi15 >>> 23)\n const t2slo14 = (t1slo20 << 18 | t1shi20 >>> 14)\n const t2shi14 = (t1shi20 << 18 | t1slo20 >>> 14)\n const t2slo10 = (t1slo1 << 1 | t1shi1 >>> 31)\n const t2shi10 = (t1shi1 << 1 | t1slo1 >>> 31)\n const t2slo1 = (t1shi6 << 12 | t1slo6 >>> 20)\n const t2shi1 = (t1slo6 << 12 | t1shi6 >>> 20)\n const t2slo17 = (t1slo11 << 10 | t1shi11 >>> 22)\n const t2shi17 = (t1shi11 << 10 | t1slo11 >>> 22)\n const t2slo8 = (t1shi16 << 13 | t1slo16 >>> 19)\n const t2shi8 = (t1slo16 << 13 | t1shi16 >>> 19)\n const t2slo24 = (t1slo21 << 2 | t1shi21 >>> 30)\n const t2shi24 = (t1shi21 << 2 | t1slo21 >>> 30)\n const t2slo20 = (t1shi2 << 30 | t1slo2 >>> 2)\n const t2shi20 = (t1slo2 << 30 | t1shi2 >>> 2)\n const t2slo11 = (t1slo7 << 6 | t1shi7 >>> 26)\n const t2shi11 = (t1shi7 << 6 | t1slo7 >>> 26)\n const t2slo2 = (t1shi12 << 11 | t1slo12 >>> 21)\n const t2shi2 = (t1slo12 << 11 | t1shi12 >>> 21)\n const t2slo18 = (t1slo17 << 15 | t1shi17 >>> 17)\n const t2shi18 = (t1shi17 << 15 | t1slo17 >>> 17)\n const t2slo9 = (t1shi22 << 29 | t1slo22 >>> 3)\n const t2shi9 = (t1slo22 << 29 | t1shi22 >>> 3)\n const t2slo5 = (t1slo3 << 28 | t1shi3 >>> 4)\n const t2shi5 = (t1shi3 << 28 | t1slo3 >>> 4)\n const t2slo21 = (t1shi8 << 23 | t1slo8 >>> 9)\n const t2shi21 = (t1slo8 << 23 | t1shi8 >>> 9)\n const t2slo12 = (t1slo13 << 25 | t1shi13 >>> 7)\n const t2shi12 = (t1shi13 << 25 | t1slo13 >>> 7)\n const t2slo3 = (t1slo18 << 21 | t1shi18 >>> 11)\n const t2shi3 = (t1shi18 << 21 | t1slo18 >>> 11)\n const t2slo19 = (t1shi23 << 24 | t1slo23 >>> 8)\n const t2shi19 = (t1slo23 << 24 | t1shi23 >>> 8)\n const t2slo15 = (t1slo4 << 27 | t1shi4 >>> 5)\n const t2shi15 = (t1shi4 << 27 | t1slo4 >>> 5)\n const t2slo6 = (t1slo9 << 20 | t1shi9 >>> 12)\n const t2shi6 = (t1shi9 << 20 | t1slo9 >>> 12)\n const t2slo22 = (t1shi14 << 7 | t1slo14 >>> 25)\n const t2shi22 = (t1slo14 << 7 | t1shi14 >>> 25)\n const t2slo13 = (t1slo19 << 8 | t1shi19 >>> 24)\n const t2shi13 = (t1shi19 << 8 | t1slo19 >>> 24)\n const t2slo4 = (t1slo24 << 14 | t1shi24 >>> 18)\n const t2shi4 = (t1shi24 << 14 | t1slo24 >>> 18)\n\n // chi\n s[0] = t2slo0 ^ (~t2slo1 & t2slo2)\n s[1] = t2shi0 ^ (~t2shi1 & t2shi2)\n s[10] = t2slo5 ^ (~t2slo6 & t2slo7)\n s[11] = t2shi5 ^ (~t2shi6 & t2shi7)\n s[20] = t2slo10 ^ (~t2slo11 & t2slo12)\n s[21] = t2shi10 ^ (~t2shi11 & t2shi12)\n s[30] = t2slo15 ^ (~t2slo16 & t2slo17)\n s[31] = t2shi15 ^ (~t2shi16 & t2shi17)\n s[40] = t2slo20 ^ (~t2slo21 & t2slo22)\n s[41] = t2shi20 ^ (~t2shi21 & t2shi22)\n s[2] = t2slo1 ^ (~t2slo2 & t2slo3)\n s[3] = t2shi1 ^ (~t2shi2 & t2shi3)\n s[12] = t2slo6 ^ (~t2slo7 & t2slo8)\n s[13] = t2shi6 ^ (~t2shi7 & t2shi8)\n s[22] = t2slo11 ^ (~t2slo12 & t2slo13)\n s[23] = t2shi11 ^ (~t2shi12 & t2shi13)\n s[32] = t2slo16 ^ (~t2slo17 & t2slo18)\n s[33] = t2shi16 ^ (~t2shi17 & t2shi18)\n s[42] = t2slo21 ^ (~t2slo22 & t2slo23)\n s[43] = t2shi21 ^ (~t2shi22 & t2shi23)\n s[4] = t2slo2 ^ (~t2slo3 & t2slo4)\n s[5] = t2shi2 ^ (~t2shi3 & t2shi4)\n s[14] = t2slo7 ^ (~t2slo8 & t2slo9)\n s[15] = t2shi7 ^ (~t2shi8 & t2shi9)\n s[24] = t2slo12 ^ (~t2slo13 & t2slo14)\n s[25] = t2shi12 ^ (~t2shi13 & t2shi14)\n s[34] = t2slo17 ^ (~t2slo18 & t2slo19)\n s[35] = t2shi17 ^ (~t2shi18 & t2shi19)\n s[44] = t2slo22 ^ (~t2slo23 & t2slo24)\n s[45] = t2shi22 ^ (~t2shi23 & t2shi24)\n s[6] = t2slo3 ^ (~t2slo4 & t2slo0)\n s[7] = t2shi3 ^ (~t2shi4 & t2shi0)\n s[16] = t2slo8 ^ (~t2slo9 & t2slo5)\n s[17] = t2shi8 ^ (~t2shi9 & t2shi5)\n s[26] = t2slo13 ^ (~t2slo14 & t2slo10)\n s[27] = t2shi13 ^ (~t2shi14 & t2shi10)\n s[36] = t2slo18 ^ (~t2slo19 & t2slo15)\n s[37] = t2shi18 ^ (~t2shi19 & t2shi15)\n s[46] = t2slo23 ^ (~t2slo24 & t2slo20)\n s[47] = t2shi23 ^ (~t2shi24 & t2shi20)\n s[8] = t2slo4 ^ (~t2slo0 & t2slo1)\n s[9] = t2shi4 ^ (~t2shi0 & t2shi1)\n s[18] = t2slo9 ^ (~t2slo5 & t2slo6)\n s[19] = t2shi9 ^ (~t2shi5 & t2shi6)\n s[28] = t2slo14 ^ (~t2slo10 & t2slo11)\n s[29] = t2shi14 ^ (~t2shi10 & t2shi11)\n s[38] = t2slo19 ^ (~t2slo15 & t2slo16)\n s[39] = t2shi19 ^ (~t2shi15 & t2shi16)\n s[48] = t2slo24 ^ (~t2slo20 & t2slo21)\n s[49] = t2shi24 ^ (~t2shi20 & t2shi21)\n\n // iota\n s[0] ^= P1600_ROUND_CONSTANTS[round * 2]\n s[1] ^= P1600_ROUND_CONSTANTS[round * 2 + 1]\n }\n}\n","const keccakState = require('./keccak-state-unroll')\n\nfunction Keccak () {\n // much faster than `new Array(50)`\n this.state = [\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0\n ]\n\n this.blockSize = null\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.initialize = function (rate, capacity) {\n for (let i = 0; i < 50; ++i) this.state[i] = 0\n this.blockSize = rate / 8\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.absorb = function (data) {\n for (let i = 0; i < data.length; ++i) {\n this.state[~~(this.count / 4)] ^= data[i] << (8 * (this.count % 4))\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n}\n\nKeccak.prototype.absorbLastFewBits = function (bits) {\n this.state[~~(this.count / 4)] ^= bits << (8 * (this.count % 4))\n if ((bits & 0x80) !== 0 && this.count === (this.blockSize - 1)) keccakState.p1600(this.state)\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << (8 * ((this.blockSize - 1) % 4))\n keccakState.p1600(this.state)\n this.count = 0\n this.squeezing = true\n}\n\nKeccak.prototype.squeeze = function (length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01)\n\n const output = Buffer.alloc(length)\n for (let i = 0; i < length; ++i) {\n output[i] = (this.state[~~(this.count / 4)] >>> (8 * (this.count % 4))) & 0xff\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n\n return output\n}\n\nKeccak.prototype.copy = function (dest) {\n for (let i = 0; i < 50; ++i) dest.state[i] = this.state[i]\n dest.blockSize = this.blockSize\n dest.count = this.count\n dest.squeezing = this.squeezing\n}\n\nmodule.exports = Keccak\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","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","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;\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\nclass Base {\n constructor (name, code, implementation, alphabet) {\n this.name = name\n this.code = code\n this.alphabet = alphabet\n if (implementation && alphabet) {\n this.engine = implementation(alphabet)\n }\n }\n\n encode (stringOrBuffer) {\n return this.engine.encode(stringOrBuffer)\n }\n\n decode (stringOrBuffer) {\n return this.engine.decode(stringOrBuffer)\n }\n\n isImplemented () {\n return this.engine\n }\n}\n\nmodule.exports = Base\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base16 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return Buffer.from(input).toString('hex')\n }\n return input.toString('hex')\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base16 character')\n }\n }\n return Buffer.from(input, 'hex')\n }\n }\n}\n","'use strict'\n\nfunction decode (input, alphabet) {\n input = input.replace(new RegExp('=', 'g'), '')\n const length = input.length\n\n let bits = 0\n let value = 0\n\n let index = 0\n const output = new Uint8Array((length * 5 / 8) | 0)\n\n for (let i = 0; i < length; i++) {\n value = (value << 5) | alphabet.indexOf(input[i])\n bits += 5\n\n if (bits >= 8) {\n output[index++] = (value >>> (bits - 8)) & 255\n bits -= 8\n }\n }\n\n return output.buffer\n}\n\nfunction encode (buffer, alphabet) {\n const length = buffer.byteLength\n const view = new Uint8Array(buffer)\n const padding = alphabet.indexOf('=') === alphabet.length - 1\n\n if (padding) {\n alphabet = alphabet.substring(0, alphabet.length - 1)\n }\n\n let bits = 0\n let value = 0\n let output = ''\n\n for (let i = 0; i < length; i++) {\n value = (value << 8) | view[i]\n bits += 8\n\n while (bits >= 5) {\n output += alphabet[(value >>> (bits - 5)) & 31]\n bits -= 5\n }\n }\n\n if (bits > 0) {\n output += alphabet[(value << (5 - bits)) & 31]\n }\n\n if (padding) {\n while ((output.length % 8) !== 0) {\n output += '='\n }\n }\n\n return output\n}\n\nmodule.exports = function base32 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return encode(Uint8Array.from(input), alphabet)\n }\n\n return encode(input, alphabet)\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base32 character')\n }\n }\n\n return decode(input, alphabet)\n }\n }\n}\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base64 (alphabet) {\n // The alphabet is only used to know:\n // 1. If padding is enabled (must contain '=')\n // 2. If the output must be url-safe (must contain '-' and '_')\n // 3. If the input of the output function is valid\n // The alphabets from RFC 4648 are always used.\n const padding = alphabet.indexOf('=') > -1\n const url = alphabet.indexOf('-') > -1 && alphabet.indexOf('_') > -1\n\n return {\n encode (input) {\n let output = ''\n\n if (typeof input === 'string') {\n output = Buffer.from(input).toString('base64')\n } else {\n output = input.toString('base64')\n }\n\n if (url) {\n output = output.replace(/\\+/g, '-').replace(/\\//g, '_')\n }\n\n const pad = output.indexOf('=')\n if (pad > 0 && !padding) {\n output = output.substring(0, pad)\n }\n\n return output\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base64 character')\n }\n }\n\n return Buffer.from(input, 'base64')\n }\n }\n}\n","'use strict'\n\nconst Base = require('./base.js')\nconst baseX = require('base-x')\nconst base16 = require('./base16')\nconst base32 = require('./base32')\nconst base64 = require('./base64')\n\n// name, code, implementation, alphabet\nconst constants = [\n ['base1', '1', '', '1'],\n ['base2', '0', baseX, '01'],\n ['base8', '7', baseX, '01234567'],\n ['base10', '9', baseX, '0123456789'],\n ['base16', 'f', base16, '0123456789abcdef'],\n ['base32', 'b', base32, 'abcdefghijklmnopqrstuvwxyz234567'],\n ['base32pad', 'c', base32, 'abcdefghijklmnopqrstuvwxyz234567='],\n ['base32hex', 'v', base32, '0123456789abcdefghijklmnopqrstuv'],\n ['base32hexpad', 't', base32, '0123456789abcdefghijklmnopqrstuv='],\n ['base32z', 'h', base32, 'ybndrfg8ejkmcpqxot1uwisza345h769'],\n ['base58flickr', 'Z', baseX, '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'],\n ['base58btc', 'z', baseX, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'],\n ['base64', 'm', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'],\n ['base64pad', 'M', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='],\n ['base64url', 'u', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'],\n ['base64urlpad', 'U', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=']\n]\n\nconst names = constants.reduce((prev, tupple) => {\n prev[tupple[0]] = new Base(tupple[0], tupple[1], tupple[2], tupple[3])\n return prev\n}, {})\n\nconst codes = constants.reduce((prev, tupple) => {\n prev[tupple[1]] = names[tupple[0]]\n return prev\n}, {})\n\nmodule.exports = {\n names: names,\n codes: codes\n}\n","/**\n * Implementation of the [multibase](https://github.com/multiformats/multibase) specification.\n * @module Multibase\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst constants = require('./constants')\n\nexports = module.exports = multibase\nexports.encode = encode\nexports.decode = decode\nexports.isEncoded = isEncoded\nexports.names = Object.freeze(Object.keys(constants.names))\nexports.codes = Object.freeze(Object.keys(constants.codes))\n\nconst errNotSupported = new Error('Unsupported encoding')\n\n/**\n * Create a new buffer with the multibase varint+code.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be prefixed with multibase.\n * @memberof Multibase\n * @returns {Buffer}\n */\nfunction multibase (nameOrCode, buf) {\n if (!buf) {\n throw new Error('requires an encoded buffer')\n }\n const base = getBase(nameOrCode)\n const codeBuf = Buffer.from(base.code)\n\n const name = base.name\n validEncode(name, buf)\n return Buffer.concat([codeBuf, buf])\n}\n\n/**\n * Encode data with the specified base and add the multibase prefix.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be encoded.\n * @returns {Buffer}\n * @memberof Multibase\n */\nfunction encode (nameOrCode, buf) {\n const base = getBase(nameOrCode)\n const name = base.name\n\n return multibase(name, Buffer.from(base.encode(buf)))\n}\n\n/**\n * Takes a buffer or string encoded with multibase header, decodes it and\n * returns the decoded buffer\n *\n * @param {Buffer|string} bufOrString\n * @returns {Buffer}\n * @memberof Multibase\n *\n */\nfunction decode (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n const code = bufOrString.substring(0, 1)\n bufOrString = bufOrString.substring(1, bufOrString.length)\n\n if (typeof bufOrString === 'string') {\n bufOrString = Buffer.from(bufOrString)\n }\n\n const base = getBase(code)\n return Buffer.from(base.decode(bufOrString.toString()))\n}\n\n/**\n * Is the given data multibase encoded?\n *\n * @param {Buffer|string} bufOrString\n * @returns {boolean}\n * @memberof Multibase\n */\nfunction isEncoded (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n // Ensure bufOrString is a string\n if (Object.prototype.toString.call(bufOrString) !== '[object String]') {\n return false\n }\n\n const code = bufOrString.substring(0, 1)\n try {\n const base = getBase(code)\n return base.name\n } catch (err) {\n return false\n }\n}\n\n/**\n * @param {string} name\n * @param {Buffer} buf\n * @private\n * @returns {undefined}\n */\nfunction validEncode (name, buf) {\n const base = getBase(name)\n base.decode(buf.toString())\n}\n\nfunction getBase (nameOrCode) {\n let base\n\n if (constants.names[nameOrCode]) {\n base = constants.names[nameOrCode]\n } else if (constants.codes[nameOrCode]) {\n base = constants.codes[nameOrCode]\n } else {\n throw errNotSupported\n }\n\n if (!base.isImplemented()) {\n throw new Error('Base ' + nameOrCode + ' is not implemented yet')\n }\n\n return base\n}\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for codecConstant -> code\nconst constants = {}\n\nfor (const [name, code] of Object.entries(table)) {\n constants[name.toUpperCase().replace(/-/g, '_')] = code\n}\n\nmodule.exports = Object.freeze(constants)\n","/**\n * Implementation of the multicodec specification.\n *\n * @module multicodec\n * @example\n * const multicodec = require('multicodec')\n *\n * const prefixedProtobuf = multicodec.addPrefix('protobuf', protobufBuffer)\n * // prefixedProtobuf 0x50...\n *\n */\n'use strict'\n\nconst varint = require('varint')\nconst intTable = require('./int-table')\nconst codecNameToCodeVarint = require('./varint-table')\nconst util = require('./util')\n\nexports = module.exports\n\n/**\n * Prefix a buffer with a multicodec-packed.\n *\n * @param {string|number} multicodecStrOrCode\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.addPrefix = (multicodecStrOrCode, data) => {\n let prefix\n\n if (Buffer.isBuffer(multicodecStrOrCode)) {\n prefix = util.varintBufferEncode(multicodecStrOrCode)\n } else {\n if (codecNameToCodeVarint[multicodecStrOrCode]) {\n prefix = codecNameToCodeVarint[multicodecStrOrCode]\n } else {\n throw new Error('multicodec not recognized')\n }\n }\n return Buffer.concat([prefix, data])\n}\n\n/**\n * Decapsulate the multicodec-packed prefix from the data.\n *\n * @param {Buffer} data\n * @returns {Buffer}\n */\nexports.rmPrefix = (data) => {\n varint.decode(data)\n return data.slice(varint.decode.bytes)\n}\n\n/**\n * Get the codec of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {string}\n */\nexports.getCodec = (prefixedData) => {\n const code = varint.decode(prefixedData)\n const codecName = intTable.get(code)\n if (codecName === undefined) {\n throw new Error(`Code ${code} not found`)\n }\n return codecName\n}\n\n/**\n * Get the name of the codec.\n * @param {number} codec\n * @returns {string}\n */\nexports.getName = (codec) => {\n return intTable.get(codec)\n}\n\n/**\n * Get the code of the codec\n * @param {string} name\n * @returns {number}\n */\nexports.getNumber = (name) => {\n const code = codecNameToCodeVarint[name]\n if (code === undefined) {\n throw new Error('Codec `' + name + '` not found')\n }\n return util.varintBufferDecode(code)[0]\n}\n\n/**\n * Get the code of the prefixed data.\n * @param {Buffer} prefixedData\n * @returns {number}\n */\nexports.getCode = (prefixedData) => {\n return varint.decode(prefixedData)\n}\n\n/**\n * Get the code as varint of a codec name.\n * @param {string} codecName\n * @returns {Buffer}\n */\nexports.getCodeVarint = (codecName) => {\n const code = codecNameToCodeVarint[codecName]\n if (code === undefined) {\n throw new Error('Codec `' + codecName + '` not found')\n }\n return code\n}\n\n/**\n * Get the varint of a code.\n * @param {Number} code\n * @returns {Array.}\n */\nexports.getVarint = (code) => {\n return varint.encode(code)\n}\n\n// Make the constants top-level constants\nconst constants = require('./constants')\nObject.assign(exports, constants)\n\n// Human friendly names for printing, e.g. in error messages\nexports.print = require('./print')\n","'use strict'\nconst baseTable = require('./base-table.json')\n\n// map for hexString -> codecName\nconst nameTable = new Map()\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n nameTable.set(code, encodingName)\n}\n\nmodule.exports = Object.freeze(nameTable)\n","'use strict'\n\nconst table = require('./base-table.json')\n\n// map for code -> print friendly name\nconst tableByCode = {}\n\nfor (const [name, code] of Object.entries(table)) {\n if (tableByCode[code] === undefined) tableByCode[code] = name\n}\n\nmodule.exports = Object.freeze(tableByCode)\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 baseTable = require('./base-table.json')\nconst varintEncode = require('./util').varintEncode\n\n// map for codecName -> codeVarintBuffer\nconst varintTable = {}\n\nfor (const encodingName in baseTable) {\n const code = baseTable[encodingName]\n varintTable[encodingName] = varintEncode(code)\n}\n\nmodule.exports = Object.freeze(varintTable)\n","'use strict'\n\nclass Base {\n constructor (name, code, implementation, alphabet) {\n this.name = name\n this.code = code\n this.alphabet = alphabet\n if (implementation && alphabet) {\n this.engine = implementation(alphabet)\n }\n }\n\n encode (stringOrBuffer) {\n return this.engine.encode(stringOrBuffer)\n }\n\n decode (stringOrBuffer) {\n return this.engine.decode(stringOrBuffer)\n }\n\n isImplemented () {\n return this.engine\n }\n}\n\nmodule.exports = Base\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base16 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return Buffer.from(input).toString('hex')\n }\n return input.toString('hex')\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base16 character')\n }\n }\n return Buffer.from(input, 'hex')\n }\n }\n}\n","'use strict'\n\nfunction decode (input, alphabet) {\n input = input.replace(new RegExp('=', 'g'), '')\n const length = input.length\n\n let bits = 0\n let value = 0\n\n let index = 0\n const output = new Uint8Array((length * 5 / 8) | 0)\n\n for (let i = 0; i < length; i++) {\n value = (value << 5) | alphabet.indexOf(input[i])\n bits += 5\n\n if (bits >= 8) {\n output[index++] = (value >>> (bits - 8)) & 255\n bits -= 8\n }\n }\n\n return output.buffer\n}\n\nfunction encode (buffer, alphabet) {\n const length = buffer.byteLength\n const view = new Uint8Array(buffer)\n const padding = alphabet.indexOf('=') === alphabet.length - 1\n\n if (padding) {\n alphabet = alphabet.substring(0, alphabet.length - 1)\n }\n\n let bits = 0\n let value = 0\n let output = ''\n\n for (let i = 0; i < length; i++) {\n value = (value << 8) | view[i]\n bits += 8\n\n while (bits >= 5) {\n output += alphabet[(value >>> (bits - 5)) & 31]\n bits -= 5\n }\n }\n\n if (bits > 0) {\n output += alphabet[(value << (5 - bits)) & 31]\n }\n\n if (padding) {\n while ((output.length % 8) !== 0) {\n output += '='\n }\n }\n\n return output\n}\n\nmodule.exports = function base32 (alphabet) {\n return {\n encode (input) {\n if (typeof input === 'string') {\n return encode(Uint8Array.from(input), alphabet)\n }\n\n return encode(input, alphabet)\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base32 character')\n }\n }\n\n return decode(input, alphabet)\n }\n }\n}\n","'use strict'\nconst { Buffer } = require('buffer')\n\nmodule.exports = function base64 (alphabet) {\n // The alphabet is only used to know:\n // 1. If padding is enabled (must contain '=')\n // 2. If the output must be url-safe (must contain '-' and '_')\n // 3. If the input of the output function is valid\n // The alphabets from RFC 4648 are always used.\n const padding = alphabet.indexOf('=') > -1\n const url = alphabet.indexOf('-') > -1 && alphabet.indexOf('_') > -1\n\n return {\n encode (input) {\n let output = ''\n\n if (typeof input === 'string') {\n output = Buffer.from(input).toString('base64')\n } else {\n output = input.toString('base64')\n }\n\n if (url) {\n output = output.replace(/\\+/g, '-').replace(/\\//g, '_')\n }\n\n const pad = output.indexOf('=')\n if (pad > 0 && !padding) {\n output = output.substring(0, pad)\n }\n\n return output\n },\n decode (input) {\n for (const char of input) {\n if (alphabet.indexOf(char) < 0) {\n throw new Error('invalid base64 character')\n }\n }\n\n return Buffer.from(input, 'base64')\n }\n }\n}\n","'use strict'\n\nconst Base = require('./base.js')\nconst baseX = require('base-x')\nconst base16 = require('./base16')\nconst base32 = require('./base32')\nconst base64 = require('./base64')\n\n// name, code, implementation, alphabet\nconst constants = [\n ['base1', '1', '', '1'],\n ['base2', '0', baseX, '01'],\n ['base8', '7', baseX, '01234567'],\n ['base10', '9', baseX, '0123456789'],\n ['base16', 'f', base16, '0123456789abcdef'],\n ['base32', 'b', base32, 'abcdefghijklmnopqrstuvwxyz234567'],\n ['base32pad', 'c', base32, 'abcdefghijklmnopqrstuvwxyz234567='],\n ['base32hex', 'v', base32, '0123456789abcdefghijklmnopqrstuv'],\n ['base32hexpad', 't', base32, '0123456789abcdefghijklmnopqrstuv='],\n ['base32z', 'h', base32, 'ybndrfg8ejkmcpqxot1uwisza345h769'],\n ['base58flickr', 'Z', baseX, '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'],\n ['base58btc', 'z', baseX, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'],\n ['base64', 'm', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'],\n ['base64pad', 'M', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='],\n ['base64url', 'u', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'],\n ['base64urlpad', 'U', base64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=']\n]\n\nconst names = constants.reduce((prev, tupple) => {\n prev[tupple[0]] = new Base(tupple[0], tupple[1], tupple[2], tupple[3])\n return prev\n}, {})\n\nconst codes = constants.reduce((prev, tupple) => {\n prev[tupple[1]] = names[tupple[0]]\n return prev\n}, {})\n\nmodule.exports = {\n names: names,\n codes: codes\n}\n","/**\n * Implementation of the [multibase](https://github.com/multiformats/multibase) specification.\n * @module Multibase\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst constants = require('./constants')\n\nexports = module.exports = multibase\nexports.encode = encode\nexports.decode = decode\nexports.isEncoded = isEncoded\nexports.names = Object.freeze(Object.keys(constants.names))\nexports.codes = Object.freeze(Object.keys(constants.codes))\n\n/**\n * Create a new buffer with the multibase varint+code.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be prefixed with multibase.\n * @memberof Multibase\n * @returns {Buffer}\n */\nfunction multibase (nameOrCode, buf) {\n if (!buf) {\n throw new Error('requires an encoded buffer')\n }\n const base = getBase(nameOrCode)\n const codeBuf = Buffer.from(base.code)\n\n const name = base.name\n validEncode(name, buf)\n return Buffer.concat([codeBuf, buf])\n}\n\n/**\n * Encode data with the specified base and add the multibase prefix.\n *\n * @param {string|number} nameOrCode - The multibase name or code number.\n * @param {Buffer} buf - The data to be encoded.\n * @returns {Buffer}\n * @memberof Multibase\n */\nfunction encode (nameOrCode, buf) {\n const base = getBase(nameOrCode)\n const name = base.name\n\n return multibase(name, Buffer.from(base.encode(buf)))\n}\n\n/**\n * Takes a buffer or string encoded with multibase header, decodes it and\n * returns the decoded buffer\n *\n * @param {Buffer|string} bufOrString\n * @returns {Buffer}\n * @memberof Multibase\n *\n */\nfunction decode (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n const code = bufOrString.substring(0, 1)\n bufOrString = bufOrString.substring(1, bufOrString.length)\n\n if (typeof bufOrString === 'string') {\n bufOrString = Buffer.from(bufOrString)\n }\n\n const base = getBase(code)\n return Buffer.from(base.decode(bufOrString.toString()))\n}\n\n/**\n * Is the given data multibase encoded?\n *\n * @param {Buffer|string} bufOrString\n * @returns {boolean}\n * @memberof Multibase\n */\nfunction isEncoded (bufOrString) {\n if (Buffer.isBuffer(bufOrString)) {\n bufOrString = bufOrString.toString()\n }\n\n // Ensure bufOrString is a string\n if (Object.prototype.toString.call(bufOrString) !== '[object String]') {\n return false\n }\n\n const code = bufOrString.substring(0, 1)\n try {\n const base = getBase(code)\n return base.name\n } catch (err) {\n return false\n }\n}\n\n/**\n * @param {string} name\n * @param {Buffer} buf\n * @private\n * @returns {undefined}\n */\nfunction validEncode (name, buf) {\n const base = getBase(name)\n base.decode(buf.toString())\n}\n\nfunction getBase (nameOrCode) {\n let base\n\n if (constants.names[nameOrCode]) {\n base = constants.names[nameOrCode]\n } else if (constants.codes[nameOrCode]) {\n base = constants.codes[nameOrCode]\n } else {\n throw new Error('Unsupported encoding')\n }\n\n if (!base.isImplemented()) {\n throw new Error('Base ' + nameOrCode + ' is not implemented yet')\n }\n\n return base\n}\n","/* eslint quote-props: off */\n/* eslint key-spacing: off */\n'use strict'\n\nexports.names = Object.freeze({\n 'identity': 0x0,\n 'sha1': 0x11,\n 'sha2-256': 0x12,\n 'sha2-512': 0x13,\n 'dbl-sha2-256': 0x56,\n 'sha3-224': 0x17,\n 'sha3-256': 0x16,\n 'sha3-384': 0x15,\n 'sha3-512': 0x14,\n 'shake-128': 0x18,\n 'shake-256': 0x19,\n 'keccak-224': 0x1A,\n 'keccak-256': 0x1B,\n 'keccak-384': 0x1C,\n 'keccak-512': 0x1D,\n 'murmur3-128': 0x22,\n 'murmur3-32': 0x23,\n 'md4': 0xd4,\n 'md5': 0xd5,\n 'blake2b-8': 0xb201,\n 'blake2b-16': 0xb202,\n 'blake2b-24': 0xb203,\n 'blake2b-32': 0xb204,\n 'blake2b-40': 0xb205,\n 'blake2b-48': 0xb206,\n 'blake2b-56': 0xb207,\n 'blake2b-64': 0xb208,\n 'blake2b-72': 0xb209,\n 'blake2b-80': 0xb20a,\n 'blake2b-88': 0xb20b,\n 'blake2b-96': 0xb20c,\n 'blake2b-104': 0xb20d,\n 'blake2b-112': 0xb20e,\n 'blake2b-120': 0xb20f,\n 'blake2b-128': 0xb210,\n 'blake2b-136': 0xb211,\n 'blake2b-144': 0xb212,\n 'blake2b-152': 0xb213,\n 'blake2b-160': 0xb214,\n 'blake2b-168': 0xb215,\n 'blake2b-176': 0xb216,\n 'blake2b-184': 0xb217,\n 'blake2b-192': 0xb218,\n 'blake2b-200': 0xb219,\n 'blake2b-208': 0xb21a,\n 'blake2b-216': 0xb21b,\n 'blake2b-224': 0xb21c,\n 'blake2b-232': 0xb21d,\n 'blake2b-240': 0xb21e,\n 'blake2b-248': 0xb21f,\n 'blake2b-256': 0xb220,\n 'blake2b-264': 0xb221,\n 'blake2b-272': 0xb222,\n 'blake2b-280': 0xb223,\n 'blake2b-288': 0xb224,\n 'blake2b-296': 0xb225,\n 'blake2b-304': 0xb226,\n 'blake2b-312': 0xb227,\n 'blake2b-320': 0xb228,\n 'blake2b-328': 0xb229,\n 'blake2b-336': 0xb22a,\n 'blake2b-344': 0xb22b,\n 'blake2b-352': 0xb22c,\n 'blake2b-360': 0xb22d,\n 'blake2b-368': 0xb22e,\n 'blake2b-376': 0xb22f,\n 'blake2b-384': 0xb230,\n 'blake2b-392': 0xb231,\n 'blake2b-400': 0xb232,\n 'blake2b-408': 0xb233,\n 'blake2b-416': 0xb234,\n 'blake2b-424': 0xb235,\n 'blake2b-432': 0xb236,\n 'blake2b-440': 0xb237,\n 'blake2b-448': 0xb238,\n 'blake2b-456': 0xb239,\n 'blake2b-464': 0xb23a,\n 'blake2b-472': 0xb23b,\n 'blake2b-480': 0xb23c,\n 'blake2b-488': 0xb23d,\n 'blake2b-496': 0xb23e,\n 'blake2b-504': 0xb23f,\n 'blake2b-512': 0xb240,\n 'blake2s-8': 0xb241,\n 'blake2s-16': 0xb242,\n 'blake2s-24': 0xb243,\n 'blake2s-32': 0xb244,\n 'blake2s-40': 0xb245,\n 'blake2s-48': 0xb246,\n 'blake2s-56': 0xb247,\n 'blake2s-64': 0xb248,\n 'blake2s-72': 0xb249,\n 'blake2s-80': 0xb24a,\n 'blake2s-88': 0xb24b,\n 'blake2s-96': 0xb24c,\n 'blake2s-104': 0xb24d,\n 'blake2s-112': 0xb24e,\n 'blake2s-120': 0xb24f,\n 'blake2s-128': 0xb250,\n 'blake2s-136': 0xb251,\n 'blake2s-144': 0xb252,\n 'blake2s-152': 0xb253,\n 'blake2s-160': 0xb254,\n 'blake2s-168': 0xb255,\n 'blake2s-176': 0xb256,\n 'blake2s-184': 0xb257,\n 'blake2s-192': 0xb258,\n 'blake2s-200': 0xb259,\n 'blake2s-208': 0xb25a,\n 'blake2s-216': 0xb25b,\n 'blake2s-224': 0xb25c,\n 'blake2s-232': 0xb25d,\n 'blake2s-240': 0xb25e,\n 'blake2s-248': 0xb25f,\n 'blake2s-256': 0xb260,\n 'Skein256-8': 0xb301,\n 'Skein256-16': 0xb302,\n 'Skein256-24': 0xb303,\n 'Skein256-32': 0xb304,\n 'Skein256-40': 0xb305,\n 'Skein256-48': 0xb306,\n 'Skein256-56': 0xb307,\n 'Skein256-64': 0xb308,\n 'Skein256-72': 0xb309,\n 'Skein256-80': 0xb30a,\n 'Skein256-88': 0xb30b,\n 'Skein256-96': 0xb30c,\n 'Skein256-104': 0xb30d,\n 'Skein256-112': 0xb30e,\n 'Skein256-120': 0xb30f,\n 'Skein256-128': 0xb310,\n 'Skein256-136': 0xb311,\n 'Skein256-144': 0xb312,\n 'Skein256-152': 0xb313,\n 'Skein256-160': 0xb314,\n 'Skein256-168': 0xb315,\n 'Skein256-176': 0xb316,\n 'Skein256-184': 0xb317,\n 'Skein256-192': 0xb318,\n 'Skein256-200': 0xb319,\n 'Skein256-208': 0xb31a,\n 'Skein256-216': 0xb31b,\n 'Skein256-224': 0xb31c,\n 'Skein256-232': 0xb31d,\n 'Skein256-240': 0xb31e,\n 'Skein256-248': 0xb31f,\n 'Skein256-256': 0xb320,\n 'Skein512-8': 0xb321,\n 'Skein512-16': 0xb322,\n 'Skein512-24': 0xb323,\n 'Skein512-32': 0xb324,\n 'Skein512-40': 0xb325,\n 'Skein512-48': 0xb326,\n 'Skein512-56': 0xb327,\n 'Skein512-64': 0xb328,\n 'Skein512-72': 0xb329,\n 'Skein512-80': 0xb32a,\n 'Skein512-88': 0xb32b,\n 'Skein512-96': 0xb32c,\n 'Skein512-104': 0xb32d,\n 'Skein512-112': 0xb32e,\n 'Skein512-120': 0xb32f,\n 'Skein512-128': 0xb330,\n 'Skein512-136': 0xb331,\n 'Skein512-144': 0xb332,\n 'Skein512-152': 0xb333,\n 'Skein512-160': 0xb334,\n 'Skein512-168': 0xb335,\n 'Skein512-176': 0xb336,\n 'Skein512-184': 0xb337,\n 'Skein512-192': 0xb338,\n 'Skein512-200': 0xb339,\n 'Skein512-208': 0xb33a,\n 'Skein512-216': 0xb33b,\n 'Skein512-224': 0xb33c,\n 'Skein512-232': 0xb33d,\n 'Skein512-240': 0xb33e,\n 'Skein512-248': 0xb33f,\n 'Skein512-256': 0xb340,\n 'Skein512-264': 0xb341,\n 'Skein512-272': 0xb342,\n 'Skein512-280': 0xb343,\n 'Skein512-288': 0xb344,\n 'Skein512-296': 0xb345,\n 'Skein512-304': 0xb346,\n 'Skein512-312': 0xb347,\n 'Skein512-320': 0xb348,\n 'Skein512-328': 0xb349,\n 'Skein512-336': 0xb34a,\n 'Skein512-344': 0xb34b,\n 'Skein512-352': 0xb34c,\n 'Skein512-360': 0xb34d,\n 'Skein512-368': 0xb34e,\n 'Skein512-376': 0xb34f,\n 'Skein512-384': 0xb350,\n 'Skein512-392': 0xb351,\n 'Skein512-400': 0xb352,\n 'Skein512-408': 0xb353,\n 'Skein512-416': 0xb354,\n 'Skein512-424': 0xb355,\n 'Skein512-432': 0xb356,\n 'Skein512-440': 0xb357,\n 'Skein512-448': 0xb358,\n 'Skein512-456': 0xb359,\n 'Skein512-464': 0xb35a,\n 'Skein512-472': 0xb35b,\n 'Skein512-480': 0xb35c,\n 'Skein512-488': 0xb35d,\n 'Skein512-496': 0xb35e,\n 'Skein512-504': 0xb35f,\n 'Skein512-512': 0xb360,\n 'Skein1024-8': 0xb361,\n 'Skein1024-16': 0xb362,\n 'Skein1024-24': 0xb363,\n 'Skein1024-32': 0xb364,\n 'Skein1024-40': 0xb365,\n 'Skein1024-48': 0xb366,\n 'Skein1024-56': 0xb367,\n 'Skein1024-64': 0xb368,\n 'Skein1024-72': 0xb369,\n 'Skein1024-80': 0xb36a,\n 'Skein1024-88': 0xb36b,\n 'Skein1024-96': 0xb36c,\n 'Skein1024-104': 0xb36d,\n 'Skein1024-112': 0xb36e,\n 'Skein1024-120': 0xb36f,\n 'Skein1024-128': 0xb370,\n 'Skein1024-136': 0xb371,\n 'Skein1024-144': 0xb372,\n 'Skein1024-152': 0xb373,\n 'Skein1024-160': 0xb374,\n 'Skein1024-168': 0xb375,\n 'Skein1024-176': 0xb376,\n 'Skein1024-184': 0xb377,\n 'Skein1024-192': 0xb378,\n 'Skein1024-200': 0xb379,\n 'Skein1024-208': 0xb37a,\n 'Skein1024-216': 0xb37b,\n 'Skein1024-224': 0xb37c,\n 'Skein1024-232': 0xb37d,\n 'Skein1024-240': 0xb37e,\n 'Skein1024-248': 0xb37f,\n 'Skein1024-256': 0xb380,\n 'Skein1024-264': 0xb381,\n 'Skein1024-272': 0xb382,\n 'Skein1024-280': 0xb383,\n 'Skein1024-288': 0xb384,\n 'Skein1024-296': 0xb385,\n 'Skein1024-304': 0xb386,\n 'Skein1024-312': 0xb387,\n 'Skein1024-320': 0xb388,\n 'Skein1024-328': 0xb389,\n 'Skein1024-336': 0xb38a,\n 'Skein1024-344': 0xb38b,\n 'Skein1024-352': 0xb38c,\n 'Skein1024-360': 0xb38d,\n 'Skein1024-368': 0xb38e,\n 'Skein1024-376': 0xb38f,\n 'Skein1024-384': 0xb390,\n 'Skein1024-392': 0xb391,\n 'Skein1024-400': 0xb392,\n 'Skein1024-408': 0xb393,\n 'Skein1024-416': 0xb394,\n 'Skein1024-424': 0xb395,\n 'Skein1024-432': 0xb396,\n 'Skein1024-440': 0xb397,\n 'Skein1024-448': 0xb398,\n 'Skein1024-456': 0xb399,\n 'Skein1024-464': 0xb39a,\n 'Skein1024-472': 0xb39b,\n 'Skein1024-480': 0xb39c,\n 'Skein1024-488': 0xb39d,\n 'Skein1024-496': 0xb39e,\n 'Skein1024-504': 0xb39f,\n 'Skein1024-512': 0xb3a0,\n 'Skein1024-520': 0xb3a1,\n 'Skein1024-528': 0xb3a2,\n 'Skein1024-536': 0xb3a3,\n 'Skein1024-544': 0xb3a4,\n 'Skein1024-552': 0xb3a5,\n 'Skein1024-560': 0xb3a6,\n 'Skein1024-568': 0xb3a7,\n 'Skein1024-576': 0xb3a8,\n 'Skein1024-584': 0xb3a9,\n 'Skein1024-592': 0xb3aa,\n 'Skein1024-600': 0xb3ab,\n 'Skein1024-608': 0xb3ac,\n 'Skein1024-616': 0xb3ad,\n 'Skein1024-624': 0xb3ae,\n 'Skein1024-632': 0xb3af,\n 'Skein1024-640': 0xb3b0,\n 'Skein1024-648': 0xb3b1,\n 'Skein1024-656': 0xb3b2,\n 'Skein1024-664': 0xb3b3,\n 'Skein1024-672': 0xb3b4,\n 'Skein1024-680': 0xb3b5,\n 'Skein1024-688': 0xb3b6,\n 'Skein1024-696': 0xb3b7,\n 'Skein1024-704': 0xb3b8,\n 'Skein1024-712': 0xb3b9,\n 'Skein1024-720': 0xb3ba,\n 'Skein1024-728': 0xb3bb,\n 'Skein1024-736': 0xb3bc,\n 'Skein1024-744': 0xb3bd,\n 'Skein1024-752': 0xb3be,\n 'Skein1024-760': 0xb3bf,\n 'Skein1024-768': 0xb3c0,\n 'Skein1024-776': 0xb3c1,\n 'Skein1024-784': 0xb3c2,\n 'Skein1024-792': 0xb3c3,\n 'Skein1024-800': 0xb3c4,\n 'Skein1024-808': 0xb3c5,\n 'Skein1024-816': 0xb3c6,\n 'Skein1024-824': 0xb3c7,\n 'Skein1024-832': 0xb3c8,\n 'Skein1024-840': 0xb3c9,\n 'Skein1024-848': 0xb3ca,\n 'Skein1024-856': 0xb3cb,\n 'Skein1024-864': 0xb3cc,\n 'Skein1024-872': 0xb3cd,\n 'Skein1024-880': 0xb3ce,\n 'Skein1024-888': 0xb3cf,\n 'Skein1024-896': 0xb3d0,\n 'Skein1024-904': 0xb3d1,\n 'Skein1024-912': 0xb3d2,\n 'Skein1024-920': 0xb3d3,\n 'Skein1024-928': 0xb3d4,\n 'Skein1024-936': 0xb3d5,\n 'Skein1024-944': 0xb3d6,\n 'Skein1024-952': 0xb3d7,\n 'Skein1024-960': 0xb3d8,\n 'Skein1024-968': 0xb3d9,\n 'Skein1024-976': 0xb3da,\n 'Skein1024-984': 0xb3db,\n 'Skein1024-992': 0xb3dc,\n 'Skein1024-1000': 0xb3dd,\n 'Skein1024-1008': 0xb3de,\n 'Skein1024-1016': 0xb3df,\n 'Skein1024-1024': 0xb3e0\n})\n\nexports.codes = Object.freeze({\n 0x0: 'identity',\n\n // sha family\n 0x11: 'sha1',\n 0x12: 'sha2-256',\n 0x13: 'sha2-512',\n 0x56: 'dbl-sha2-256',\n 0x17: 'sha3-224',\n 0x16: 'sha3-256',\n 0x15: 'sha3-384',\n 0x14: 'sha3-512',\n 0x18: 'shake-128',\n 0x19: 'shake-256',\n 0x1A: 'keccak-224',\n 0x1B: 'keccak-256',\n 0x1C: 'keccak-384',\n 0x1D: 'keccak-512',\n\n 0x22: 'murmur3-128',\n 0x23: 'murmur3-32',\n\n 0xd4: 'md4',\n 0xd5: 'md5',\n\n // blake2\n 0xb201: 'blake2b-8',\n 0xb202: 'blake2b-16',\n 0xb203: 'blake2b-24',\n 0xb204: 'blake2b-32',\n 0xb205: 'blake2b-40',\n 0xb206: 'blake2b-48',\n 0xb207: 'blake2b-56',\n 0xb208: 'blake2b-64',\n 0xb209: 'blake2b-72',\n 0xb20a: 'blake2b-80',\n 0xb20b: 'blake2b-88',\n 0xb20c: 'blake2b-96',\n 0xb20d: 'blake2b-104',\n 0xb20e: 'blake2b-112',\n 0xb20f: 'blake2b-120',\n 0xb210: 'blake2b-128',\n 0xb211: 'blake2b-136',\n 0xb212: 'blake2b-144',\n 0xb213: 'blake2b-152',\n 0xb214: 'blake2b-160',\n 0xb215: 'blake2b-168',\n 0xb216: 'blake2b-176',\n 0xb217: 'blake2b-184',\n 0xb218: 'blake2b-192',\n 0xb219: 'blake2b-200',\n 0xb21a: 'blake2b-208',\n 0xb21b: 'blake2b-216',\n 0xb21c: 'blake2b-224',\n 0xb21d: 'blake2b-232',\n 0xb21e: 'blake2b-240',\n 0xb21f: 'blake2b-248',\n 0xb220: 'blake2b-256',\n 0xb221: 'blake2b-264',\n 0xb222: 'blake2b-272',\n 0xb223: 'blake2b-280',\n 0xb224: 'blake2b-288',\n 0xb225: 'blake2b-296',\n 0xb226: 'blake2b-304',\n 0xb227: 'blake2b-312',\n 0xb228: 'blake2b-320',\n 0xb229: 'blake2b-328',\n 0xb22a: 'blake2b-336',\n 0xb22b: 'blake2b-344',\n 0xb22c: 'blake2b-352',\n 0xb22d: 'blake2b-360',\n 0xb22e: 'blake2b-368',\n 0xb22f: 'blake2b-376',\n 0xb230: 'blake2b-384',\n 0xb231: 'blake2b-392',\n 0xb232: 'blake2b-400',\n 0xb233: 'blake2b-408',\n 0xb234: 'blake2b-416',\n 0xb235: 'blake2b-424',\n 0xb236: 'blake2b-432',\n 0xb237: 'blake2b-440',\n 0xb238: 'blake2b-448',\n 0xb239: 'blake2b-456',\n 0xb23a: 'blake2b-464',\n 0xb23b: 'blake2b-472',\n 0xb23c: 'blake2b-480',\n 0xb23d: 'blake2b-488',\n 0xb23e: 'blake2b-496',\n 0xb23f: 'blake2b-504',\n 0xb240: 'blake2b-512',\n 0xb241: 'blake2s-8',\n 0xb242: 'blake2s-16',\n 0xb243: 'blake2s-24',\n 0xb244: 'blake2s-32',\n 0xb245: 'blake2s-40',\n 0xb246: 'blake2s-48',\n 0xb247: 'blake2s-56',\n 0xb248: 'blake2s-64',\n 0xb249: 'blake2s-72',\n 0xb24a: 'blake2s-80',\n 0xb24b: 'blake2s-88',\n 0xb24c: 'blake2s-96',\n 0xb24d: 'blake2s-104',\n 0xb24e: 'blake2s-112',\n 0xb24f: 'blake2s-120',\n 0xb250: 'blake2s-128',\n 0xb251: 'blake2s-136',\n 0xb252: 'blake2s-144',\n 0xb253: 'blake2s-152',\n 0xb254: 'blake2s-160',\n 0xb255: 'blake2s-168',\n 0xb256: 'blake2s-176',\n 0xb257: 'blake2s-184',\n 0xb258: 'blake2s-192',\n 0xb259: 'blake2s-200',\n 0xb25a: 'blake2s-208',\n 0xb25b: 'blake2s-216',\n 0xb25c: 'blake2s-224',\n 0xb25d: 'blake2s-232',\n 0xb25e: 'blake2s-240',\n 0xb25f: 'blake2s-248',\n 0xb260: 'blake2s-256',\n\n // skein\n 0xb301: 'Skein256-8',\n 0xb302: 'Skein256-16',\n 0xb303: 'Skein256-24',\n 0xb304: 'Skein256-32',\n 0xb305: 'Skein256-40',\n 0xb306: 'Skein256-48',\n 0xb307: 'Skein256-56',\n 0xb308: 'Skein256-64',\n 0xb309: 'Skein256-72',\n 0xb30a: 'Skein256-80',\n 0xb30b: 'Skein256-88',\n 0xb30c: 'Skein256-96',\n 0xb30d: 'Skein256-104',\n 0xb30e: 'Skein256-112',\n 0xb30f: 'Skein256-120',\n 0xb310: 'Skein256-128',\n 0xb311: 'Skein256-136',\n 0xb312: 'Skein256-144',\n 0xb313: 'Skein256-152',\n 0xb314: 'Skein256-160',\n 0xb315: 'Skein256-168',\n 0xb316: 'Skein256-176',\n 0xb317: 'Skein256-184',\n 0xb318: 'Skein256-192',\n 0xb319: 'Skein256-200',\n 0xb31a: 'Skein256-208',\n 0xb31b: 'Skein256-216',\n 0xb31c: 'Skein256-224',\n 0xb31d: 'Skein256-232',\n 0xb31e: 'Skein256-240',\n 0xb31f: 'Skein256-248',\n 0xb320: 'Skein256-256',\n 0xb321: 'Skein512-8',\n 0xb322: 'Skein512-16',\n 0xb323: 'Skein512-24',\n 0xb324: 'Skein512-32',\n 0xb325: 'Skein512-40',\n 0xb326: 'Skein512-48',\n 0xb327: 'Skein512-56',\n 0xb328: 'Skein512-64',\n 0xb329: 'Skein512-72',\n 0xb32a: 'Skein512-80',\n 0xb32b: 'Skein512-88',\n 0xb32c: 'Skein512-96',\n 0xb32d: 'Skein512-104',\n 0xb32e: 'Skein512-112',\n 0xb32f: 'Skein512-120',\n 0xb330: 'Skein512-128',\n 0xb331: 'Skein512-136',\n 0xb332: 'Skein512-144',\n 0xb333: 'Skein512-152',\n 0xb334: 'Skein512-160',\n 0xb335: 'Skein512-168',\n 0xb336: 'Skein512-176',\n 0xb337: 'Skein512-184',\n 0xb338: 'Skein512-192',\n 0xb339: 'Skein512-200',\n 0xb33a: 'Skein512-208',\n 0xb33b: 'Skein512-216',\n 0xb33c: 'Skein512-224',\n 0xb33d: 'Skein512-232',\n 0xb33e: 'Skein512-240',\n 0xb33f: 'Skein512-248',\n 0xb340: 'Skein512-256',\n 0xb341: 'Skein512-264',\n 0xb342: 'Skein512-272',\n 0xb343: 'Skein512-280',\n 0xb344: 'Skein512-288',\n 0xb345: 'Skein512-296',\n 0xb346: 'Skein512-304',\n 0xb347: 'Skein512-312',\n 0xb348: 'Skein512-320',\n 0xb349: 'Skein512-328',\n 0xb34a: 'Skein512-336',\n 0xb34b: 'Skein512-344',\n 0xb34c: 'Skein512-352',\n 0xb34d: 'Skein512-360',\n 0xb34e: 'Skein512-368',\n 0xb34f: 'Skein512-376',\n 0xb350: 'Skein512-384',\n 0xb351: 'Skein512-392',\n 0xb352: 'Skein512-400',\n 0xb353: 'Skein512-408',\n 0xb354: 'Skein512-416',\n 0xb355: 'Skein512-424',\n 0xb356: 'Skein512-432',\n 0xb357: 'Skein512-440',\n 0xb358: 'Skein512-448',\n 0xb359: 'Skein512-456',\n 0xb35a: 'Skein512-464',\n 0xb35b: 'Skein512-472',\n 0xb35c: 'Skein512-480',\n 0xb35d: 'Skein512-488',\n 0xb35e: 'Skein512-496',\n 0xb35f: 'Skein512-504',\n 0xb360: 'Skein512-512',\n 0xb361: 'Skein1024-8',\n 0xb362: 'Skein1024-16',\n 0xb363: 'Skein1024-24',\n 0xb364: 'Skein1024-32',\n 0xb365: 'Skein1024-40',\n 0xb366: 'Skein1024-48',\n 0xb367: 'Skein1024-56',\n 0xb368: 'Skein1024-64',\n 0xb369: 'Skein1024-72',\n 0xb36a: 'Skein1024-80',\n 0xb36b: 'Skein1024-88',\n 0xb36c: 'Skein1024-96',\n 0xb36d: 'Skein1024-104',\n 0xb36e: 'Skein1024-112',\n 0xb36f: 'Skein1024-120',\n 0xb370: 'Skein1024-128',\n 0xb371: 'Skein1024-136',\n 0xb372: 'Skein1024-144',\n 0xb373: 'Skein1024-152',\n 0xb374: 'Skein1024-160',\n 0xb375: 'Skein1024-168',\n 0xb376: 'Skein1024-176',\n 0xb377: 'Skein1024-184',\n 0xb378: 'Skein1024-192',\n 0xb379: 'Skein1024-200',\n 0xb37a: 'Skein1024-208',\n 0xb37b: 'Skein1024-216',\n 0xb37c: 'Skein1024-224',\n 0xb37d: 'Skein1024-232',\n 0xb37e: 'Skein1024-240',\n 0xb37f: 'Skein1024-248',\n 0xb380: 'Skein1024-256',\n 0xb381: 'Skein1024-264',\n 0xb382: 'Skein1024-272',\n 0xb383: 'Skein1024-280',\n 0xb384: 'Skein1024-288',\n 0xb385: 'Skein1024-296',\n 0xb386: 'Skein1024-304',\n 0xb387: 'Skein1024-312',\n 0xb388: 'Skein1024-320',\n 0xb389: 'Skein1024-328',\n 0xb38a: 'Skein1024-336',\n 0xb38b: 'Skein1024-344',\n 0xb38c: 'Skein1024-352',\n 0xb38d: 'Skein1024-360',\n 0xb38e: 'Skein1024-368',\n 0xb38f: 'Skein1024-376',\n 0xb390: 'Skein1024-384',\n 0xb391: 'Skein1024-392',\n 0xb392: 'Skein1024-400',\n 0xb393: 'Skein1024-408',\n 0xb394: 'Skein1024-416',\n 0xb395: 'Skein1024-424',\n 0xb396: 'Skein1024-432',\n 0xb397: 'Skein1024-440',\n 0xb398: 'Skein1024-448',\n 0xb399: 'Skein1024-456',\n 0xb39a: 'Skein1024-464',\n 0xb39b: 'Skein1024-472',\n 0xb39c: 'Skein1024-480',\n 0xb39d: 'Skein1024-488',\n 0xb39e: 'Skein1024-496',\n 0xb39f: 'Skein1024-504',\n 0xb3a0: 'Skein1024-512',\n 0xb3a1: 'Skein1024-520',\n 0xb3a2: 'Skein1024-528',\n 0xb3a3: 'Skein1024-536',\n 0xb3a4: 'Skein1024-544',\n 0xb3a5: 'Skein1024-552',\n 0xb3a6: 'Skein1024-560',\n 0xb3a7: 'Skein1024-568',\n 0xb3a8: 'Skein1024-576',\n 0xb3a9: 'Skein1024-584',\n 0xb3aa: 'Skein1024-592',\n 0xb3ab: 'Skein1024-600',\n 0xb3ac: 'Skein1024-608',\n 0xb3ad: 'Skein1024-616',\n 0xb3ae: 'Skein1024-624',\n 0xb3af: 'Skein1024-632',\n 0xb3b0: 'Skein1024-640',\n 0xb3b1: 'Skein1024-648',\n 0xb3b2: 'Skein1024-656',\n 0xb3b3: 'Skein1024-664',\n 0xb3b4: 'Skein1024-672',\n 0xb3b5: 'Skein1024-680',\n 0xb3b6: 'Skein1024-688',\n 0xb3b7: 'Skein1024-696',\n 0xb3b8: 'Skein1024-704',\n 0xb3b9: 'Skein1024-712',\n 0xb3ba: 'Skein1024-720',\n 0xb3bb: 'Skein1024-728',\n 0xb3bc: 'Skein1024-736',\n 0xb3bd: 'Skein1024-744',\n 0xb3be: 'Skein1024-752',\n 0xb3bf: 'Skein1024-760',\n 0xb3c0: 'Skein1024-768',\n 0xb3c1: 'Skein1024-776',\n 0xb3c2: 'Skein1024-784',\n 0xb3c3: 'Skein1024-792',\n 0xb3c4: 'Skein1024-800',\n 0xb3c5: 'Skein1024-808',\n 0xb3c6: 'Skein1024-816',\n 0xb3c7: 'Skein1024-824',\n 0xb3c8: 'Skein1024-832',\n 0xb3c9: 'Skein1024-840',\n 0xb3ca: 'Skein1024-848',\n 0xb3cb: 'Skein1024-856',\n 0xb3cc: 'Skein1024-864',\n 0xb3cd: 'Skein1024-872',\n 0xb3ce: 'Skein1024-880',\n 0xb3cf: 'Skein1024-888',\n 0xb3d0: 'Skein1024-896',\n 0xb3d1: 'Skein1024-904',\n 0xb3d2: 'Skein1024-912',\n 0xb3d3: 'Skein1024-920',\n 0xb3d4: 'Skein1024-928',\n 0xb3d5: 'Skein1024-936',\n 0xb3d6: 'Skein1024-944',\n 0xb3d7: 'Skein1024-952',\n 0xb3d8: 'Skein1024-960',\n 0xb3d9: 'Skein1024-968',\n 0xb3da: 'Skein1024-976',\n 0xb3db: 'Skein1024-984',\n 0xb3dc: 'Skein1024-992',\n 0xb3dd: 'Skein1024-1000',\n 0xb3de: 'Skein1024-1008',\n 0xb3df: 'Skein1024-1016',\n 0xb3e0: 'Skein1024-1024'\n})\n\nexports.defaultLengths = Object.freeze({\n 0x11: 20,\n 0x12: 32,\n 0x13: 64,\n 0x56: 32,\n 0x17: 28,\n 0x16: 32,\n 0x15: 48,\n 0x14: 64,\n 0x18: 32,\n 0x19: 64,\n 0x1A: 28,\n 0x1B: 32,\n 0x1C: 48,\n 0x1D: 64,\n 0x22: 32,\n\n 0xb201: 0x01,\n 0xb202: 0x02,\n 0xb203: 0x03,\n 0xb204: 0x04,\n 0xb205: 0x05,\n 0xb206: 0x06,\n 0xb207: 0x07,\n 0xb208: 0x08,\n 0xb209: 0x09,\n 0xb20a: 0x0a,\n 0xb20b: 0x0b,\n 0xb20c: 0x0c,\n 0xb20d: 0x0d,\n 0xb20e: 0x0e,\n 0xb20f: 0x0f,\n 0xb210: 0x10,\n 0xb211: 0x11,\n 0xb212: 0x12,\n 0xb213: 0x13,\n 0xb214: 0x14,\n 0xb215: 0x15,\n 0xb216: 0x16,\n 0xb217: 0x17,\n 0xb218: 0x18,\n 0xb219: 0x19,\n 0xb21a: 0x1a,\n 0xb21b: 0x1b,\n 0xb21c: 0x1c,\n 0xb21d: 0x1d,\n 0xb21e: 0x1e,\n 0xb21f: 0x1f,\n 0xb220: 0x20,\n 0xb221: 0x21,\n 0xb222: 0x22,\n 0xb223: 0x23,\n 0xb224: 0x24,\n 0xb225: 0x25,\n 0xb226: 0x26,\n 0xb227: 0x27,\n 0xb228: 0x28,\n 0xb229: 0x29,\n 0xb22a: 0x2a,\n 0xb22b: 0x2b,\n 0xb22c: 0x2c,\n 0xb22d: 0x2d,\n 0xb22e: 0x2e,\n 0xb22f: 0x2f,\n 0xb230: 0x30,\n 0xb231: 0x31,\n 0xb232: 0x32,\n 0xb233: 0x33,\n 0xb234: 0x34,\n 0xb235: 0x35,\n 0xb236: 0x36,\n 0xb237: 0x37,\n 0xb238: 0x38,\n 0xb239: 0x39,\n 0xb23a: 0x3a,\n 0xb23b: 0x3b,\n 0xb23c: 0x3c,\n 0xb23d: 0x3d,\n 0xb23e: 0x3e,\n 0xb23f: 0x3f,\n 0xb240: 0x40,\n 0xb241: 0x01,\n 0xb242: 0x02,\n 0xb243: 0x03,\n 0xb244: 0x04,\n 0xb245: 0x05,\n 0xb246: 0x06,\n 0xb247: 0x07,\n 0xb248: 0x08,\n 0xb249: 0x09,\n 0xb24a: 0x0a,\n 0xb24b: 0x0b,\n 0xb24c: 0x0c,\n 0xb24d: 0x0d,\n 0xb24e: 0x0e,\n 0xb24f: 0x0f,\n 0xb250: 0x10,\n 0xb251: 0x11,\n 0xb252: 0x12,\n 0xb253: 0x13,\n 0xb254: 0x14,\n 0xb255: 0x15,\n 0xb256: 0x16,\n 0xb257: 0x17,\n 0xb258: 0x18,\n 0xb259: 0x19,\n 0xb25a: 0x1a,\n 0xb25b: 0x1b,\n 0xb25c: 0x1c,\n 0xb25d: 0x1d,\n 0xb25e: 0x1e,\n 0xb25f: 0x1f,\n 0xb260: 0x20,\n 0xb301: 0x01,\n 0xb302: 0x02,\n 0xb303: 0x03,\n 0xb304: 0x04,\n 0xb305: 0x05,\n 0xb306: 0x06,\n 0xb307: 0x07,\n 0xb308: 0x08,\n 0xb309: 0x09,\n 0xb30a: 0x0a,\n 0xb30b: 0x0b,\n 0xb30c: 0x0c,\n 0xb30d: 0x0d,\n 0xb30e: 0x0e,\n 0xb30f: 0x0f,\n 0xb310: 0x10,\n 0xb311: 0x11,\n 0xb312: 0x12,\n 0xb313: 0x13,\n 0xb314: 0x14,\n 0xb315: 0x15,\n 0xb316: 0x16,\n 0xb317: 0x17,\n 0xb318: 0x18,\n 0xb319: 0x19,\n 0xb31a: 0x1a,\n 0xb31b: 0x1b,\n 0xb31c: 0x1c,\n 0xb31d: 0x1d,\n 0xb31e: 0x1e,\n 0xb31f: 0x1f,\n 0xb320: 0x20,\n 0xb321: 0x01,\n 0xb322: 0x02,\n 0xb323: 0x03,\n 0xb324: 0x04,\n 0xb325: 0x05,\n 0xb326: 0x06,\n 0xb327: 0x07,\n 0xb328: 0x08,\n 0xb329: 0x09,\n 0xb32a: 0x0a,\n 0xb32b: 0x0b,\n 0xb32c: 0x0c,\n 0xb32d: 0x0d,\n 0xb32e: 0x0e,\n 0xb32f: 0x0f,\n 0xb330: 0x10,\n 0xb331: 0x11,\n 0xb332: 0x12,\n 0xb333: 0x13,\n 0xb334: 0x14,\n 0xb335: 0x15,\n 0xb336: 0x16,\n 0xb337: 0x17,\n 0xb338: 0x18,\n 0xb339: 0x19,\n 0xb33a: 0x1a,\n 0xb33b: 0x1b,\n 0xb33c: 0x1c,\n 0xb33d: 0x1d,\n 0xb33e: 0x1e,\n 0xb33f: 0x1f,\n 0xb340: 0x20,\n 0xb341: 0x21,\n 0xb342: 0x22,\n 0xb343: 0x23,\n 0xb344: 0x24,\n 0xb345: 0x25,\n 0xb346: 0x26,\n 0xb347: 0x27,\n 0xb348: 0x28,\n 0xb349: 0x29,\n 0xb34a: 0x2a,\n 0xb34b: 0x2b,\n 0xb34c: 0x2c,\n 0xb34d: 0x2d,\n 0xb34e: 0x2e,\n 0xb34f: 0x2f,\n 0xb350: 0x30,\n 0xb351: 0x31,\n 0xb352: 0x32,\n 0xb353: 0x33,\n 0xb354: 0x34,\n 0xb355: 0x35,\n 0xb356: 0x36,\n 0xb357: 0x37,\n 0xb358: 0x38,\n 0xb359: 0x39,\n 0xb35a: 0x3a,\n 0xb35b: 0x3b,\n 0xb35c: 0x3c,\n 0xb35d: 0x3d,\n 0xb35e: 0x3e,\n 0xb35f: 0x3f,\n 0xb360: 0x40,\n 0xb361: 0x01,\n 0xb362: 0x02,\n 0xb363: 0x03,\n 0xb364: 0x04,\n 0xb365: 0x05,\n 0xb366: 0x06,\n 0xb367: 0x07,\n 0xb368: 0x08,\n 0xb369: 0x09,\n 0xb36a: 0x0a,\n 0xb36b: 0x0b,\n 0xb36c: 0x0c,\n 0xb36d: 0x0d,\n 0xb36e: 0x0e,\n 0xb36f: 0x0f,\n 0xb370: 0x10,\n 0xb371: 0x11,\n 0xb372: 0x12,\n 0xb373: 0x13,\n 0xb374: 0x14,\n 0xb375: 0x15,\n 0xb376: 0x16,\n 0xb377: 0x17,\n 0xb378: 0x18,\n 0xb379: 0x19,\n 0xb37a: 0x1a,\n 0xb37b: 0x1b,\n 0xb37c: 0x1c,\n 0xb37d: 0x1d,\n 0xb37e: 0x1e,\n 0xb37f: 0x1f,\n 0xb380: 0x20,\n 0xb381: 0x21,\n 0xb382: 0x22,\n 0xb383: 0x23,\n 0xb384: 0x24,\n 0xb385: 0x25,\n 0xb386: 0x26,\n 0xb387: 0x27,\n 0xb388: 0x28,\n 0xb389: 0x29,\n 0xb38a: 0x2a,\n 0xb38b: 0x2b,\n 0xb38c: 0x2c,\n 0xb38d: 0x2d,\n 0xb38e: 0x2e,\n 0xb38f: 0x2f,\n 0xb390: 0x30,\n 0xb391: 0x31,\n 0xb392: 0x32,\n 0xb393: 0x33,\n 0xb394: 0x34,\n 0xb395: 0x35,\n 0xb396: 0x36,\n 0xb397: 0x37,\n 0xb398: 0x38,\n 0xb399: 0x39,\n 0xb39a: 0x3a,\n 0xb39b: 0x3b,\n 0xb39c: 0x3c,\n 0xb39d: 0x3d,\n 0xb39e: 0x3e,\n 0xb39f: 0x3f,\n 0xb3a0: 0x40,\n 0xb3a1: 0x41,\n 0xb3a2: 0x42,\n 0xb3a3: 0x43,\n 0xb3a4: 0x44,\n 0xb3a5: 0x45,\n 0xb3a6: 0x46,\n 0xb3a7: 0x47,\n 0xb3a8: 0x48,\n 0xb3a9: 0x49,\n 0xb3aa: 0x4a,\n 0xb3ab: 0x4b,\n 0xb3ac: 0x4c,\n 0xb3ad: 0x4d,\n 0xb3ae: 0x4e,\n 0xb3af: 0x4f,\n 0xb3b0: 0x50,\n 0xb3b1: 0x51,\n 0xb3b2: 0x52,\n 0xb3b3: 0x53,\n 0xb3b4: 0x54,\n 0xb3b5: 0x55,\n 0xb3b6: 0x56,\n 0xb3b7: 0x57,\n 0xb3b8: 0x58,\n 0xb3b9: 0x59,\n 0xb3ba: 0x5a,\n 0xb3bb: 0x5b,\n 0xb3bc: 0x5c,\n 0xb3bd: 0x5d,\n 0xb3be: 0x5e,\n 0xb3bf: 0x5f,\n 0xb3c0: 0x60,\n 0xb3c1: 0x61,\n 0xb3c2: 0x62,\n 0xb3c3: 0x63,\n 0xb3c4: 0x64,\n 0xb3c5: 0x65,\n 0xb3c6: 0x66,\n 0xb3c7: 0x67,\n 0xb3c8: 0x68,\n 0xb3c9: 0x69,\n 0xb3ca: 0x6a,\n 0xb3cb: 0x6b,\n 0xb3cc: 0x6c,\n 0xb3cd: 0x6d,\n 0xb3ce: 0x6e,\n 0xb3cf: 0x6f,\n 0xb3d0: 0x70,\n 0xb3d1: 0x71,\n 0xb3d2: 0x72,\n 0xb3d3: 0x73,\n 0xb3d4: 0x74,\n 0xb3d5: 0x75,\n 0xb3d6: 0x76,\n 0xb3d7: 0x77,\n 0xb3d8: 0x78,\n 0xb3d9: 0x79,\n 0xb3da: 0x7a,\n 0xb3db: 0x7b,\n 0xb3dc: 0x7c,\n 0xb3dd: 0x7d,\n 0xb3de: 0x7e,\n 0xb3df: 0x7f,\n 0xb3e0: 0x80\n})\n","/**\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","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","/*\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","/*!\n * v2.1.4-104-gc868b3a\n * \n */\n(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(\"oboe\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"oboe\"] = factory();\n\telse\n\t\troot[\"oboe\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return partialComplete; });\n/* unused harmony export compose */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return compose2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return attr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return lazyUnion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return apply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return varArgs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return flip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return lazyIntersection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return always; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return functor; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n\n\n/**\n * Partially complete a function.\n *\n * var add3 = partialComplete( function add(a,b){return a+b}, 3 );\n *\n * add3(4) // gives 7\n *\n * function wrap(left, right, cen){return left + \" \" + cen + \" \" + right;}\n *\n * var pirateGreeting = partialComplete( wrap , \"I'm\", \", a mighty pirate!\" );\n *\n * pirateGreeting(\"Guybrush Threepwood\");\n * // gives \"I'm Guybrush Threepwood, a mighty pirate!\"\n */\nvar partialComplete = varArgs(function (fn, args) {\n // this isn't the shortest way to write this but it does\n // avoid creating a new array each time to pass to fn.apply,\n // otherwise could just call boundArgs.concat(callArgs)\n\n var numBoundArgs = args.length\n\n return varArgs(function (callArgs) {\n for (var i = 0; i < callArgs.length; i++) {\n args[numBoundArgs + i] = callArgs[i]\n }\n\n args.length = numBoundArgs + callArgs.length\n\n return fn.apply(this, args)\n })\n})\n\n/**\n* Compose zero or more functions:\n*\n* compose(f1, f2, f3)(x) = f1(f2(f3(x))))\n*\n* The last (inner-most) function may take more than one parameter:\n*\n* compose(f1, f2, f3)(x,y) = f1(f2(f3(x,y))))\n*/\nvar compose = varArgs(function (fns) {\n var fnsList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"c\" /* arrayAsList */])(fns)\n\n function next (params, curFn) {\n return [apply(params, curFn)]\n }\n\n return varArgs(function (startParams) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"f\" /* foldR */])(next, startParams, fnsList)[0]\n })\n})\n\n/**\n* A more optimised version of compose that takes exactly two functions\n* @param f1\n* @param f2\n*/\nfunction compose2 (f1, f2) {\n return function () {\n return f1.call(this, f2.apply(this, arguments))\n }\n}\n\n/**\n* Generic form for a function to get a property from an object\n*\n* var o = {\n* foo:'bar'\n* }\n*\n* var getFoo = attr('foo')\n*\n* fetFoo(o) // returns 'bar'\n*\n* @param {String} key the property name\n*/\nfunction attr (key) {\n return function (o) { return o[key] }\n}\n\n/**\n* Call a list of functions with the same args until one returns a\n* truthy result. Similar to the || operator.\n*\n* So:\n* lazyUnion([f1,f2,f3 ... fn])( p1, p2 ... pn )\n*\n* Is equivalent to:\n* apply([p1, p2 ... pn], f1) ||\n* apply([p1, p2 ... pn], f2) ||\n* apply([p1, p2 ... pn], f3) ... apply(fn, [p1, p2 ... pn])\n*\n* @returns the first return value that is given that is truthy.\n*/\nvar lazyUnion = varArgs(function (fns) {\n return varArgs(function (params) {\n var maybeValue\n\n for (var i = 0; i < attr('length')(fns); i++) {\n maybeValue = apply(params, fns[i])\n\n if (maybeValue) {\n return maybeValue\n }\n }\n })\n})\n\n/**\n* This file declares various pieces of functional programming.\n*\n* This isn't a general purpose functional library, to keep things small it\n* has just the parts useful for Oboe.js.\n*/\n\n/**\n* Call a single function with the given arguments array.\n* Basically, a functional-style version of the OO-style Function#apply for\n* when we don't care about the context ('this') of the call.\n*\n* The order of arguments allows partial completion of the arguments array\n*/\nfunction apply (args, fn) {\n return fn.apply(undefined, args)\n}\n\n/**\n* Define variable argument functions but cut out all that tedious messing about\n* with the arguments object. Delivers the variable-length part of the arguments\n* list as an array.\n*\n* Eg:\n*\n* var myFunction = varArgs(\n* function( fixedArgument, otherFixedArgument, variableNumberOfArguments ){\n* console.log( variableNumberOfArguments );\n* }\n* )\n*\n* myFunction('a', 'b', 1, 2, 3); // logs [1,2,3]\n*\n* var myOtherFunction = varArgs(function( variableNumberOfArguments ){\n* console.log( variableNumberOfArguments );\n* })\n*\n* myFunction(1, 2, 3); // logs [1,2,3]\n*\n*/\nfunction varArgs (fn) {\n var numberOfFixedArguments = fn.length - 1\n var slice = Array.prototype.slice\n\n if (numberOfFixedArguments === 0) {\n // an optimised case for when there are no fixed args:\n\n return function () {\n return fn.call(this, slice.call(arguments))\n }\n } else if (numberOfFixedArguments === 1) {\n // an optimised case for when there are is one fixed args:\n\n return function () {\n return fn.call(this, arguments[0], slice.call(arguments, 1))\n }\n }\n\n // general case\n\n // we know how many arguments fn will always take. Create a\n // fixed-size array to hold that many, to be re-used on\n // every call to the returned function\n var argsHolder = Array(fn.length)\n\n return function () {\n for (var i = 0; i < numberOfFixedArguments; i++) {\n argsHolder[i] = arguments[i]\n }\n\n argsHolder[numberOfFixedArguments] =\n slice.call(arguments, numberOfFixedArguments)\n\n return fn.apply(this, argsHolder)\n }\n}\n\n/**\n* Swap the order of parameters to a binary function\n*\n* A bit like this flip: http://zvon.org/other/haskell/Outputprelude/flip_f.html\n*/\nfunction flip (fn) {\n return function (a, b) {\n return fn(b, a)\n }\n}\n\n/**\n* Create a function which is the intersection of two other functions.\n*\n* Like the && operator, if the first is truthy, the second is never called,\n* otherwise the return value from the second is returned.\n*/\nfunction lazyIntersection (fn1, fn2) {\n return function (param) {\n return fn1(param) && fn2(param)\n }\n}\n\n/**\n* A function which does nothing\n*/\nfunction noop () { }\n\n/**\n* A function which is always happy\n*/\nfunction always () { return true }\n\n/**\n* Create a function which always returns the same\n* value\n*\n* var return3 = functor(3);\n*\n* return3() // gives 3\n* return3() // still gives 3\n* return3() // will always give 3\n*/\nfunction functor (val) {\n return function () {\n return val\n }\n}\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return cons; });\n/* unused harmony export emptyList */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return head; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return tail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return arrayAsList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return list; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return listAsArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return foldR; });\n/* unused harmony export foldR1 */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return without; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return all; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return applyEach; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return reverseList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return first; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n\n\n/**\n * Like cons in Lisp\n */\nfunction cons (x, xs) {\n /* Internally lists are linked 2-element Javascript arrays.\n\n Ideally the return here would be Object.freeze([x,xs])\n so that bugs related to mutation are found fast.\n However, cons is right on the critical path for\n performance and this slows oboe-mark down by\n ~25%. Under theoretical future JS engines that freeze more\n efficiently (possibly even use immutability to\n run faster) this should be considered for\n restoration.\n */\n\n return [x, xs]\n}\n\n/**\n * The empty list\n */\nvar emptyList = null\n\n/**\n * Get the head of a list.\n *\n * Ie, head(cons(a,b)) = a\n */\nvar head = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])(0)\n\n/**\n * Get the tail of a list.\n *\n * Ie, tail(cons(a,b)) = b\n */\nvar tail = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])(1)\n\n/**\n * Converts an array to a list\n *\n * asList([a,b,c])\n *\n * is equivalent to:\n *\n * cons(a, cons(b, cons(c, emptyList)))\n **/\nfunction arrayAsList (inputArray) {\n return reverseList(\n inputArray.reduce(\n Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"e\" /* flip */])(cons),\n emptyList\n )\n )\n}\n\n/**\n * A varargs version of arrayAsList. Works a bit like list\n * in LISP.\n *\n * list(a,b,c)\n *\n * is equivalent to:\n *\n * cons(a, cons(b, cons(c, emptyList)))\n */\nvar list = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"k\" /* varArgs */])(arrayAsList)\n\n/**\n * Convert a list back to a js native array\n */\nfunction listAsArray (list) {\n return foldR(function (arraySoFar, listItem) {\n arraySoFar.unshift(listItem)\n return arraySoFar\n }, [], list)\n}\n\n/**\n * Map a function over a list\n */\nfunction map (fn, list) {\n return list\n ? cons(fn(head(list)), map(fn, tail(list)))\n : emptyList\n}\n\n/**\n * foldR implementation. Reduce a list down to a single value.\n *\n * @pram {Function} fn (rightEval, curVal) -> result\n */\nfunction foldR (fn, startValue, list) {\n return list\n ? fn(foldR(fn, startValue, tail(list)), head(list))\n : startValue\n}\n\n/**\n * foldR implementation. Reduce a list down to a single value.\n *\n * @pram {Function} fn (rightEval, curVal) -> result\n */\nfunction foldR1 (fn, list) {\n return tail(list)\n ? fn(foldR1(fn, tail(list)), head(list))\n : head(list)\n}\n\n/**\n * Return a list like the one given but with the first instance equal\n * to item removed\n */\nfunction without (list, test, removedFn) {\n return withoutInner(list, removedFn || __WEBPACK_IMPORTED_MODULE_0__functional__[\"i\" /* noop */])\n\n function withoutInner (subList, removedFn) {\n return subList\n ? (test(head(subList))\n ? (removedFn(head(subList)), tail(subList))\n : cons(head(subList), withoutInner(tail(subList), removedFn))\n )\n : emptyList\n }\n}\n\n/**\n * Returns true if the given function holds for every item in\n * the list, false otherwise\n */\nfunction all (fn, list) {\n return !list ||\n (fn(head(list)) && all(fn, tail(list)))\n}\n\n/**\n * Call every function in a list of functions with the same arguments\n *\n * This doesn't make any sense if we're doing pure functional because\n * it doesn't return anything. Hence, this is only really useful if the\n * functions being called have side-effects.\n */\nfunction applyEach (fnList, args) {\n if (fnList) {\n head(fnList).apply(null, args)\n\n applyEach(tail(fnList), args)\n }\n}\n\n/**\n * Reverse the order of a list\n */\nfunction reverseList (list) {\n // js re-implementation of 3rd solution from:\n // http://www.haskell.org/haskellwiki/99_questions/Solutions/5\n function reverseInner (list, reversedAlready) {\n if (!list) {\n return reversedAlready\n }\n\n return reverseInner(tail(list), cons(head(list), reversedAlready))\n }\n\n return reverseInner(list, emptyList)\n}\n\nfunction first (test, list) {\n return list &&\n (test(head(list))\n ? head(list)\n : first(test, tail(list)))\n}\n\n\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return isOfType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return len; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return defined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return hasAllProperties; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n\n\n\n/**\n * This file defines some loosely associated syntactic sugar for\n * Javascript programming\n */\n\n/**\n * Returns true if the given candidate is of type T\n */\nfunction isOfType (T, maybeSomething) {\n return maybeSomething && maybeSomething.constructor === T\n}\n\nvar len = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"c\" /* attr */])('length')\nvar isString = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(isOfType, String)\n\n/**\n * I don't like saying this:\n *\n * foo !=== undefined\n *\n * because of the double-negative. I find this:\n *\n * defined(foo)\n *\n * easier to read.\n */\nfunction defined (value) {\n return value !== undefined\n}\n\n/**\n * Returns true if object o has a key named like every property in\n * the properties array. Will give false if any are missing, or if o\n * is not an object.\n */\nfunction hasAllProperties (fieldList, o) {\n return (o instanceof Object) &&\n Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"a\" /* all */])(function (field) {\n return (field in o)\n }, fieldList)\n}\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return NODE_OPENED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return NODE_CLOSED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return NODE_SWAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return NODE_DROP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return FAIL_EVENT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return ROOT_NODE_FOUND; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return ROOT_PATH_FOUND; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return HTTP_START; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return STREAM_DATA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return STREAM_END; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ABORTING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return SAX_KEY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return SAX_VALUE_OPEN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return SAX_VALUE_CLOSE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return errorReport; });\n/**\n * This file declares some constants to use as names for event types.\n */\n\n// the events which are never exported are kept as\n// the smallest possible representation, in numbers:\nvar _S = 1\n\n// fired whenever a new node starts in the JSON stream:\nvar NODE_OPENED = _S++\n\n// fired whenever a node closes in the JSON stream:\nvar NODE_CLOSED = _S++\n\n// called if a .node callback returns a value -\nvar NODE_SWAP = _S++\nvar NODE_DROP = _S++\n\nvar FAIL_EVENT = 'fail'\n\nvar ROOT_NODE_FOUND = _S++\nvar ROOT_PATH_FOUND = _S++\n\nvar HTTP_START = 'start'\nvar STREAM_DATA = 'data'\nvar STREAM_END = 'end'\nvar ABORTING = _S++\n\n// SAX events butchered from Clarinet\nvar SAX_KEY = _S++\nvar SAX_VALUE_OPEN = _S++\nvar SAX_VALUE_CLOSE = _S++\n\nfunction errorReport (statusCode, body, error) {\n try {\n var jsonBody = JSON.parse(body)\n } catch (e) { }\n\n return {\n statusCode: statusCode,\n body: body,\n jsonBody: jsonBody,\n thrown: error\n }\n}\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return namedNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return keyOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return nodeOf; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n\n\n/**\n * Get a new key->node mapping\n *\n * @param {String|Number} key\n * @param {Object|Array|String|Number|null} node a value found in the json\n */\nfunction namedNode (key, node) {\n return {key: key, node: node}\n}\n\n/** get the key of a namedNode */\nvar keyOf = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])('key')\n\n/** get the node from a namedNode */\nvar nodeOf = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])('node')\n\n\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return oboe; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__defaults__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__wire__ = __webpack_require__(9);\n\n\n\n\n\n\n// export public API\nfunction oboe (arg1) {\n // We use duck-typing to detect if the parameter given is a stream, with the\n // below list of parameters.\n // Unpipe and unshift would normally be present on a stream but this breaks\n // compatibility with Request streams.\n // See https://github.com/jimhigson/oboe.js/issues/65\n\n var nodeStreamMethodNames = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"h\" /* list */])('resume', 'pause', 'pipe')\n var isStream = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(\n __WEBPACK_IMPORTED_MODULE_2__util__[\"b\" /* hasAllProperties */],\n nodeStreamMethodNames\n )\n\n if (arg1) {\n if (isStream(arg1) || Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* isString */])(arg1)) {\n // simple version for GETs. Signature is:\n // oboe( url )\n // or, under node:\n // oboe( readableStream )\n return Object(__WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* applyDefaults */])(\n __WEBPACK_IMPORTED_MODULE_4__wire__[\"a\" /* wire */],\n arg1 // url\n )\n } else {\n // method signature is:\n // oboe({method:m, url:u, body:b, headers:{...}})\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__defaults__[\"a\" /* applyDefaults */])(\n __WEBPACK_IMPORTED_MODULE_4__wire__[\"a\" /* wire */],\n arg1.url,\n arg1.method,\n arg1.body,\n arg1.headers,\n arg1.withCredentials,\n arg1.cached\n )\n }\n } else {\n // wire up a no-AJAX, no-stream Oboe. Will have to have content\n // fed in externally and using .emit.\n return Object(__WEBPACK_IMPORTED_MODULE_4__wire__[\"a\" /* wire */])()\n }\n}\n\n/* oboe.drop is a special value. If a node callback returns this value the\n parsed node is deleted from the JSON\n */\noboe.drop = function () {\n return oboe.drop\n}\n\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return incrementalContentBuilder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ROOT_PATH; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ascent__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lists__ = __webpack_require__(1);\n\n\n\n\n\n/**\n * This file provides various listeners which can be used to build up\n * a changing ascent based on the callbacks provided by Clarinet. It listens\n * to the low-level events from Clarinet and emits higher-level ones.\n *\n * The building up is stateless so to track a JSON file\n * ascentManager.js is required to store the ascent state\n * between calls.\n */\n\n/**\n * A special value to use in the path list to represent the path 'to' a root\n * object (which doesn't really have any path). This prevents the need for\n * special-casing detection of the root object and allows it to be treated\n * like any other object. We might think of this as being similar to the\n * 'unnamed root' domain \".\", eg if I go to\n * http://en.wikipedia.org./wiki/En/Main_page the dot after 'org' deliminates\n * the unnamed root of the DNS.\n *\n * This is kept as an object to take advantage that in Javascript's OO objects\n * are guaranteed to be distinct, therefore no other object can possibly clash\n * with this one. Strings, numbers etc provide no such guarantee.\n **/\nvar ROOT_PATH = {}\n\n/**\n * Create a new set of handlers for clarinet's events, bound to the emit\n * function given.\n */\nfunction incrementalContentBuilder (oboeBus) {\n var emitNodeOpened = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"f\" /* NODE_OPENED */]).emit\n var emitNodeClosed = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"d\" /* NODE_CLOSED */]).emit\n var emitRootOpened = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"i\" /* ROOT_PATH_FOUND */]).emit\n var emitRootClosed = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"h\" /* ROOT_NODE_FOUND */]).emit\n\n function arrayIndicesAreKeys (possiblyInconsistentAscent, newDeepestNode) {\n /* for values in arrays we aren't pre-warned of the coming paths\n (Clarinet gives no call to onkey like it does for values in objects)\n so if we are in an array we need to create this path ourselves. The\n key will be len(parentNode) because array keys are always sequential\n numbers. */\n\n var parentNode = Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(possiblyInconsistentAscent))\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"c\" /* isOfType */])(Array, parentNode)\n ? keyFound(possiblyInconsistentAscent,\n Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"e\" /* len */])(parentNode),\n newDeepestNode\n )\n // nothing needed, return unchanged\n : possiblyInconsistentAscent\n }\n\n function nodeOpened (ascent, newDeepestNode) {\n if (!ascent) {\n // we discovered the root node,\n emitRootOpened(newDeepestNode)\n\n return keyFound(ascent, ROOT_PATH, newDeepestNode)\n }\n\n // we discovered a non-root node\n\n var arrayConsistentAscent = arrayIndicesAreKeys(ascent, newDeepestNode)\n var ancestorBranches = Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"l\" /* tail */])(arrayConsistentAscent)\n var previouslyUnmappedName = Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"a\" /* keyOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(arrayConsistentAscent))\n\n appendBuiltContent(\n ancestorBranches,\n previouslyUnmappedName,\n newDeepestNode\n )\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"d\" /* cons */])(\n Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"b\" /* namedNode */])(previouslyUnmappedName, newDeepestNode),\n ancestorBranches\n )\n }\n\n /**\n * Add a new value to the object we are building up to represent the\n * parsed JSON\n */\n function appendBuiltContent (ancestorBranches, key, node) {\n Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(ancestorBranches))[key] = node\n }\n\n /**\n * For when we find a new key in the json.\n *\n * @param {String|Number|Object} newDeepestName the key. If we are in an\n * array will be a number, otherwise a string. May take the special\n * value ROOT_PATH if the root node has just been found\n *\n * @param {String|Number|Object|Array|Null|undefined} [maybeNewDeepestNode]\n * usually this won't be known so can be undefined. Can't use null\n * to represent unknown because null is a valid value in JSON\n **/\n function keyFound (ascent, newDeepestName, maybeNewDeepestNode) {\n if (ascent) { // if not root\n // If we have the key but (unless adding to an array) no known value\n // yet. Put that key in the output but against no defined value:\n appendBuiltContent(ascent, newDeepestName, maybeNewDeepestNode)\n }\n\n var ascentWithNewPath = Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"d\" /* cons */])(\n Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"b\" /* namedNode */])(newDeepestName,\n maybeNewDeepestNode),\n ascent\n )\n\n emitNodeOpened(ascentWithNewPath)\n\n return ascentWithNewPath\n }\n\n /**\n * For when the current node ends.\n */\n function nodeClosed (ascent) {\n emitNodeClosed(ascent)\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"l\" /* tail */])(ascent) ||\n // If there are no nodes left in the ascent the root node\n // just closed. Emit a special event for this:\n emitRootClosed(Object(__WEBPACK_IMPORTED_MODULE_1__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__[\"g\" /* head */])(ascent)))\n }\n\n var contentBuilderHandlers = {}\n contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__[\"l\" /* SAX_VALUE_OPEN */]] = nodeOpened\n contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__[\"k\" /* SAX_VALUE_CLOSE */]] = nodeClosed\n contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__[\"j\" /* SAX_KEY */]] = keyFound\n return contentBuilderHandlers\n}\n\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__publicApi__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0__publicApi__[\"a\" /* oboe */]);\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return applyDefaults; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(2);\n\n\nfunction applyDefaults (passthrough, url, httpMethodName, body, headers, withCredentials, cached) {\n headers = headers\n // Shallow-clone the headers array. This allows it to be\n // modified without side effects to the caller. We don't\n // want to change objects that the user passes in.\n ? JSON.parse(JSON.stringify(headers))\n : {}\n\n if (body) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"d\" /* isString */])(body)) {\n // If the body is not a string, stringify it. This allows objects to\n // be given which will be sent as JSON.\n body = JSON.stringify(body)\n\n // Default Content-Type to JSON unless given otherwise.\n headers['Content-Type'] = headers['Content-Type'] || 'application/json'\n }\n headers['Content-Length'] = headers['Content-Length'] || body.length\n } else {\n body = null\n }\n\n // support cache busting like jQuery.ajax({cache:false})\n function modifiedUrl (baseUrl, cached) {\n if (cached === false) {\n if (baseUrl.indexOf('?') === -1) {\n baseUrl += '?'\n } else {\n baseUrl += '&'\n }\n\n baseUrl += '_=' + new Date().getTime()\n }\n return baseUrl\n }\n\n return passthrough(httpMethodName || 'GET', modifiedUrl(url, cached), body, headers, withCredentials || false)\n}\n\n\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return wire; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pubSub__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ascentManager__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__patternAdapter__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__jsonPath__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__instanceApi__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__libs_clarinet__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\n/**\n * This file sits just behind the API which is used to attain a new\n * Oboe instance. It creates the new components that are required\n * and introduces them to each other.\n */\n\nfunction wire (httpMethodName, contentSource, body, headers, withCredentials) {\n var oboeBus = Object(__WEBPACK_IMPORTED_MODULE_0__pubSub__[\"a\" /* pubSub */])()\n\n // Wire the input stream in if we are given a content source.\n // This will usually be the case. If not, the instance created\n // will have to be passed content from an external source.\n\n if (contentSource) {\n Object(__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__[\"b\" /* streamingHttp */])(oboeBus,\n Object(__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__[\"a\" /* httpTransport */])(),\n httpMethodName,\n contentSource,\n body,\n headers,\n withCredentials\n )\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_6__libs_clarinet__[\"a\" /* clarinet */])(oboeBus)\n\n Object(__WEBPACK_IMPORTED_MODULE_1__ascentManager__[\"a\" /* ascentManager */])(oboeBus, Object(__WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__[\"b\" /* incrementalContentBuilder */])(oboeBus))\n\n Object(__WEBPACK_IMPORTED_MODULE_3__patternAdapter__[\"a\" /* patternAdapter */])(oboeBus, __WEBPACK_IMPORTED_MODULE_4__jsonPath__[\"a\" /* jsonPathCompiler */])\n\n return Object(__WEBPACK_IMPORTED_MODULE_5__instanceApi__[\"a\" /* instanceApi */])(oboeBus, contentSource)\n}\n\n\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return pubSub; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n\n\n\n/**\n * pubSub is a curried interface for listening to and emitting\n * events.\n *\n * If we get a bus:\n *\n * var bus = pubSub();\n *\n * We can listen to event 'foo' like:\n *\n * bus('foo').on(myCallback)\n *\n * And emit event foo like:\n *\n * bus('foo').emit()\n *\n * or, with a parameter:\n *\n * bus('foo').emit('bar')\n *\n * All functions can be cached and don't need to be\n * bound. Ie:\n *\n * var fooEmitter = bus('foo').emit\n * fooEmitter('bar'); // emit an event\n * fooEmitter('baz'); // emit another\n *\n * There's also an uncurried[1] shortcut for .emit and .on:\n *\n * bus.on('foo', callback)\n * bus.emit('foo', 'bar')\n *\n * [1]: http://zvon.org/other/haskell/Outputprelude/uncurry_f.html\n */\nfunction pubSub () {\n var singles = {}\n var newListener = newSingle('newListener')\n var removeListener = newSingle('removeListener')\n\n function newSingle (eventName) {\n singles[eventName] = Object(__WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__[\"a\" /* singleEventPubSub */])(\n eventName,\n newListener,\n removeListener\n )\n return singles[eventName]\n }\n\n /** pubSub instances are functions */\n function pubSubInstance (eventName) {\n return singles[eventName] || newSingle(eventName)\n }\n\n // add convenience EventEmitter-style uncurried form of 'emit' and 'on'\n ['emit', 'on', 'un'].forEach(function (methodName) {\n pubSubInstance[methodName] = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"k\" /* varArgs */])(function (eventName, parameters) {\n Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"b\" /* apply */])(parameters, pubSubInstance(eventName)[methodName])\n })\n })\n\n return pubSubInstance\n}\n\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return singleEventPubSub; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__functional__ = __webpack_require__(0);\n\n\n\n\n/**\n * A pub/sub which is responsible for a single event type. A\n * multi-event type event bus is created by pubSub by collecting\n * several of these.\n *\n * @param {String} eventType\n * the name of the events managed by this singleEventPubSub\n * @param {singleEventPubSub} [newListener]\n * place to notify of new listeners\n * @param {singleEventPubSub} [removeListener]\n * place to notify of when listeners are removed\n */\nfunction singleEventPubSub (eventType, newListener, removeListener) {\n /** we are optimised for emitting events over firing them.\n * As well as the tuple list which stores event ids and\n * listeners there is a list with just the listeners which\n * can be iterated more quickly when we are emitting\n */\n var listenerTupleList,\n listenerList\n\n function hasId (id) {\n return function (tuple) {\n return tuple.id === id\n }\n }\n\n return {\n\n /**\n * @param {Function} listener\n * @param {*} listenerId\n * an id that this listener can later by removed by.\n * Can be of any type, to be compared to other ids using ==\n */\n on: function (listener, listenerId) {\n var tuple = {\n listener: listener,\n id: listenerId || listener // when no id is given use the\n // listener function as the id\n }\n\n if (newListener) {\n newListener.emit(eventType, listener, tuple.id)\n }\n\n listenerTupleList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"d\" /* cons */])(tuple, listenerTupleList)\n listenerList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"d\" /* cons */])(listener, listenerList)\n\n return this // chaining\n },\n\n emit: function () {\n Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"b\" /* applyEach */])(listenerList, arguments)\n },\n\n un: function (listenerId) {\n var removed\n\n listenerTupleList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"m\" /* without */])(\n listenerTupleList,\n hasId(listenerId),\n function (tuple) {\n removed = tuple\n }\n )\n\n if (removed) {\n listenerList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"m\" /* without */])(listenerList, function (listener) {\n return listener === removed.listener\n })\n\n if (removeListener) {\n removeListener.emit(eventType, removed.listener, removed.id)\n }\n }\n },\n\n listeners: function () {\n // differs from Node EventEmitter: returns list, not array\n return listenerList\n },\n\n hasListener: function (listenerId) {\n var test = listenerId ? hasId(listenerId) : __WEBPACK_IMPORTED_MODULE_2__functional__[\"a\" /* always */]\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"a\" /* defined */])(Object(__WEBPACK_IMPORTED_MODULE_0__lists__[\"e\" /* first */])(test, listenerTupleList))\n }\n }\n}\n\n\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ascentManager; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascent__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lists__ = __webpack_require__(1);\n\n\n\n/**\n * A bridge used to assign stateless functions to listen to clarinet.\n *\n * As well as the parameter from clarinet, each callback will also be passed\n * the result of the last callback.\n *\n * This may also be used to clear all listeners by assigning zero handlers:\n *\n * ascentManager( clarinet, {} )\n */\nfunction ascentManager (oboeBus, handlers) {\n 'use strict'\n\n var listenerId = {}\n var ascent\n\n function stateAfter (handler) {\n return function (param) {\n ascent = handler(ascent, param)\n }\n }\n\n for (var eventName in handlers) {\n oboeBus(eventName).on(stateAfter(handlers[eventName]), listenerId)\n }\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"g\" /* NODE_SWAP */]).on(function (newNode) {\n var oldHead = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ascent)\n var key = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"a\" /* keyOf */])(oldHead)\n var ancestors = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"l\" /* tail */])(ascent)\n var parentNode\n\n if (ancestors) {\n parentNode = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ancestors))\n parentNode[key] = newNode\n }\n })\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"e\" /* NODE_DROP */]).on(function () {\n var oldHead = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ascent)\n var key = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"a\" /* keyOf */])(oldHead)\n var ancestors = Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"l\" /* tail */])(ascent)\n var parentNode\n\n if (ancestors) {\n parentNode = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__[\"c\" /* nodeOf */])(Object(__WEBPACK_IMPORTED_MODULE_2__lists__[\"g\" /* head */])(ancestors))\n\n delete parentNode[key]\n }\n })\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* ABORTING */]).on(function () {\n for (var eventName in handlers) {\n oboeBus(eventName).un(listenerId)\n }\n })\n}\n\n\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return patternAdapter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ascent__ = __webpack_require__(4);\n\n\n\n\n/**\n * The pattern adaptor listens for newListener and removeListener\n * events. When patterns are added or removed it compiles the JSONPath\n * and wires them up.\n *\n * When nodes and paths are found it emits the fully-qualified match\n * events with parameters ready to ship to the outside world\n */\n\nfunction patternAdapter (oboeBus, jsonPathCompiler) {\n var predicateEventMap = {\n node: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"d\" /* NODE_CLOSED */]),\n path: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"f\" /* NODE_OPENED */])\n }\n\n function emitMatchingNode (emitMatch, node, ascent) {\n /*\n We're now calling to the outside world where Lisp-style\n lists will not be familiar. Convert to standard arrays.\n\n Also, reverse the order because it is more common to\n list paths \"root to leaf\" than \"leaf to root\" */\n var descent = Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"k\" /* reverseList */])(ascent)\n\n emitMatch(\n node,\n\n // To make a path, strip off the last item which is the special\n // ROOT_PATH token for the 'path' to the root node\n Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"i\" /* listAsArray */])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"l\" /* tail */])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"j\" /* map */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"a\" /* keyOf */], descent))), // path\n Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"i\" /* listAsArray */])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"j\" /* map */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"c\" /* nodeOf */], descent)) // ancestors\n )\n }\n\n /*\n * Set up the catching of events such as NODE_CLOSED and NODE_OPENED and, if\n * matching the specified pattern, propagate to pattern-match events such as\n * oboeBus('node:!')\n *\n *\n *\n * @param {Function} predicateEvent\n * either oboeBus(NODE_CLOSED) or oboeBus(NODE_OPENED).\n * @param {Function} compiledJsonPath\n */\n function addUnderlyingListener (fullEventName, predicateEvent, compiledJsonPath) {\n var emitMatch = oboeBus(fullEventName).emit\n\n predicateEvent.on(function (ascent) {\n var maybeMatchingMapping = compiledJsonPath(ascent)\n\n /* Possible values for maybeMatchingMapping are now:\n\n false:\n we did not match\n\n an object/array/string/number/null:\n we matched and have the node that matched.\n Because nulls are valid json values this can be null.\n\n undefined:\n we matched but don't have the matching node yet.\n ie, we know there is an upcoming node that matches but we\n can't say anything else about it.\n */\n if (maybeMatchingMapping !== false) {\n emitMatchingNode(\n emitMatch,\n Object(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"c\" /* nodeOf */])(maybeMatchingMapping),\n ascent\n )\n }\n }, fullEventName)\n\n oboeBus('removeListener').on(function (removedEventName) {\n // if the fully qualified match event listener is later removed, clean up\n // by removing the underlying listener if it was the last using that pattern:\n\n if (removedEventName === fullEventName) {\n if (!oboeBus(removedEventName).listeners()) {\n predicateEvent.un(fullEventName)\n }\n }\n })\n }\n\n oboeBus('newListener').on(function (fullEventName) {\n var match = /(node|path):(.*)/.exec(fullEventName)\n\n if (match) {\n var predicateEvent = predicateEventMap[match[1]]\n\n if (!predicateEvent.hasListener(fullEventName)) {\n addUnderlyingListener(\n fullEventName,\n predicateEvent,\n jsonPathCompiler(match[2])\n )\n }\n }\n })\n}\n\n\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return jsonPathCompiler; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lists__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ascent__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__ = __webpack_require__(15);\n\n\n\n\n\n\n\n/**\n * The jsonPath evaluator compiler used for Oboe.js.\n *\n * One function is exposed. This function takes a String JSONPath spec and\n * returns a function to test candidate ascents for matches.\n *\n * String jsonPath -> (List ascent) -> Boolean|Object\n *\n * This file is coded in a pure functional style. That is, no function has\n * side effects, every function evaluates to the same value for the same\n * arguments and no variables are reassigned.\n */\n// the call to jsonPathSyntax injects the token syntaxes that are needed\n// inside the compiler\nvar jsonPathCompiler = Object(__WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__[\"a\" /* jsonPathSyntax */])(function (pathNodeSyntax,\n doubleDotSyntax,\n dotSyntax,\n bangSyntax,\n emptySyntax) {\n var CAPTURING_INDEX = 1\n var NAME_INDEX = 2\n var FIELD_LIST_INDEX = 3\n\n var headKey = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"a\" /* keyOf */], __WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])\n var headNode = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(__WEBPACK_IMPORTED_MODULE_2__ascent__[\"c\" /* nodeOf */], __WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])\n\n /**\n * Create an evaluator function for a named path node, expressed in the\n * JSONPath like:\n * foo\n * [\"bar\"]\n * [2]\n */\n function nameClause (previousExpr, detection) {\n var name = detection[NAME_INDEX]\n\n var matchesName = (!name || name === '*')\n ? __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]\n : function (ascent) { return String(headKey(ascent)) === name }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(matchesName, previousExpr)\n }\n\n /**\n * Create an evaluator function for a a duck-typed node, expressed like:\n *\n * {spin, taste, colour}\n * .particle{spin, taste, colour}\n * *{spin, taste, colour}\n */\n function duckTypeClause (previousExpr, detection) {\n var fieldListStr = detection[FIELD_LIST_INDEX]\n\n if (!fieldListStr) { return previousExpr } // don't wrap at all, return given expr as-is\n\n var hasAllrequiredFields = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"j\" /* partialComplete */])(\n __WEBPACK_IMPORTED_MODULE_3__util__[\"b\" /* hasAllProperties */],\n Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"c\" /* arrayAsList */])(fieldListStr.split(/\\W+/))\n )\n\n var isMatch = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(\n hasAllrequiredFields,\n headNode\n )\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(isMatch, previousExpr)\n }\n\n /**\n * Expression for $, returns the evaluator function\n */\n function capture (previousExpr, detection) {\n // extract meaning from the detection\n var capturing = !!detection[CAPTURING_INDEX]\n\n if (!capturing) { return previousExpr } // don't wrap at all, return given expr as-is\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(previousExpr, __WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])\n }\n\n /**\n * Create an evaluator function that moves onto the next item on the\n * lists. This function is the place where the logic to move up a\n * level in the ascent exists.\n *\n * Eg, for JSONPath \".foo\" we need skip1(nameClause(always, [,'foo']))\n */\n function skip1 (previousExpr) {\n if (previousExpr === __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]) {\n /* If there is no previous expression this consume command\n is at the start of the jsonPath.\n Since JSONPath specifies what we'd like to find but not\n necessarily everything leading down to it, when running\n out of JSONPath to check against we default to true */\n return __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]\n }\n\n /** return true if the ascent we have contains only the JSON root,\n * false otherwise\n */\n function notAtRoot (ascent) {\n return headKey(ascent) !== __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__[\"a\" /* ROOT_PATH */]\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"g\" /* lazyIntersection */])(\n /* If we're already at the root but there are more\n expressions to satisfy, can't consume any more. No match.\n\n This check is why none of the other exprs have to be able\n to handle empty lists; skip1 is the only evaluator that\n moves onto the next token and it refuses to do so once it\n reaches the last item in the list. */\n notAtRoot,\n\n /* We are not at the root of the ascent yet.\n Move to the next level of the ascent by handing only\n the tail to the previous expression */\n Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"d\" /* compose2 */])(previousExpr, __WEBPACK_IMPORTED_MODULE_1__lists__[\"l\" /* tail */])\n )\n }\n\n /**\n * Create an evaluator function for the .. (double dot) token. Consumes\n * zero or more levels of the ascent, the fewest that are required to find\n * a match when given to previousExpr.\n */\n function skipMany (previousExpr) {\n if (previousExpr === __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]) {\n /* If there is no previous expression this consume command\n is at the start of the jsonPath.\n Since JSONPath specifies what we'd like to find but not\n necessarily everything leading down to it, when running\n out of JSONPath to check against we default to true */\n return __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */]\n }\n\n // In JSONPath .. is equivalent to !.. so if .. reaches the root\n // the match has succeeded. Ie, we might write ..foo or !..foo\n // and both should match identically.\n var terminalCaseWhenArrivingAtRoot = rootExpr()\n var terminalCaseWhenPreviousExpressionIsSatisfied = previousExpr\n var recursiveCase = skip1(function (ascent) {\n return cases(ascent)\n })\n\n var cases = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"h\" /* lazyUnion */])(\n terminalCaseWhenArrivingAtRoot\n , terminalCaseWhenPreviousExpressionIsSatisfied\n , recursiveCase\n )\n\n return cases\n }\n\n /**\n * Generate an evaluator for ! - matches only the root element of the json\n * and ignores any previous expressions since nothing may precede !.\n */\n function rootExpr () {\n return function (ascent) {\n return headKey(ascent) === __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__[\"a\" /* ROOT_PATH */]\n }\n }\n\n /**\n * Generate a statement wrapper to sit around the outermost\n * clause evaluator.\n *\n * Handles the case where the capturing is implicit because the JSONPath\n * did not contain a '$' by returning the last node.\n */\n function statementExpr (lastClause) {\n return function (ascent) {\n // kick off the evaluation by passing through to the last clause\n var exprMatch = lastClause(ascent)\n\n return exprMatch === true ? Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"g\" /* head */])(ascent) : exprMatch\n }\n }\n\n /**\n * For when a token has been found in the JSONPath input.\n * Compiles the parser for that token and returns in combination with the\n * parser already generated.\n *\n * @param {Function} exprs a list of the clause evaluator generators for\n * the token that was found\n * @param {Function} parserGeneratedSoFar the parser already found\n * @param {Array} detection the match given by the regex engine when\n * the feature was found\n */\n function expressionsReader (exprs, parserGeneratedSoFar, detection) {\n // if exprs is zero-length foldR will pass back the\n // parserGeneratedSoFar as-is so we don't need to treat\n // this as a special case\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"f\" /* foldR */])(\n function (parserGeneratedSoFar, expr) {\n return expr(parserGeneratedSoFar, detection)\n },\n parserGeneratedSoFar,\n exprs\n )\n }\n\n /**\n * If jsonPath matches the given detector function, creates a function which\n * evaluates against every clause in the clauseEvaluatorGenerators. The\n * created function is propagated to the onSuccess function, along with\n * the remaining unparsed JSONPath substring.\n *\n * The intended use is to create a clauseMatcher by filling in\n * the first two arguments, thus providing a function that knows\n * some syntax to match and what kind of generator to create if it\n * finds it. The parameter list once completed is:\n *\n * (jsonPath, parserGeneratedSoFar, onSuccess)\n *\n * onSuccess may be compileJsonPathToFunction, to recursively continue\n * parsing after finding a match or returnFoundParser to stop here.\n */\n function generateClauseReaderIfTokenFound (\n\n tokenDetector, clauseEvaluatorGenerators,\n\n jsonPath, parserGeneratedSoFar, onSuccess) {\n var detected = tokenDetector(jsonPath)\n\n if (detected) {\n var compiledParser = expressionsReader(\n clauseEvaluatorGenerators,\n parserGeneratedSoFar,\n detected\n )\n\n var remainingUnparsedJsonPath = jsonPath.substr(Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"e\" /* len */])(detected[0]))\n\n return onSuccess(remainingUnparsedJsonPath, compiledParser)\n }\n }\n\n /**\n * Partially completes generateClauseReaderIfTokenFound above.\n */\n function clauseMatcher (tokenDetector, exprs) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"j\" /* partialComplete */])(\n generateClauseReaderIfTokenFound,\n tokenDetector,\n exprs\n )\n }\n\n /**\n * clauseForJsonPath is a function which attempts to match against\n * several clause matchers in order until one matches. If non match the\n * jsonPath expression is invalid and an error is thrown.\n *\n * The parameter list is the same as a single clauseMatcher:\n *\n * (jsonPath, parserGeneratedSoFar, onSuccess)\n */\n var clauseForJsonPath = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"h\" /* lazyUnion */])(\n\n clauseMatcher(pathNodeSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(capture,\n duckTypeClause,\n nameClause,\n skip1))\n\n , clauseMatcher(doubleDotSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(skipMany))\n\n // dot is a separator only (like whitespace in other languages) but\n // rather than make it a special case, use an empty list of\n // expressions when this token is found\n , clauseMatcher(dotSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])())\n\n , clauseMatcher(bangSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(capture,\n rootExpr))\n\n , clauseMatcher(emptySyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__[\"h\" /* list */])(statementExpr))\n\n , function (jsonPath) {\n throw Error('\"' + jsonPath + '\" could not be tokenised')\n }\n )\n\n /**\n * One of two possible values for the onSuccess argument of\n * generateClauseReaderIfTokenFound.\n *\n * When this function is used, generateClauseReaderIfTokenFound simply\n * returns the compiledParser that it made, regardless of if there is\n * any remaining jsonPath to be compiled.\n */\n function returnFoundParser (_remainingJsonPath, compiledParser) {\n return compiledParser\n }\n\n /**\n * Recursively compile a JSONPath expression.\n *\n * This function serves as one of two possible values for the onSuccess\n * argument of generateClauseReaderIfTokenFound, meaning continue to\n * recursively compile. Otherwise, returnFoundParser is given and\n * compilation terminates.\n */\n function compileJsonPathToFunction (uncompiledJsonPath,\n parserGeneratedSoFar) {\n /**\n * On finding a match, if there is remaining text to be compiled\n * we want to either continue parsing using a recursive call to\n * compileJsonPathToFunction. Otherwise, we want to stop and return\n * the parser that we have found so far.\n */\n var onFind = uncompiledJsonPath\n ? compileJsonPathToFunction\n : returnFoundParser\n\n return clauseForJsonPath(\n uncompiledJsonPath,\n parserGeneratedSoFar,\n onFind\n )\n }\n\n /**\n * This is the function that we expose to the rest of the library.\n */\n return function (jsonPath) {\n try {\n // Kick off the recursive parsing of the jsonPath\n return compileJsonPathToFunction(jsonPath, __WEBPACK_IMPORTED_MODULE_0__functional__[\"a\" /* always */])\n } catch (e) {\n throw Error('Could not compile \"' + jsonPath +\n '\" because ' + e.message\n )\n }\n }\n})\n\n\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return jsonPathSyntax; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0);\n\n\nvar jsonPathSyntax = (function () {\n /**\n * Export a regular expression as a simple function by exposing just\n * the Regex#exec. This allows regex tests to be used under the same\n * interface as differently implemented tests, or for a user of the\n * tests to not concern themselves with their implementation as regular\n * expressions.\n *\n * This could also be expressed point-free as:\n * Function.prototype.bind.bind(RegExp.prototype.exec),\n *\n * But that's far too confusing! (and not even smaller once minified\n * and gzipped)\n */\n var regexDescriptor = function regexDescriptor (regex) {\n return regex.exec.bind(regex)\n }\n\n /**\n * Join several regular expressions and express as a function.\n * This allows the token patterns to reuse component regular expressions\n * instead of being expressed in full using huge and confusing regular\n * expressions.\n */\n var jsonPathClause = Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"k\" /* varArgs */])(function (componentRegexes) {\n // The regular expressions all start with ^ because we\n // only want to find matches at the start of the\n // JSONPath fragment we are inspecting\n componentRegexes.unshift(/^/)\n\n return regexDescriptor(\n RegExp(\n componentRegexes.map(Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"c\" /* attr */])('source')).join('')\n )\n )\n })\n\n var possiblyCapturing = /(\\$?)/\n var namedNode = /([\\w-_]+|\\*)/\n var namePlaceholder = /()/\n var nodeInArrayNotation = /\\[\"([^\"]+)\"\\]/\n var numberedNodeInArrayNotation = /\\[(\\d+|\\*)\\]/\n var fieldList = /{([\\w ]*?)}/\n var optionalFieldList = /(?:{([\\w ]*?)})?/\n\n // foo or *\n var jsonPathNamedNodeInObjectNotation = jsonPathClause(\n possiblyCapturing,\n namedNode,\n optionalFieldList\n )\n\n // [\"foo\"]\n var jsonPathNamedNodeInArrayNotation = jsonPathClause(\n possiblyCapturing,\n nodeInArrayNotation,\n optionalFieldList\n )\n\n // [2] or [*]\n var jsonPathNumberedNodeInArrayNotation = jsonPathClause(\n possiblyCapturing,\n numberedNodeInArrayNotation,\n optionalFieldList\n )\n\n // {a b c}\n var jsonPathPureDuckTyping = jsonPathClause(\n possiblyCapturing,\n namePlaceholder,\n fieldList\n )\n\n // ..\n var jsonPathDoubleDot = jsonPathClause(/\\.\\./)\n\n // .\n var jsonPathDot = jsonPathClause(/\\./)\n\n // !\n var jsonPathBang = jsonPathClause(\n possiblyCapturing,\n /!/\n )\n\n // nada!\n var emptyString = jsonPathClause(/$/)\n\n /* We export only a single function. When called, this function injects\n into another function the descriptors from above.\n */\n return function (fn) {\n return fn(\n Object(__WEBPACK_IMPORTED_MODULE_0__functional__[\"h\" /* lazyUnion */])(\n jsonPathNamedNodeInObjectNotation\n , jsonPathNamedNodeInArrayNotation\n , jsonPathNumberedNodeInArrayNotation\n , jsonPathPureDuckTyping\n )\n , jsonPathDoubleDot\n , jsonPathDot\n , jsonPathBang\n , emptyString\n )\n }\n}())\n\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return instanceApi; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__publicApi__ = __webpack_require__(5);\n\n\n\n\n\n/**\n * The instance API is the thing that is returned when oboe() is called.\n * it allows:\n *\n * - listeners for various events to be added and removed\n * - the http response header/headers to be read\n */\nfunction instanceApi (oboeBus, contentSource) {\n var oboeApi\n var fullyQualifiedNamePattern = /^(node|path):./\n var rootNodeFinishedEvent = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"h\" /* ROOT_NODE_FOUND */])\n var emitNodeDrop = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"e\" /* NODE_DROP */]).emit\n var emitNodeSwap = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"g\" /* NODE_SWAP */]).emit\n\n /**\n * Add any kind of listener that the instance api exposes\n */\n var addListener = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"k\" /* varArgs */])(function (eventId, parameters) {\n if (oboeApi[eventId]) {\n // for events added as .on(event, callback), if there is a\n // .event() equivalent with special behaviour , pass through\n // to that:\n Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"b\" /* apply */])(parameters, oboeApi[eventId])\n } else {\n // we have a standard Node.js EventEmitter 2-argument call.\n // The first parameter is the listener.\n var event = oboeBus(eventId)\n var listener = parameters[0]\n\n if (fullyQualifiedNamePattern.test(eventId)) {\n // allow fully-qualified node/path listeners\n // to be added\n addForgettableCallback(event, wrapCallbackToSwapNodeIfSomethingReturned(listener))\n } else {\n // the event has no special handling, pass through\n // directly onto the event bus:\n event.on(listener)\n }\n }\n\n return oboeApi // chaining\n })\n\n /**\n * Remove any kind of listener that the instance api exposes\n */\n var removeListener = function (eventId, p2, p3) {\n if (eventId === 'done') {\n rootNodeFinishedEvent.un(p2)\n } else if (eventId === 'node' || eventId === 'path') {\n // allow removal of node and path\n oboeBus.un(eventId + ':' + p2, p3)\n } else {\n // we have a standard Node.js EventEmitter 2-argument call.\n // The second parameter is the listener. This may be a call\n // to remove a fully-qualified node/path listener but requires\n // no special handling\n var listener = p2\n\n oboeBus(eventId).un(listener)\n }\n\n return oboeApi // chaining\n }\n\n /**\n * Add a callback, wrapped in a try/catch so as to not break the\n * execution of Oboe if an exception is thrown (fail events are\n * fired instead)\n *\n * The callback is used as the listener id so that it can later be\n * removed using .un(callback)\n */\n function addProtectedCallback (eventName, callback) {\n oboeBus(eventName).on(protectedCallback(callback), callback)\n return oboeApi // chaining\n }\n\n /**\n * Add a callback where, if .forget() is called during the callback's\n * execution, the callback will be de-registered\n */\n function addForgettableCallback (event, callback, listenerId) {\n // listenerId is optional and if not given, the original\n // callback will be used\n listenerId = listenerId || callback\n\n var safeCallback = protectedCallback(callback)\n\n event.on(function () {\n var discard = false\n\n oboeApi.forget = function () {\n discard = true\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"b\" /* apply */])(arguments, safeCallback)\n\n delete oboeApi.forget\n\n if (discard) {\n event.un(listenerId)\n }\n }, listenerId)\n\n return oboeApi // chaining\n }\n\n /**\n * wrap a callback so that if it throws, Oboe.js doesn't crash but instead\n * throw the error in another event loop\n */\n function protectedCallback (callback) {\n return function () {\n try {\n return callback.apply(oboeApi, arguments)\n } catch (e) {\n setTimeout(function () {\n throw new Error(e.message)\n })\n }\n }\n }\n\n /**\n * Return the fully qualified event for when a pattern matches\n * either a node or a path\n *\n * @param type {String} either 'node' or 'path'\n */\n function fullyQualifiedPatternMatchEvent (type, pattern) {\n return oboeBus(type + ':' + pattern)\n }\n\n function wrapCallbackToSwapNodeIfSomethingReturned (callback) {\n return function () {\n var returnValueFromCallback = callback.apply(this, arguments)\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* defined */])(returnValueFromCallback)) {\n if (returnValueFromCallback === __WEBPACK_IMPORTED_MODULE_3__publicApi__[\"a\" /* oboe */].drop) {\n emitNodeDrop()\n } else {\n emitNodeSwap(returnValueFromCallback)\n }\n }\n }\n }\n\n function addSingleNodeOrPathListener (eventId, pattern, callback) {\n var effectiveCallback\n\n if (eventId === 'node') {\n effectiveCallback = wrapCallbackToSwapNodeIfSomethingReturned(callback)\n } else {\n effectiveCallback = callback\n }\n\n addForgettableCallback(\n fullyQualifiedPatternMatchEvent(eventId, pattern),\n effectiveCallback,\n callback\n )\n }\n\n /**\n * Add several listeners at a time, from a map\n */\n function addMultipleNodeOrPathListeners (eventId, listenerMap) {\n for (var pattern in listenerMap) {\n addSingleNodeOrPathListener(eventId, pattern, listenerMap[pattern])\n }\n }\n\n /**\n * implementation behind .onPath() and .onNode()\n */\n function addNodeOrPathListenerApi (eventId, jsonPathOrListenerMap, callback) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* isString */])(jsonPathOrListenerMap)) {\n addSingleNodeOrPathListener(eventId, jsonPathOrListenerMap, callback)\n } else {\n addMultipleNodeOrPathListeners(eventId, jsonPathOrListenerMap)\n }\n\n return oboeApi // chaining\n }\n\n // some interface methods are only filled in after we receive\n // values and are noops before that:\n oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"i\" /* ROOT_PATH_FOUND */]).on(function (rootNode) {\n oboeApi.root = Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"f\" /* functor */])(rootNode)\n })\n\n /**\n * When content starts make the headers readable through the\n * instance API\n */\n oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"c\" /* HTTP_START */]).on(function (_statusCode, headers) {\n oboeApi.header = function (name) {\n return name ? headers[name]\n : headers\n }\n })\n\n /**\n * Construct and return the public API of the Oboe instance to be\n * returned to the calling application\n */\n oboeApi = {\n on: addListener,\n addListener: addListener,\n removeListener: removeListener,\n emit: oboeBus.emit,\n\n node: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addNodeOrPathListenerApi, 'node'),\n path: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addNodeOrPathListenerApi, 'path'),\n\n done: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addForgettableCallback, rootNodeFinishedEvent),\n start: Object(__WEBPACK_IMPORTED_MODULE_1__functional__[\"j\" /* partialComplete */])(addProtectedCallback, __WEBPACK_IMPORTED_MODULE_0__events__[\"c\" /* HTTP_START */]),\n\n // fail doesn't use protectedCallback because\n // could lead to non-terminating loops\n fail: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"b\" /* FAIL_EVENT */]).on,\n\n // public api calling abort fires the ABORTING event\n abort: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"a\" /* ABORTING */]).emit,\n\n // initially return nothing for header and root\n header: __WEBPACK_IMPORTED_MODULE_1__functional__[\"i\" /* noop */],\n root: __WEBPACK_IMPORTED_MODULE_1__functional__[\"i\" /* noop */],\n\n source: contentSource\n }\n\n return oboeApi\n}\n\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return clarinet; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3);\n\n\n/*\n This is a slightly hacked-up browser only version of clarinet\n\n * some features removed to help keep browser Oboe under\n the 5k micro-library limit\n * plug directly into event bus\n\n For the original go here:\n https://github.com/dscape/clarinet\n\n We receive the events:\n STREAM_DATA\n STREAM_END\n\n We emit the events:\n SAX_KEY\n SAX_VALUE_OPEN\n SAX_VALUE_CLOSE\n FAIL_EVENT\n */\n\nfunction clarinet (eventBus) {\n 'use strict'\n\n // shortcut some events on the bus\n var emitSaxKey = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"j\" /* SAX_KEY */]).emit\n var emitValueOpen = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"l\" /* SAX_VALUE_OPEN */]).emit\n var emitValueClose = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"k\" /* SAX_VALUE_CLOSE */]).emit\n var emitFail = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"b\" /* FAIL_EVENT */]).emit\n\n var MAX_BUFFER_LENGTH = 64 * 1024\n var stringTokenPattern = /[\\\\\"\\n]/g\n var _n = 0\n\n // states\n var BEGIN = _n++\n var VALUE = _n++ // general stuff\n var OPEN_OBJECT = _n++ // {\n var CLOSE_OBJECT = _n++ // }\n var OPEN_ARRAY = _n++ // [\n var CLOSE_ARRAY = _n++ // ]\n var STRING = _n++ // \"\"\n var OPEN_KEY = _n++ // , \"a\"\n var CLOSE_KEY = _n++ // :\n var TRUE = _n++ // r\n var TRUE2 = _n++ // u\n var TRUE3 = _n++ // e\n var FALSE = _n++ // a\n var FALSE2 = _n++ // l\n var FALSE3 = _n++ // s\n var FALSE4 = _n++ // e\n var NULL = _n++ // u\n var NULL2 = _n++ // l\n var NULL3 = _n++ // l\n var NUMBER_DECIMAL_POINT = _n++ // .\n var NUMBER_DIGIT = _n // [0-9]\n\n // setup initial parser values\n var bufferCheckPosition = MAX_BUFFER_LENGTH\n var latestError\n var c\n var p\n var textNode\n var numberNode = ''\n var slashed = false\n var closed = false\n var state = BEGIN\n var stack = []\n var unicodeS = null\n var unicodeI = 0\n var depth = 0\n var position = 0\n var column = 0 // mostly for error reporting\n var line = 1\n\n function checkBufferLength () {\n var maxActual = 0\n\n if (textNode !== undefined && textNode.length > MAX_BUFFER_LENGTH) {\n emitError('Max buffer length exceeded: textNode')\n maxActual = Math.max(maxActual, textNode.length)\n }\n if (numberNode.length > MAX_BUFFER_LENGTH) {\n emitError('Max buffer length exceeded: numberNode')\n maxActual = Math.max(maxActual, numberNode.length)\n }\n\n bufferCheckPosition = (MAX_BUFFER_LENGTH - maxActual) +\n position\n }\n\n eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"m\" /* STREAM_DATA */]).on(handleData)\n\n /* At the end of the http content close the clarinet\n This will provide an error if the total content provided was not\n valid json, ie if not all arrays, objects and Strings closed properly */\n eventBus(__WEBPACK_IMPORTED_MODULE_0__events__[\"n\" /* STREAM_END */]).on(handleStreamEnd)\n\n function emitError (errorString) {\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n\n latestError = Error(errorString + '\\nLn: ' + line +\n '\\nCol: ' + column +\n '\\nChr: ' + c)\n\n emitFail(Object(__WEBPACK_IMPORTED_MODULE_0__events__[\"o\" /* errorReport */])(undefined, undefined, latestError))\n }\n\n function handleStreamEnd () {\n if (state === BEGIN) {\n // Handle the case where the stream closes without ever receiving\n // any input. This isn't an error - response bodies can be blank,\n // particularly for 204 http responses\n\n // Because of how Oboe is currently implemented, we parse a\n // completely empty stream as containing an empty object.\n // This is because Oboe's done event is only fired when the\n // root object of the JSON stream closes.\n\n // This should be decoupled and attached instead to the input stream\n // from the http (or whatever) resource ending.\n // If this decoupling could happen the SAX parser could simply emit\n // zero events on a completely empty input.\n emitValueOpen({})\n emitValueClose()\n\n closed = true\n return\n }\n\n if (state !== VALUE || depth !== 0) { emitError('Unexpected end') }\n\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n\n closed = true\n }\n\n function whitespace (c) {\n return c === '\\r' || c === '\\n' || c === ' ' || c === '\\t'\n }\n\n function handleData (chunk) {\n // this used to throw the error but inside Oboe we will have already\n // gotten the error when it was emitted. The important thing is to\n // not continue with the parse.\n if (latestError) { return }\n\n if (closed) {\n return emitError('Cannot write after close')\n }\n\n var i = 0\n c = chunk[0]\n\n while (c) {\n if (i > 0) {\n p = c\n }\n c = chunk[i++]\n if (!c) break\n\n position++\n if (c === '\\n') {\n line++\n column = 0\n } else column++\n switch (state) {\n case BEGIN:\n if (c === '{') state = OPEN_OBJECT\n else if (c === '[') state = OPEN_ARRAY\n else if (!whitespace(c)) { return emitError('Non-whitespace before {[.') }\n continue\n\n case OPEN_KEY:\n case OPEN_OBJECT:\n if (whitespace(c)) continue\n if (state === OPEN_KEY) stack.push(CLOSE_KEY)\n else {\n if (c === '}') {\n emitValueOpen({})\n emitValueClose()\n state = stack.pop() || VALUE\n continue\n } else stack.push(CLOSE_OBJECT)\n }\n if (c === '\"') { state = STRING } else { return emitError('Malformed object key should start with \" ') }\n continue\n\n case CLOSE_KEY:\n case CLOSE_OBJECT:\n if (whitespace(c)) continue\n\n if (c === ':') {\n if (state === CLOSE_OBJECT) {\n stack.push(CLOSE_OBJECT)\n\n if (textNode !== undefined) {\n // was previously (in upstream Clarinet) one event\n // - object open came with the text of the first\n emitValueOpen({})\n emitSaxKey(textNode)\n textNode = undefined\n }\n depth++\n } else {\n if (textNode !== undefined) {\n emitSaxKey(textNode)\n textNode = undefined\n }\n }\n state = VALUE\n } else if (c === '}') {\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n emitValueClose()\n depth--\n state = stack.pop() || VALUE\n } else if (c === ',') {\n if (state === CLOSE_OBJECT) { stack.push(CLOSE_OBJECT) }\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n state = OPEN_KEY\n } else { return emitError('Bad object') }\n continue\n\n case OPEN_ARRAY: // after an array there always a value\n case VALUE:\n if (whitespace(c)) continue\n if (state === OPEN_ARRAY) {\n emitValueOpen([])\n depth++\n state = VALUE\n if (c === ']') {\n emitValueClose()\n depth--\n state = stack.pop() || VALUE\n continue\n } else {\n stack.push(CLOSE_ARRAY)\n }\n }\n if (c === '\"') state = STRING\n else if (c === '{') state = OPEN_OBJECT\n else if (c === '[') state = OPEN_ARRAY\n else if (c === 't') state = TRUE\n else if (c === 'f') state = FALSE\n else if (c === 'n') state = NULL\n else if (c === '-') { // keep and continue\n numberNode += c\n } else if (c === '0') {\n numberNode += c\n state = NUMBER_DIGIT\n } else if ('123456789'.indexOf(c) !== -1) {\n numberNode += c\n state = NUMBER_DIGIT\n } else { return emitError('Bad value') }\n continue\n\n case CLOSE_ARRAY:\n if (c === ',') {\n stack.push(CLOSE_ARRAY)\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n state = VALUE\n } else if (c === ']') {\n if (textNode !== undefined) {\n emitValueOpen(textNode)\n emitValueClose()\n textNode = undefined\n }\n emitValueClose()\n depth--\n state = stack.pop() || VALUE\n } else if (whitespace(c)) { continue } else { return emitError('Bad array') }\n continue\n\n case STRING:\n if (textNode === undefined) {\n textNode = ''\n }\n\n // thanks thejh, this is an about 50% performance improvement.\n var starti = i - 1\n\n // eslint-disable-next-line no-labels\n STRING_BIGLOOP: while (true) {\n // zero means \"no unicode active\". 1-4 mean \"parse some more\". end after 4.\n while (unicodeI > 0) {\n unicodeS += c\n c = chunk.charAt(i++)\n if (unicodeI === 4) {\n // TODO this might be slow? well, probably not used too often anyway\n textNode += String.fromCharCode(parseInt(unicodeS, 16))\n unicodeI = 0\n starti = i - 1\n } else {\n unicodeI++\n }\n // we can just break here: no stuff we skipped that still has to be sliced out or so\n // eslint-disable-next-line no-labels\n if (!c) break STRING_BIGLOOP\n }\n if (c === '\"' && !slashed) {\n state = stack.pop() || VALUE\n textNode += chunk.substring(starti, i - 1)\n break\n }\n if (c === '\\\\' && !slashed) {\n slashed = true\n textNode += chunk.substring(starti, i - 1)\n c = chunk.charAt(i++)\n if (!c) break\n }\n if (slashed) {\n slashed = false\n if (c === 'n') { textNode += '\\n' } else if (c === 'r') { textNode += '\\r' } else if (c === 't') { textNode += '\\t' } else if (c === 'f') { textNode += '\\f' } else if (c === 'b') { textNode += '\\b' } else if (c === 'u') {\n // \\uxxxx. meh!\n unicodeI = 1\n unicodeS = ''\n } else {\n textNode += c\n }\n c = chunk.charAt(i++)\n starti = i - 1\n if (!c) break\n else continue\n }\n\n stringTokenPattern.lastIndex = i\n var reResult = stringTokenPattern.exec(chunk)\n if (!reResult) {\n i = chunk.length + 1\n textNode += chunk.substring(starti, i - 1)\n break\n }\n i = reResult.index + 1\n c = chunk.charAt(reResult.index)\n if (!c) {\n textNode += chunk.substring(starti, i - 1)\n break\n }\n }\n continue\n\n case TRUE:\n if (!c) continue // strange buffers\n if (c === 'r') state = TRUE2\n else { return emitError('Invalid true started with t' + c) }\n continue\n\n case TRUE2:\n if (!c) continue\n if (c === 'u') state = TRUE3\n else { return emitError('Invalid true started with tr' + c) }\n continue\n\n case TRUE3:\n if (!c) continue\n if (c === 'e') {\n emitValueOpen(true)\n emitValueClose()\n state = stack.pop() || VALUE\n } else { return emitError('Invalid true started with tru' + c) }\n continue\n\n case FALSE:\n if (!c) continue\n if (c === 'a') state = FALSE2\n else { return emitError('Invalid false started with f' + c) }\n continue\n\n case FALSE2:\n if (!c) continue\n if (c === 'l') state = FALSE3\n else { return emitError('Invalid false started with fa' + c) }\n continue\n\n case FALSE3:\n if (!c) continue\n if (c === 's') state = FALSE4\n else { return emitError('Invalid false started with fal' + c) }\n continue\n\n case FALSE4:\n if (!c) continue\n if (c === 'e') {\n emitValueOpen(false)\n emitValueClose()\n state = stack.pop() || VALUE\n } else { return emitError('Invalid false started with fals' + c) }\n continue\n\n case NULL:\n if (!c) continue\n if (c === 'u') state = NULL2\n else { return emitError('Invalid null started with n' + c) }\n continue\n\n case NULL2:\n if (!c) continue\n if (c === 'l') state = NULL3\n else { return emitError('Invalid null started with nu' + c) }\n continue\n\n case NULL3:\n if (!c) continue\n if (c === 'l') {\n emitValueOpen(null)\n emitValueClose()\n state = stack.pop() || VALUE\n } else { return emitError('Invalid null started with nul' + c) }\n continue\n\n case NUMBER_DECIMAL_POINT:\n if (c === '.') {\n numberNode += c\n state = NUMBER_DIGIT\n } else { return emitError('Leading zero not followed by .') }\n continue\n\n case NUMBER_DIGIT:\n if ('0123456789'.indexOf(c) !== -1) numberNode += c\n else if (c === '.') {\n if (numberNode.indexOf('.') !== -1) { return emitError('Invalid number has two dots') }\n numberNode += c\n } else if (c === 'e' || c === 'E') {\n if (numberNode.indexOf('e') !== -1 ||\n numberNode.indexOf('E') !== -1) { return emitError('Invalid number has two exponential') }\n numberNode += c\n } else if (c === '+' || c === '-') {\n if (!(p === 'e' || p === 'E')) { return emitError('Invalid symbol in number') }\n numberNode += c\n } else {\n if (numberNode) {\n emitValueOpen(parseFloat(numberNode))\n emitValueClose()\n numberNode = ''\n }\n i-- // go back one\n state = stack.pop() || VALUE\n }\n continue\n\n default:\n return emitError('Unknown state: ' + state)\n }\n }\n if (position >= bufferCheckPosition) { checkBufferLength() }\n }\n}\n\n\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return httpTransport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return streamingHttp; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__functional__ = __webpack_require__(0);\n\n\n\n\n\n\nfunction httpTransport () {\n return new XMLHttpRequest()\n}\n\n/**\n * A wrapper around the browser XmlHttpRequest object that raises an\n * event whenever a new part of the response is available.\n *\n * In older browsers progressive reading is impossible so all the\n * content is given in a single call. For newer ones several events\n * should be raised, allowing progressive interpretation of the response.\n *\n * @param {Function} oboeBus an event bus local to this Oboe instance\n * @param {XMLHttpRequest} xhr the xhr to use as the transport. Under normal\n * operation, will have been created using httpTransport() above\n * but for tests a stub can be provided instead.\n * @param {String} method one of 'GET' 'POST' 'PUT' 'PATCH' 'DELETE'\n * @param {String} url the url to make a request to\n * @param {String|Null} data some content to be sent with the request.\n * Only valid if method is POST or PUT.\n * @param {Object} [headers] the http request headers to send\n * @param {boolean} withCredentials the XHR withCredentials property will be\n * set to this value\n */\nfunction streamingHttp (oboeBus, xhr, method, url, data, headers, withCredentials) {\n 'use strict'\n\n var emitStreamData = oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"m\" /* STREAM_DATA */]).emit\n var emitFail = oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"b\" /* FAIL_EVENT */]).emit\n var numberOfCharsAlreadyGivenToCallback = 0\n var stillToSendStartEvent = true\n\n // When an ABORTING message is put on the event bus abort\n // the ajax request\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"a\" /* ABORTING */]).on(function () {\n // if we keep the onreadystatechange while aborting the XHR gives\n // a callback like a successful call so first remove this listener\n // by assigning null:\n xhr.onreadystatechange = null\n\n xhr.abort()\n })\n\n /**\n * Handle input from the underlying xhr: either a state change,\n * the progress event or the request being complete.\n */\n function handleProgress () {\n if (String(xhr.status)[0] === '2') {\n var textSoFar = xhr.responseText\n var newText = (' ' + textSoFar.substr(numberOfCharsAlreadyGivenToCallback)).substr(1)\n\n /* Raise the event for new text.\n\n On older browsers, the new text is the whole response.\n On newer/better ones, the fragment part that we got since\n last progress. */\n\n if (newText) {\n emitStreamData(newText)\n }\n\n numberOfCharsAlreadyGivenToCallback = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"e\" /* len */])(textSoFar)\n }\n }\n\n if ('onprogress' in xhr) { // detect browser support for progressive delivery\n xhr.onprogress = handleProgress\n }\n\n function sendStartIfNotAlready (xhr) {\n // Internet Explorer is very unreliable as to when xhr.status etc can\n // be read so has to be protected with try/catch and tried again on\n // the next readyState if it fails\n try {\n stillToSendStartEvent && oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"c\" /* HTTP_START */]).emit(\n xhr.status,\n Object(__WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__[\"a\" /* parseResponseHeaders */])(xhr.getAllResponseHeaders()))\n stillToSendStartEvent = false\n } catch (e) { /* do nothing, will try again on next readyState */ }\n }\n\n xhr.onreadystatechange = function () {\n switch (xhr.readyState) {\n case 2: // HEADERS_RECEIVED\n case 3: // LOADING\n return sendStartIfNotAlready(xhr)\n\n case 4: // DONE\n sendStartIfNotAlready(xhr) // if xhr.status hasn't been available yet, it must be NOW, huh IE?\n\n // is this a 2xx http code?\n var successful = String(xhr.status)[0] === '2'\n\n if (successful) {\n // In Chrome 29 (not 28) no onprogress is emitted when a response\n // is complete before the onload. We need to always do handleInput\n // in case we get the load but have not had a final progress event.\n // This looks like a bug and may change in future but let's take\n // the safest approach and assume we might not have received a\n // progress event for each part of the response\n handleProgress()\n\n oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__[\"n\" /* STREAM_END */]).emit()\n } else {\n emitFail(Object(__WEBPACK_IMPORTED_MODULE_1__events__[\"o\" /* errorReport */])(\n xhr.status,\n xhr.responseText\n ))\n }\n }\n }\n\n try {\n xhr.open(method, url, true)\n\n for (var headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName])\n }\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__[\"a\" /* isCrossOrigin */])(window.location, Object(__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__[\"b\" /* parseUrlOrigin */])(url))) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n }\n\n xhr.withCredentials = withCredentials\n\n xhr.send(data)\n } catch (e) {\n // To keep a consistent interface with Node, we can't emit an event here.\n // Node's streaming http adaptor receives the error as an asynchronous\n // event rather than as an exception. If we emitted now, the Oboe user\n // has had no chance to add a .fail listener so there is no way\n // the event could be useful. For both these reasons defer the\n // firing to the next JS frame.\n window.setTimeout(\n Object(__WEBPACK_IMPORTED_MODULE_4__functional__[\"j\" /* partialComplete */])(emitFail, Object(__WEBPACK_IMPORTED_MODULE_1__events__[\"o\" /* errorReport */])(undefined, undefined, e))\n , 0\n )\n }\n}\n\n\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return isCrossOrigin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return parseUrlOrigin; });\n/**\n * Detect if a given URL is cross-origin in the scope of the\n * current page.\n *\n * Browser only (since cross-origin has no meaning in Node.js)\n *\n * @param {Object} pageLocation - as in window.location\n * @param {Object} ajaxHost - an object like window.location describing the\n * origin of the url that we want to ajax in\n */\nfunction isCrossOrigin (pageLocation, ajaxHost) {\n /*\n * NB: defaultPort only knows http and https.\n * Returns undefined otherwise.\n */\n function defaultPort (protocol) {\n return { 'http:': 80, 'https:': 443 }[protocol]\n }\n\n function portOf (location) {\n // pageLocation should always have a protocol. ajaxHost if no port or\n // protocol is specified, should use the port of the containing page\n\n return String(location.port || defaultPort(location.protocol || pageLocation.protocol))\n }\n\n // if ajaxHost doesn't give a domain, port is the same as pageLocation\n // it can't give a protocol but not a domain\n // it can't give a port but not a domain\n\n return !!((ajaxHost.protocol && (ajaxHost.protocol !== pageLocation.protocol)) ||\n (ajaxHost.host && (ajaxHost.host !== pageLocation.host)) ||\n (ajaxHost.host && (portOf(ajaxHost) !== portOf(pageLocation)))\n )\n}\n\n/* turn any url into an object like window.location */\nfunction parseUrlOrigin (url) {\n // url could be domain-relative\n // url could give a domain\n\n // cross origin means:\n // same domain\n // same port\n // some protocol\n // so, same everything up to the first (single) slash\n // if such is given\n //\n // can ignore everything after that\n\n var URL_HOST_PATTERN = /(\\w+:)?(?:\\/\\/)([\\w.-]+)?(?::(\\d+))?\\/?/\n\n // if no match, use an empty array so that\n // subexpressions 1,2,3 are all undefined\n // and will ultimately return all empty\n // strings as the parse result:\n var urlHostMatch = URL_HOST_PATTERN.exec(url) || []\n\n return {\n protocol: urlHostMatch[1] || '',\n host: urlHostMatch[2] || '',\n port: urlHostMatch[3] || ''\n }\n}\n\n\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return parseResponseHeaders; });\n// based on gist https://gist.github.com/monsur/706839\n\n/**\n * XmlHttpRequest's getAllResponseHeaders() method returns a string of response\n * headers according to the format described here:\n * http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders-method\n * This method parses that string into a user-friendly key/value pair object.\n */\nfunction parseResponseHeaders (headerStr) {\n var headers = {}\n\n headerStr && headerStr.split('\\u000d\\u000a')\n .forEach(function (headerPair) {\n // Can't use split() here because it does the wrong thing\n // if the header value has the string \": \" in it.\n var index = headerPair.indexOf('\\u003a\\u0020')\n\n headers[headerPair.substring(0, index)] =\n headerPair.substring(index + 2)\n })\n\n return headers\n}\n\n\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\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","var trim = function(string) {\n return string.replace(/^\\s+|\\s+$/g, '');\n}\n , isArray = function(arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n }\n\nmodule.exports = function (headers) {\n if (!headers)\n return {}\n\n var result = {}\n\n var headersArr = trim(headers).split('\\n')\n\n for (var i = 0; i < headersArr.length; i++) {\n var row = headersArr[i]\n var index = row.indexOf(':')\n , key = trim(row.slice(0, index)).toLowerCase()\n , value = trim(row.slice(index + 1))\n\n if (typeof(result[key]) === 'undefined') {\n result[key] = value\n } else if (isArray(result[key])) {\n result[key].push(value)\n } else {\n result[key] = [ result[key], value ]\n }\n }\n\n return result\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\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 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 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","// 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","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\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","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\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","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","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\nvar decodeComponent = require('decode-uri-component');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nfunction extract(str) {\n\tvar queryStart = str.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\treturn str.slice(queryStart + 1);\n}\n\nfunction parse(str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^[?#&]/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeComponent(val);\n\n\t\tformatter(decodeComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tif (opts.sort === false) {\n\t\topts.sort = function () {};\n\t}\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort(opts.sort).map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n\nexports.parseUrl = function (str, opts) {\n\treturn {\n\t\turl: str.split('?')[0] || '',\n\t\tquery: parse(extract(str), opts)\n\t};\n};\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","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\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});","// 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 passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\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}","// 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}","// 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};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: 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 key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\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\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\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\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\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};","// 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;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'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};","module.exports = require('events').EventEmitter;\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');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'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","/*! 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","/* 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\n(function(root) {\n const MAX_VALUE = 0x7fffffff;\n\n // The SHA256 and PBKDF2 implementation are from scrypt-async-js:\n // See: https://github.com/dchest/scrypt-async-js\n function SHA256(m) {\n const K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ]);\n\n let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a;\n let h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;\n const w = new Uint32Array(64);\n\n function blocks(p) {\n let off = 0, len = p.length;\n while (len >= 64) {\n let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, u, i, j, t1, t2;\n\n for (i = 0; i < 16; i++) {\n j = off + i*4;\n w[i] = ((p[j] & 0xff)<<24) | ((p[j+1] & 0xff)<<16) |\n ((p[j+2] & 0xff)<<8) | (p[j+3] & 0xff);\n }\n\n for (i = 16; i < 64; i++) {\n u = w[i-2];\n t1 = ((u>>>17) | (u<<(32-17))) ^ ((u>>>19) | (u<<(32-19))) ^ (u>>>10);\n\n u = w[i-15];\n t2 = ((u>>>7) | (u<<(32-7))) ^ ((u>>>18) | (u<<(32-18))) ^ (u>>>3);\n\n w[i] = (((t1 + w[i-7]) | 0) + ((t2 + w[i-16]) | 0)) | 0;\n }\n\n for (i = 0; i < 64; i++) {\n t1 = ((((((e>>>6) | (e<<(32-6))) ^ ((e>>>11) | (e<<(32-11))) ^\n ((e>>>25) | (e<<(32-25)))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n\n t2 = ((((a>>>2) | (a<<(32-2))) ^ ((a>>>13) | (a<<(32-13))) ^\n ((a>>>22) | (a<<(32-22)))) + ((a & b) ^ (a & c) ^ (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 h0 = (h0 + a) | 0;\n h1 = (h1 + b) | 0;\n h2 = (h2 + c) | 0;\n h3 = (h3 + d) | 0;\n h4 = (h4 + e) | 0;\n h5 = (h5 + f) | 0;\n h6 = (h6 + g) | 0;\n h7 = (h7 + h) | 0;\n\n off += 64;\n len -= 64;\n }\n }\n\n blocks(m);\n\n let i, bytesLeft = m.length % 64,\n bitLenHi = (m.length / 0x20000000) | 0,\n bitLenLo = m.length << 3,\n numZeros = (bytesLeft < 56) ? 56 : 120,\n p = m.slice(m.length - bytesLeft, m.length);\n\n p.push(0x80);\n for (i = bytesLeft + 1; i < numZeros; i++) { p.push(0); }\n p.push((bitLenHi >>> 24) & 0xff);\n p.push((bitLenHi >>> 16) & 0xff);\n p.push((bitLenHi >>> 8) & 0xff);\n p.push((bitLenHi >>> 0) & 0xff);\n p.push((bitLenLo >>> 24) & 0xff);\n p.push((bitLenLo >>> 16) & 0xff);\n p.push((bitLenLo >>> 8) & 0xff);\n p.push((bitLenLo >>> 0) & 0xff);\n\n blocks(p);\n\n return [\n (h0 >>> 24) & 0xff, (h0 >>> 16) & 0xff, (h0 >>> 8) & 0xff, (h0 >>> 0) & 0xff,\n (h1 >>> 24) & 0xff, (h1 >>> 16) & 0xff, (h1 >>> 8) & 0xff, (h1 >>> 0) & 0xff,\n (h2 >>> 24) & 0xff, (h2 >>> 16) & 0xff, (h2 >>> 8) & 0xff, (h2 >>> 0) & 0xff,\n (h3 >>> 24) & 0xff, (h3 >>> 16) & 0xff, (h3 >>> 8) & 0xff, (h3 >>> 0) & 0xff,\n (h4 >>> 24) & 0xff, (h4 >>> 16) & 0xff, (h4 >>> 8) & 0xff, (h4 >>> 0) & 0xff,\n (h5 >>> 24) & 0xff, (h5 >>> 16) & 0xff, (h5 >>> 8) & 0xff, (h5 >>> 0) & 0xff,\n (h6 >>> 24) & 0xff, (h6 >>> 16) & 0xff, (h6 >>> 8) & 0xff, (h6 >>> 0) & 0xff,\n (h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, (h7 >>> 0) & 0xff\n ];\n }\n\n function PBKDF2_HMAC_SHA256_OneIter(password, salt, dkLen) {\n // compress password if it's longer than hash block length\n password = (password.length <= 64) ? password : SHA256(password);\n\n const innerLen = 64 + salt.length + 4;\n const inner = new Array(innerLen);\n const outerKey = new Array(64);\n\n let i;\n let dk = [];\n\n // inner = (password ^ ipad) || salt || counter\n for (i = 0; i < 64; i++) { inner[i] = 0x36; }\n for (i = 0; i < password.length; i++) { inner[i] ^= password[i]; }\n for (i = 0; i < salt.length; i++) { inner[64 + i] = salt[i]; }\n for (i = innerLen - 4; i < innerLen; i++) { inner[i] = 0; }\n\n // outerKey = password ^ opad\n for (i = 0; i < 64; i++) outerKey[i] = 0x5c;\n for (i = 0; i < password.length; i++) outerKey[i] ^= password[i];\n\n // increments counter inside inner\n function incrementCounter() {\n for (let i = innerLen - 1; i >= innerLen - 4; i--) {\n inner[i]++;\n if (inner[i] <= 0xff) return;\n inner[i] = 0;\n }\n }\n\n // output blocks = SHA256(outerKey || SHA256(inner)) ...\n while (dkLen >= 32) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))));\n dkLen -= 32;\n }\n if (dkLen > 0) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))).slice(0, dkLen));\n }\n\n return dk;\n }\n\n // The following is an adaptation of scryptsy\n // See: https://www.npmjs.com/package/scryptsy\n function blockmix_salsa8(BY, Yi, r, x, _X) {\n let i;\n\n arraycopy(BY, (2 * r - 1) * 16, _X, 0, 16);\n for (i = 0; i < 2 * r; i++) {\n blockxor(BY, i * 16, _X, 16);\n salsa20_8(_X, x);\n arraycopy(_X, 0, BY, Yi + (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2) * 16, BY, (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2 + 1) * 16, BY, (i + r) * 16, 16);\n }\n }\n\n function R(a, b) {\n return (a << b) | (a >>> (32 - b));\n }\n\n function salsa20_8(B, x) {\n arraycopy(B, 0, x, 0, 16);\n\n for (let i = 8; i > 0; i -= 2) {\n x[ 4] ^= R(x[ 0] + x[12], 7);\n x[ 8] ^= R(x[ 4] + x[ 0], 9);\n x[12] ^= R(x[ 8] + x[ 4], 13);\n x[ 0] ^= R(x[12] + x[ 8], 18);\n x[ 9] ^= R(x[ 5] + x[ 1], 7);\n x[13] ^= R(x[ 9] + x[ 5], 9);\n x[ 1] ^= R(x[13] + x[ 9], 13);\n x[ 5] ^= R(x[ 1] + x[13], 18);\n x[14] ^= R(x[10] + x[ 6], 7);\n x[ 2] ^= R(x[14] + x[10], 9);\n x[ 6] ^= R(x[ 2] + x[14], 13);\n x[10] ^= R(x[ 6] + x[ 2], 18);\n x[ 3] ^= R(x[15] + x[11], 7);\n x[ 7] ^= R(x[ 3] + x[15], 9);\n x[11] ^= R(x[ 7] + x[ 3], 13);\n x[15] ^= R(x[11] + x[ 7], 18);\n x[ 1] ^= R(x[ 0] + x[ 3], 7);\n x[ 2] ^= R(x[ 1] + x[ 0], 9);\n x[ 3] ^= R(x[ 2] + x[ 1], 13);\n x[ 0] ^= R(x[ 3] + x[ 2], 18);\n x[ 6] ^= R(x[ 5] + x[ 4], 7);\n x[ 7] ^= R(x[ 6] + x[ 5], 9);\n x[ 4] ^= R(x[ 7] + x[ 6], 13);\n x[ 5] ^= R(x[ 4] + x[ 7], 18);\n x[11] ^= R(x[10] + x[ 9], 7);\n x[ 8] ^= R(x[11] + x[10], 9);\n x[ 9] ^= R(x[ 8] + x[11], 13);\n x[10] ^= R(x[ 9] + x[ 8], 18);\n x[12] ^= R(x[15] + x[14], 7);\n x[13] ^= R(x[12] + x[15], 9);\n x[14] ^= R(x[13] + x[12], 13);\n x[15] ^= R(x[14] + x[13], 18);\n }\n\n for (let i = 0; i < 16; ++i) {\n B[i] += x[i];\n }\n }\n\n // naive approach... going back to loop unrolling may yield additional performance\n function blockxor(S, Si, D, len) {\n for (let i = 0; i < len; i++) {\n D[i] ^= S[Si + i]\n }\n }\n\n function arraycopy(src, srcPos, dest, destPos, length) {\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n }\n\n function checkBufferish(o) {\n if (!o || typeof(o.length) !== 'number') { return false; }\n\n for (let i = 0; i < o.length; i++) {\n const v = o[i];\n if (typeof(v) !== 'number' || v % 1 || v < 0 || v >= 256) {\n return false;\n }\n }\n\n return true;\n }\n\n function ensureInteger(value, name) {\n if (typeof(value) !== \"number\" || (value % 1)) { throw new Error('invalid ' + name); }\n return value;\n }\n\n // N = Cpu cost, r = Memory cost, p = parallelization cost\n // callback(error, progress, key)\n function _scrypt(password, salt, N, r, p, dkLen, callback) {\n\n N = ensureInteger(N, 'N');\n r = ensureInteger(r, 'r');\n p = ensureInteger(p, 'p');\n\n dkLen = ensureInteger(dkLen, 'dkLen');\n\n if (N === 0 || (N & (N - 1)) !== 0) { throw new Error('N must be power of 2'); }\n\n if (N > MAX_VALUE / 128 / r) { throw new Error('N too large'); }\n if (r > MAX_VALUE / 128 / p) { throw new Error('r too large'); }\n\n if (!checkBufferish(password)) {\n throw new Error('password must be an array or buffer');\n }\n password = Array.prototype.slice.call(password);\n\n if (!checkBufferish(salt)) {\n throw new Error('salt must be an array or buffer');\n }\n salt = Array.prototype.slice.call(salt);\n\n let b = PBKDF2_HMAC_SHA256_OneIter(password, salt, p * 128 * r);\n const B = new Uint32Array(p * 32 * r)\n for (let i = 0; i < B.length; i++) {\n const j = i * 4;\n B[i] = ((b[j + 3] & 0xff) << 24) |\n ((b[j + 2] & 0xff) << 16) |\n ((b[j + 1] & 0xff) << 8) |\n ((b[j + 0] & 0xff) << 0);\n }\n\n const XY = new Uint32Array(64 * r);\n const V = new Uint32Array(32 * r * N);\n\n const Yi = 32 * r;\n\n // scratch space\n const x = new Uint32Array(16); // salsa20_8\n const _X = new Uint32Array(16); // blockmix_salsa8\n\n const totalOps = p * N * 2;\n let currentOp = 0;\n let lastPercent10 = null;\n\n // Set this to true to abandon the scrypt on the next step\n let stop = false;\n\n // State information\n let state = 0;\n let i0 = 0, i1;\n let Bi;\n\n // How many blockmix_salsa8 can we do per step?\n const limit = callback ? parseInt(1000 / r): 0xffffffff;\n\n // Trick from scrypt-async; if there is a setImmediate shim in place, use it\n const nextTick = (typeof(setImmediate) !== 'undefined') ? setImmediate : setTimeout;\n\n // This is really all I changed; making scryptsy a state machine so we occasionally\n // stop and give other evnts on the evnt loop a chance to run. ~RicMoo\n const incrementalSMix = function() {\n if (stop) {\n return callback(new Error('cancelled'), currentOp / totalOps);\n }\n\n let steps;\n\n switch (state) {\n case 0:\n // for (var i = 0; i < p; i++)...\n Bi = i0 * 32 * r;\n\n arraycopy(B, Bi, XY, 0, Yi); // ROMix - 1\n\n state = 1; // Move to ROMix 2\n i1 = 0;\n\n // Fall through\n\n case 1:\n\n // Run up to 1000 steps of the first inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 2\n arraycopy(XY, 0, V, (i1 + i) * Yi, Yi) // ROMix - 3\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 4\n }\n\n // for (var i = 0; i < N; i++)\n i1 += steps;\n currentOp += steps;\n\n if (callback) {\n // Call the callback with the progress (optionally stopping us)\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n i1 = 0; // Move to ROMix 6\n state = 2;\n\n // Fall through\n\n case 2:\n\n // Run up to 1000 steps of the second inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 6\n const offset = (2 * r - 1) * 16; // ROMix - 7\n const j = XY[offset] & (N - 1);\n blockxor(V, j * Yi, XY, Yi); // ROMix - 8 (inner)\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 9 (outer)\n }\n\n // for (var i = 0; i < N; i++)...\n i1 += steps;\n currentOp += steps;\n\n // Call the callback with the progress (optionally stopping us)\n if (callback) {\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n arraycopy(XY, 0, B, Bi, Yi); // ROMix - 10\n\n // for (var i = 0; i < p; i++)...\n i0++;\n if (i0 < p) {\n state = 0;\n break;\n }\n\n b = [];\n for (let i = 0; i < B.length; i++) {\n b.push((B[i] >> 0) & 0xff);\n b.push((B[i] >> 8) & 0xff);\n b.push((B[i] >> 16) & 0xff);\n b.push((B[i] >> 24) & 0xff);\n }\n\n const derivedKey = PBKDF2_HMAC_SHA256_OneIter(password, b, dkLen);\n\n // Send the result to the callback\n if (callback) { callback(null, 1.0, derivedKey); }\n\n // Done; don't break (which would reschedule)\n return derivedKey;\n }\n\n // Schedule the next steps\n if (callback) { nextTick(incrementalSMix); }\n }\n\n // Run the smix state machine until completion\n if (!callback) {\n while (true) {\n const derivedKey = incrementalSMix();\n if (derivedKey != undefined) { return derivedKey; }\n }\n }\n\n // Bootstrap the async incremental smix\n incrementalSMix();\n }\n\n const lib = {\n scrypt: function(password, salt, N, r, p, dkLen, progressCallback) {\n return new Promise(function(resolve, reject) {\n let lastProgress = 0;\n if (progressCallback) { progressCallback(0); }\n _scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) {\n if (error) {\n reject(error);\n } else if (key) {\n if (progressCallback && lastProgress !== 1) {\n progressCallback(1);\n }\n resolve(new Uint8Array(key));\n } else if (progressCallback && progress !== lastProgress) {\n lastProgress = progress;\n return progressCallback(progress);\n }\n });\n });\n },\n syncScrypt: function(password, salt, N, r, p, dkLen) {\n return new Uint8Array(_scrypt(password, salt, N, r, p, dkLen));\n }\n };\n\n // node.js\n if (typeof(exports) !== 'undefined') {\n module.exports = lib;\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define(lib);\n\n // Web Browsers\n } else if (root) {\n\n // If there was an existing library \"scrypt\", make sure it is still available\n if (root.scrypt) {\n root._scrypt = root.scrypt;\n }\n\n root.scrypt = lib;\n }\n\n})(this);\n","module.exports = require('./lib')(require('./lib/elliptic'))\n","const EC = require('elliptic').ec\n\nconst ec = new EC('secp256k1')\nconst ecparams = ec.curve\n\n// Hack, we can not use bn.js@5, while elliptic uses bn.js@4\n// See https://github.com/indutny/elliptic/issues/191#issuecomment-569888758\nconst BN = ecparams.n.constructor\n\nfunction loadCompressedPublicKey (first, xbuf) {\n let x = new BN(xbuf)\n\n // overflow\n if (x.cmp(ecparams.p) >= 0) return null\n x = x.toRed(ecparams.red)\n\n // compute corresponding Y\n let y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt()\n if ((first === 0x03) !== y.isOdd()) y = y.redNeg()\n\n return ec.keyPair({ pub: { x: x, y: y } })\n}\n\nfunction loadUncompressedPublicKey (first, xbuf, ybuf) {\n let x = new BN(xbuf)\n let y = new BN(ybuf)\n\n // overflow\n if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null\n\n x = x.toRed(ecparams.red)\n y = y.toRed(ecparams.red)\n\n // is odd flag\n if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null\n\n // x*x*x + b = y*y\n const x3 = x.redSqr().redIMul(x)\n if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null\n\n return ec.keyPair({ pub: { x: x, y: y } })\n}\n\nfunction loadPublicKey (pubkey) {\n // length should be validated in interface\n const first = pubkey[0]\n switch (first) {\n case 0x02:\n case 0x03:\n if (pubkey.length !== 33) return null\n return loadCompressedPublicKey(first, pubkey.subarray(1, 33))\n case 0x04:\n case 0x06:\n case 0x07:\n if (pubkey.length !== 65) return null\n return loadUncompressedPublicKey(first, pubkey.subarray(1, 33), pubkey.subarray(33, 65))\n default:\n return null\n }\n}\n\nfunction savePublicKey (output, point) {\n const pubkey = point.encode(null, output.length === 33)\n // Loop should be faster because we do not need create extra Uint8Array\n // output.set(new Uint8Array(pubkey))\n for (let i = 0; i < output.length; ++i) output[i] = pubkey[i]\n}\n\nmodule.exports = {\n contextRandomize () {\n return 0\n },\n\n privateKeyVerify (seckey) {\n const bn = new BN(seckey)\n return bn.cmp(ecparams.n) < 0 && !bn.isZero() ? 0 : 1\n },\n\n privateKeyNegate (seckey) {\n const bn = new BN(seckey)\n const negate = ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Uint8Array, 'be', 32)\n seckey.set(negate)\n return 0\n },\n\n privateKeyTweakAdd (seckey, tweak) {\n const bn = new BN(tweak)\n if (bn.cmp(ecparams.n) >= 0) return 1\n\n bn.iadd(new BN(seckey))\n if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n)\n if (bn.isZero()) return 1\n\n const tweaked = bn.toArrayLike(Uint8Array, 'be', 32)\n seckey.set(tweaked)\n\n return 0\n },\n\n privateKeyTweakMul (seckey, tweak) {\n let bn = new BN(tweak)\n if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) return 1\n\n bn.imul(new BN(seckey))\n if (bn.cmp(ecparams.n) >= 0) bn = bn.umod(ecparams.n)\n\n const tweaked = bn.toArrayLike(Uint8Array, 'be', 32)\n seckey.set(tweaked)\n\n return 0\n },\n\n publicKeyVerify (pubkey) {\n const pair = loadPublicKey(pubkey)\n return pair === null ? 1 : 0\n },\n\n publicKeyCreate (output, seckey) {\n const bn = new BN(seckey)\n if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) return 1\n\n const point = ec.keyFromPrivate(seckey).getPublic()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyConvert (output, pubkey) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const point = pair.getPublic()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyNegate (output, pubkey) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const point = pair.getPublic()\n point.y = point.y.redNeg()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyCombine (output, pubkeys) {\n const pairs = new Array(pubkeys.length)\n for (let i = 0; i < pubkeys.length; ++i) {\n pairs[i] = loadPublicKey(pubkeys[i])\n if (pairs[i] === null) return 1\n }\n\n let point = pairs[0].getPublic()\n for (let i = 1; i < pairs.length; ++i) point = point.add(pairs[i].pub)\n if (point.isInfinity()) return 2\n\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyTweakAdd (output, pubkey, tweak) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n tweak = new BN(tweak)\n if (tweak.cmp(ecparams.n) >= 0) return 2\n\n const point = pair.getPublic().add(ecparams.g.mul(tweak))\n if (point.isInfinity()) return 2\n\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyTweakMul (output, pubkey, tweak) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n tweak = new BN(tweak)\n if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) return 2\n\n const point = pair.getPublic().mul(tweak)\n savePublicKey(output, point)\n\n return 0\n },\n\n signatureNormalize (sig) {\n const r = new BN(sig.subarray(0, 32))\n const s = new BN(sig.subarray(32, 64))\n if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) return 1\n\n if (s.cmp(ec.nh) === 1) {\n sig.set(ecparams.n.sub(s).toArrayLike(Uint8Array, 'be', 32), 32)\n }\n\n return 0\n },\n\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureExport (obj, sig) {\n const sigR = sig.subarray(0, 32)\n const sigS = sig.subarray(32, 64)\n if (new BN(sigR).cmp(ecparams.n) >= 0) return 1\n if (new BN(sigS).cmp(ecparams.n) >= 0) return 1\n\n const { output } = obj\n\n // Prepare R\n let r = output.subarray(4, 4 + 33)\n r[0] = 0x00\n r.set(sigR, 1)\n\n let lenR = 33\n let posR = 0\n for (; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR);\n\n r = r.subarray(posR)\n if (r[0] & 0x80) return 1\n if (lenR > 1 && (r[0] === 0x00) && !(r[1] & 0x80)) return 1\n\n // Prepare S\n let s = output.subarray(6 + 33, 6 + 33 + 33)\n s[0] = 0x00\n s.set(sigS, 1)\n\n let lenS = 33\n let posS = 0\n for (; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS);\n\n s = s.subarray(posS)\n if (s[0] & 0x80) return 1\n if (lenS > 1 && (s[0] === 0x00) && !(s[1] & 0x80)) return 1\n\n // Set output length for return\n obj.outputlen = 6 + lenR + lenS\n\n // Output in specified format\n // 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n output[0] = 0x30\n output[1] = obj.outputlen - 2\n output[2] = 0x02\n output[3] = r.length\n output.set(r, 4)\n output[4 + lenR] = 0x02\n output[5 + lenR] = s.length\n output.set(s, 6 + lenR)\n\n return 0\n },\n\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureImport (output, sig) {\n if (sig.length < 8) return 1\n if (sig.length > 72) return 1\n if (sig[0] !== 0x30) return 1\n if (sig[1] !== sig.length - 2) return 1\n if (sig[2] !== 0x02) return 1\n\n const lenR = sig[3]\n if (lenR === 0) return 1\n if (5 + lenR >= sig.length) return 1\n if (sig[4 + lenR] !== 0x02) return 1\n\n const lenS = sig[5 + lenR]\n if (lenS === 0) return 1\n if ((6 + lenR + lenS) !== sig.length) return 1\n\n if (sig[4] & 0x80) return 1\n if (lenR > 1 && (sig[4] === 0x00) && !(sig[5] & 0x80)) return 1\n\n if (sig[lenR + 6] & 0x80) return 1\n if (lenS > 1 && (sig[lenR + 6] === 0x00) && !(sig[lenR + 7] & 0x80)) return 1\n\n let sigR = sig.subarray(4, 4 + lenR)\n if (sigR.length === 33 && sigR[0] === 0x00) sigR = sigR.subarray(1)\n if (sigR.length > 32) return 1\n\n let sigS = sig.subarray(6 + lenR)\n if (sigS.length === 33 && sigS[0] === 0x00) sigS = sigS.slice(1)\n if (sigS.length > 32) throw new Error('S length is too long')\n\n let r = new BN(sigR)\n if (r.cmp(ecparams.n) >= 0) r = new BN(0)\n\n let s = new BN(sig.subarray(6 + lenR))\n if (s.cmp(ecparams.n) >= 0) s = new BN(0)\n\n output.set(r.toArrayLike(Uint8Array, 'be', 32), 0)\n output.set(s.toArrayLike(Uint8Array, 'be', 32), 32)\n\n return 0\n },\n\n ecdsaSign (obj, message, seckey, data, noncefn) {\n if (noncefn) {\n const _noncefn = noncefn\n noncefn = (counter) => {\n const nonce = _noncefn(message, seckey, null, data, counter)\n\n const isValid = nonce instanceof Uint8Array && nonce.length === 32\n if (!isValid) throw new Error('This is the way')\n\n return new BN(nonce)\n }\n }\n\n const d = new BN(seckey)\n if (d.cmp(ecparams.n) >= 0 || d.isZero()) return 1\n\n let sig\n try {\n sig = ec.sign(message, seckey, { canonical: true, k: noncefn, pers: data })\n } catch (err) {\n return 1\n }\n\n obj.signature.set(sig.r.toArrayLike(Uint8Array, 'be', 32), 0)\n obj.signature.set(sig.s.toArrayLike(Uint8Array, 'be', 32), 32)\n obj.recid = sig.recoveryParam\n\n return 0\n },\n\n ecdsaVerify (sig, msg32, pubkey) {\n const sigObj = { r: sig.subarray(0, 32), s: sig.subarray(32, 64) }\n\n const sigr = new BN(sigObj.r)\n const sigs = new BN(sigObj.s)\n if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) return 1\n if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return 3\n\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 2\n\n const point = pair.getPublic()\n const isValid = ec.verify(msg32, sigObj, point)\n return isValid ? 0 : 3\n },\n\n ecdsaRecover (output, sig, recid, msg32) {\n const sigObj = { r: sig.slice(0, 32), s: sig.slice(32, 64) }\n\n const sigr = new BN(sigObj.r)\n const sigs = new BN(sigObj.s)\n if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) return 1\n\n if (sigr.isZero() || sigs.isZero()) return 2\n\n // Can throw `throw new Error('Unable to find sencond key candinate');`\n let point\n try {\n point = ec.recoverPubKey(msg32, sigObj, recid)\n } catch (err) {\n return 2\n }\n\n savePublicKey(output, point)\n\n return 0\n },\n\n ecdh (output, pubkey, seckey, data, hashfn, xbuf, ybuf) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const scalar = new BN(seckey)\n if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) return 2\n\n const point = pair.getPublic().mul(scalar)\n\n if (hashfn === undefined) {\n const data = point.encode(null, true)\n const sha256 = ec.hash().update(data).digest()\n for (let i = 0; i < 32; ++i) output[i] = sha256[i]\n } else {\n if (!xbuf) xbuf = new Uint8Array(32)\n const x = point.getX().toArray('be', 32)\n for (let i = 0; i < 32; ++i) xbuf[i] = x[i]\n\n if (!ybuf) ybuf = new Uint8Array(32)\n const y = point.getY().toArray('be', 32)\n for (let i = 0; i < 32; ++i) ybuf[i] = y[i]\n\n const hash = hashfn(xbuf, ybuf, data)\n\n const isValid = hash instanceof Uint8Array && hash.length === output.length\n if (!isValid) return 2\n\n output.set(hash)\n }\n\n return 0\n }\n}\n","const errors = {\n IMPOSSIBLE_CASE: 'Impossible case. Please create issue.',\n TWEAK_ADD:\n 'The tweak was out of range or the resulted private key is invalid',\n TWEAK_MUL: 'The tweak was out of range or equal to zero',\n CONTEXT_RANDOMIZE_UNKNOW: 'Unknow error on context randomization',\n SECKEY_INVALID: 'Private Key is invalid',\n PUBKEY_PARSE: 'Public Key could not be parsed',\n PUBKEY_SERIALIZE: 'Public Key serialization error',\n PUBKEY_COMBINE: 'The sum of the public keys is not valid',\n SIG_PARSE: 'Signature could not be parsed',\n SIGN: 'The nonce generation function failed, or the private key was invalid',\n RECOVER: 'Public key could not be recover',\n ECDH: 'Scalar was invalid (zero or overflow)'\n}\n\nfunction assert (cond, msg) {\n if (!cond) throw new Error(msg)\n}\n\nfunction isUint8Array (name, value, length) {\n assert(value instanceof Uint8Array, `Expected ${name} to be an Uint8Array`)\n\n if (length !== undefined) {\n if (Array.isArray(length)) {\n const numbers = length.join(', ')\n const msg = `Expected ${name} to be an Uint8Array with length [${numbers}]`\n assert(length.includes(value.length), msg)\n } else {\n const msg = `Expected ${name} to be an Uint8Array with length ${length}`\n assert(value.length === length, msg)\n }\n }\n}\n\nfunction isCompressed (value) {\n assert(toTypeString(value) === 'Boolean', 'Expected compressed to be a Boolean')\n}\n\nfunction getAssertedOutput (output = (len) => new Uint8Array(len), length) {\n if (typeof output === 'function') output = output(length)\n isUint8Array('output', output, length)\n return output\n}\n\nfunction toTypeString (value) {\n return Object.prototype.toString.call(value).slice(8, -1)\n}\n\nmodule.exports = (secp256k1) => {\n return {\n contextRandomize (seed) {\n assert(\n seed === null || seed instanceof Uint8Array,\n 'Expected seed to be an Uint8Array or null'\n )\n if (seed !== null) isUint8Array('seed', seed, 32)\n\n switch (secp256k1.contextRandomize(seed)) {\n case 1:\n throw new Error(errors.CONTEXT_RANDOMIZE_UNKNOW)\n }\n },\n\n privateKeyVerify (seckey) {\n isUint8Array('private key', seckey, 32)\n\n return secp256k1.privateKeyVerify(seckey) === 0\n },\n\n privateKeyNegate (seckey) {\n isUint8Array('private key', seckey, 32)\n\n switch (secp256k1.privateKeyNegate(seckey)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n privateKeyTweakAdd (seckey, tweak) {\n isUint8Array('private key', seckey, 32)\n isUint8Array('tweak', tweak, 32)\n\n switch (secp256k1.privateKeyTweakAdd(seckey, tweak)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.TWEAK_ADD)\n }\n },\n\n privateKeyTweakMul (seckey, tweak) {\n isUint8Array('private key', seckey, 32)\n isUint8Array('tweak', tweak, 32)\n\n switch (secp256k1.privateKeyTweakMul(seckey, tweak)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.TWEAK_MUL)\n }\n },\n\n publicKeyVerify (pubkey) {\n isUint8Array('public key', pubkey, [33, 65])\n\n return secp256k1.publicKeyVerify(pubkey) === 0\n },\n\n publicKeyCreate (seckey, compressed = true, output) {\n isUint8Array('private key', seckey, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyCreate(output, seckey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SECKEY_INVALID)\n case 2:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyConvert (pubkey, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyConvert(output, pubkey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyNegate (pubkey, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyNegate(output, pubkey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n case 3:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyCombine (pubkeys, compressed = true, output) {\n assert(Array.isArray(pubkeys), 'Expected public keys to be an Array')\n assert(pubkeys.length > 0, 'Expected public keys array will have more than zero items')\n for (const pubkey of pubkeys) {\n isUint8Array('public key', pubkey, [33, 65])\n }\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyCombine(output, pubkeys)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_COMBINE)\n case 3:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyTweakAdd (pubkey, tweak, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('tweak', tweak, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyTweakAdd(output, pubkey, tweak)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.TWEAK_ADD)\n }\n },\n\n publicKeyTweakMul (pubkey, tweak, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('tweak', tweak, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyTweakMul(output, pubkey, tweak)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.TWEAK_MUL)\n }\n },\n\n signatureNormalize (sig) {\n isUint8Array('signature', sig, 64)\n\n switch (secp256k1.signatureNormalize(sig)) {\n case 0:\n return sig\n case 1:\n throw new Error(errors.SIG_PARSE)\n }\n },\n\n signatureExport (sig, output) {\n isUint8Array('signature', sig, 64)\n output = getAssertedOutput(output, 72)\n\n const obj = { output, outputlen: 72 }\n switch (secp256k1.signatureExport(obj, sig)) {\n case 0:\n return output.slice(0, obj.outputlen)\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n signatureImport (sig, output) {\n isUint8Array('signature', sig)\n output = getAssertedOutput(output, 64)\n\n switch (secp256k1.signatureImport(output, sig)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdsaSign (msg32, seckey, options = {}, output) {\n isUint8Array('message', msg32, 32)\n isUint8Array('private key', seckey, 32)\n assert(toTypeString(options) === 'Object', 'Expected options to be an Object')\n if (options.data !== undefined) isUint8Array('options.data', options.data)\n if (options.noncefn !== undefined) assert(toTypeString(options.noncefn) === 'Function', 'Expected options.noncefn to be a Function')\n output = getAssertedOutput(output, 64)\n\n const obj = { signature: output, recid: null }\n switch (secp256k1.ecdsaSign(obj, msg32, seckey, options.data, options.noncefn)) {\n case 0:\n return obj\n case 1:\n throw new Error(errors.SIGN)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdsaVerify (sig, msg32, pubkey) {\n isUint8Array('signature', sig, 64)\n isUint8Array('message', msg32, 32)\n isUint8Array('public key', pubkey, [33, 65])\n\n switch (secp256k1.ecdsaVerify(sig, msg32, pubkey)) {\n case 0:\n return true\n case 3:\n return false\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_PARSE)\n }\n },\n\n ecdsaRecover (sig, recid, msg32, compressed = true, output) {\n isUint8Array('signature', sig, 64)\n assert(\n toTypeString(recid) === 'Number' &&\n recid >= 0 &&\n recid <= 3,\n 'Expected recovery id to be a Number within interval [0, 3]'\n )\n isUint8Array('message', msg32, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.ecdsaRecover(output, sig, recid, msg32)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.RECOVER)\n case 3:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdh (pubkey, seckey, options = {}, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('private key', seckey, 32)\n assert(toTypeString(options) === 'Object', 'Expected options to be an Object')\n if (options.data !== undefined) isUint8Array('options.data', options.data)\n if (options.hashfn !== undefined) {\n assert(toTypeString(options.hashfn) === 'Function', 'Expected options.hashfn to be a Function')\n if (options.xbuf !== undefined) isUint8Array('options.xbuf', options.xbuf, 32)\n if (options.ybuf !== undefined) isUint8Array('options.ybuf', options.ybuf, 32)\n isUint8Array('output', output)\n } else {\n output = getAssertedOutput(output, 32)\n }\n\n switch (secp256k1.ecdh(output, pubkey, seckey, options.data, options.hashfn, options.xbuf, options.ybuf)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.ECDH)\n }\n }\n }\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","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","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.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\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\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}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.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\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\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}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\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 Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\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\n return H\n}\n\nmodule.exports = Sha224\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 SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\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\n return H\n}\n\nmodule.exports = Sha384\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","// 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/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.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","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]","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\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// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || 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 && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport('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\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\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 {\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 ' + Buffer.from(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\tself._socketTimeout = null\n\tself._socketTimer = 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\tif ('timeout' in opts && opts.timeout !== 0) {\n\t\tself.setTimeout(opts.timeout)\n\t}\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n body = new Blob(self._body, {\n type: (headersObj['content-type'] || {}).value || ''\n });\n }\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\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._resetTimers(false)\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tself._resetTimers(true)\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\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._resetTimers(true)\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\tself._resetTimers(false)\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(self._resetTimers.bind(self))\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._resetTimers.bind(self))\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._resetTimers = function (done) {\n\tvar self = this\n\n\tglobal.clearTimeout(self._socketTimer)\n\tself._socketTimer = null\n\n\tif (done) {\n\t\tglobal.clearTimeout(self._fetchTimer)\n\t\tself._fetchTimer = null\n\t} else if (self._socketTimeout) {\n\t\tself._socketTimer = global.setTimeout(function () {\n\t\t\tself.emit('timeout')\n\t\t}, self._socketTimeout)\n\t}\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) {\n\tvar self = this\n\tself._destroyed = true\n\tself._resetTimers(true)\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\tif (err)\n\t\tself.emit('error', err)\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.setTimeout = function (timeout, cb) {\n\tvar self = this\n\n\tif (cb)\n\t\tself.once('timeout', cb)\n\n\tself._socketTimeout = timeout\n\tself._resetTimers(false)\n}\n\nClientRequest.prototype.flushHeaders = 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","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, resetTimers) {\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\tresetTimers(false)\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(Buffer.from(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\tresetTimers(true)\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\tresetTimers(true)\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\tresetTimers(true)\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\tresetTimers(result.done)\n\t\t\t\tif (result.done) {\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(Buffer.from(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tresetTimers(true)\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 (resetTimers) {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text':\n\t\t\tresponse = xhr.responseText\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 = Buffer.alloc(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(Buffer.from(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(Buffer.from(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(Buffer.from(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\tresetTimers(true)\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\tresetTimers(true)\n\t\tself.push(null)\n\t}\n}\n","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\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 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}","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","var unavailable = function unavailable() {\n throw \"This swarm.js function isn't available on the browser.\";\n};\n\nvar fs = {\n readFile: unavailable\n};\nvar files = {\n download: unavailable,\n safeDownloadArchived: unavailable,\n directoryTree: unavailable\n};\nvar os = {\n platform: unavailable,\n arch: unavailable\n};\nvar path = {\n join: unavailable,\n slice: unavailable\n};\nvar child_process = {\n spawn: unavailable\n};\nvar mimetype = {\n lookup: unavailable\n};\nvar defaultArchives = {};\nvar downloadUrl = null;\n\nvar request = require(\"xhr-request\");\n\nvar bytes = require(\"eth-lib/lib/bytes\");\n\nvar hash = require(\"./swarm-hash.js\");\n\nvar pick = require(\"./pick.js\");\n\nvar swarm = require(\"./swarm\");\n\nmodule.exports = swarm({\n fs: fs,\n files: files,\n os: os,\n path: path,\n child_process: child_process,\n defaultArchives: defaultArchives,\n mimetype: mimetype,\n request: request,\n downloadUrl: downloadUrl,\n bytes: bytes,\n hash: hash,\n pick: pick\n});","var picker = function picker(type) {\n return function () {\n return new Promise(function (resolve, reject) {\n var fileLoader = function fileLoader(e) {\n var directory = {};\n var totalFiles = e.target.files.length;\n var loadedFiles = 0;\n [].map.call(e.target.files, function (file) {\n var reader = new FileReader();\n\n reader.onload = function (e) {\n var data = new Uint8Array(e.target.result);\n\n if (type === \"directory\") {\n var path = file.webkitRelativePath;\n directory[path.slice(path.indexOf(\"/\") + 1)] = {\n type: \"text/plain\",\n data: data\n };\n if (++loadedFiles === totalFiles) resolve(directory);\n } else if (type === \"file\") {\n var _path = file.webkitRelativePath;\n resolve({\n \"type\": mimetype.lookup(_path),\n \"data\": data\n });\n } else {\n resolve(data);\n }\n };\n\n reader.readAsArrayBuffer(file);\n });\n };\n\n var fileInput;\n\n if (type === \"directory\") {\n fileInput = document.createElement(\"input\");\n fileInput.addEventListener(\"change\", fileLoader);\n fileInput.type = \"file\";\n fileInput.webkitdirectory = true;\n fileInput.mozdirectory = true;\n fileInput.msdirectory = true;\n fileInput.odirectory = true;\n fileInput.directory = true;\n } else {\n fileInput = document.createElement(\"input\");\n fileInput.addEventListener(\"change\", fileLoader);\n fileInput.type = \"file\";\n }\n\n ;\n var mouseEvent = document.createEvent(\"MouseEvents\");\n mouseEvent.initEvent(\"click\", true, false);\n fileInput.dispatchEvent(mouseEvent);\n });\n };\n};\n\nmodule.exports = {\n data: picker(\"data\"),\n file: picker(\"file\"),\n directory: picker(\"directory\")\n};","// Thanks https://github.com/axic/swarmhash\nvar keccak = require(\"eth-lib/lib/hash\").keccak256;\n\nvar Bytes = require(\"eth-lib/lib/bytes\");\n\nvar swarmHashBlock = function swarmHashBlock(length, data) {\n var lengthEncoded = Bytes.reverse(Bytes.pad(6, Bytes.fromNumber(length)));\n var bytes = Bytes.flatten([lengthEncoded, \"0x0000\", data]);\n return keccak(bytes).slice(2);\n}; // (Bytes | Uint8Array | String) -> String\n\n\nvar swarmHash = function swarmHash(data) {\n if (typeof data === \"string\" && data.slice(0, 2) !== \"0x\") {\n data = Bytes.fromString(data);\n } else if (typeof data !== \"string\" && data.length !== undefined) {\n data = Bytes.fromUint8Array(data);\n }\n\n var length = Bytes.length(data);\n\n if (length <= 4096) {\n return swarmHashBlock(length, data);\n }\n\n var maxSize = 4096;\n\n while (maxSize * (4096 / 32) < length) {\n maxSize *= 4096 / 32;\n }\n\n var innerNodes = [];\n\n for (var i = 0; i < length; i += maxSize) {\n var size = maxSize < length - i ? maxSize : length - i;\n innerNodes.push(swarmHash(Bytes.slice(data, i, i + size)));\n }\n\n return swarmHashBlock(length, Bytes.flatten(innerNodes));\n};\n\nmodule.exports = swarmHash;","// TODO: this is a temporary fix to hide those libraries from the browser. A\n// slightly better long-term solution would be to split this file into two,\n// separating the functions that are used on Node.js from the functions that\n// are used only on the browser.\nmodule.exports = function (_ref) {\n var fs = _ref.fs,\n files = _ref.files,\n os = _ref.os,\n path = _ref.path,\n child_process = _ref.child_process,\n mimetype = _ref.mimetype,\n defaultArchives = _ref.defaultArchives,\n request = _ref.request,\n downloadUrl = _ref.downloadUrl,\n bytes = _ref.bytes,\n hash = _ref.hash,\n pick = _ref.pick;\n\n // ∀ a . String -> JSON -> Map String a -o Map String a\n // Inserts a key/val pair in an object impurely.\n var impureInsert = function impureInsert(key) {\n return function (val) {\n return function (map) {\n return map[key] = val, map;\n };\n };\n }; // String -> JSON -> Map String JSON\n // Merges an array of keys and an array of vals into an object.\n\n\n var toMap = function toMap(keys) {\n return function (vals) {\n var map = {};\n\n for (var i = 0, l = keys.length; i < l; ++i) {\n map[keys[i]] = vals[i];\n }\n\n return map;\n };\n }; // ∀ a . Map String a -> Map String a -> Map String a\n // Merges two maps into one.\n\n\n var merge = function merge(a) {\n return function (b) {\n var map = {};\n\n for (var key in a) {\n map[key] = a[key];\n }\n\n for (var _key in b) {\n map[_key] = b[_key];\n }\n\n return map;\n };\n }; // ∀ a . [a] -> [a] -> Bool\n\n\n var equals = function equals(a) {\n return function (b) {\n if (a.length !== b.length) {\n return false;\n } else {\n for (var i = 0, l = a.length; i < l; ++i) {\n if (a[i] !== b[i]) return false;\n }\n }\n\n return true;\n };\n }; // String -> String -> String\n\n\n var rawUrl = function rawUrl(swarmUrl) {\n return function (hash) {\n return \"\".concat(swarmUrl, \"/bzz-raw:/\").concat(hash);\n };\n }; // String -> String -> Promise Uint8Array\n // Gets the raw contents of a Swarm hash address.\n\n\n var downloadData = function downloadData(swarmUrl) {\n return function (hash) {\n return new Promise(function (resolve, reject) {\n request(rawUrl(swarmUrl)(hash), {\n responseType: \"arraybuffer\"\n }, function (err, arrayBuffer, response) {\n if (err) {\n return reject(err);\n }\n\n if (response.statusCode >= 400) {\n return reject(new Error(\"Error \".concat(response.statusCode, \".\")));\n }\n\n return resolve(new Uint8Array(arrayBuffer));\n });\n });\n };\n }; // type Entry = {\"type\": String, \"hash\": String}\n // type File = {\"type\": String, \"data\": Uint8Array}\n // String -> String -> Promise (Map String Entry)\n // Solves the manifest of a Swarm address recursively.\n // Returns a map from full paths to entries.\n\n\n var downloadEntries = function downloadEntries(swarmUrl) {\n return function (hash) {\n var search = function search(hash) {\n return function (path) {\n return function (routes) {\n // Formats an entry to the Swarm.js type.\n var format = function format(entry) {\n return {\n type: entry.contentType,\n hash: entry.hash\n };\n }; // To download a single entry:\n // if type is bzz-manifest, go deeper\n // if not, add it to the routing table\n\n\n var downloadEntry = function downloadEntry(entry) {\n if (entry.path === undefined) {\n return Promise.resolve();\n } else {\n return entry.contentType === \"application/bzz-manifest+json\" ? search(entry.hash)(path + entry.path)(routes) : Promise.resolve(impureInsert(path + entry.path)(format(entry))(routes));\n }\n }; // Downloads the initial manifest and then each entry.\n\n\n return downloadData(swarmUrl)(hash).then(function (text) {\n return JSON.parse(toString(text)).entries;\n }).then(function (entries) {\n return Promise.all(entries.map(downloadEntry));\n }).then(function () {\n return routes;\n });\n };\n };\n };\n\n return search(hash)(\"\")({});\n };\n }; // String -> String -> Promise (Map String String)\n // Same as `downloadEntries`, but returns only hashes (no types).\n\n\n var downloadRoutes = function downloadRoutes(swarmUrl) {\n return function (hash) {\n return downloadEntries(swarmUrl)(hash).then(function (entries) {\n return toMap(Object.keys(entries))(Object.keys(entries).map(function (route) {\n return entries[route].hash;\n }));\n });\n };\n }; // String -> String -> Promise (Map String File)\n // Gets the entire directory tree in a Swarm address.\n // Returns a promise mapping paths to file contents.\n\n\n var downloadDirectory = function downloadDirectory(swarmUrl) {\n return function (hash) {\n return downloadEntries(swarmUrl)(hash).then(function (entries) {\n var paths = Object.keys(entries);\n var hashs = paths.map(function (path) {\n return entries[path].hash;\n });\n var types = paths.map(function (path) {\n return entries[path].type;\n });\n var datas = hashs.map(downloadData(swarmUrl));\n\n var files = function files(datas) {\n return datas.map(function (data, i) {\n return {\n type: types[i],\n data: data\n };\n });\n };\n\n return Promise.all(datas).then(function (datas) {\n return toMap(paths)(files(datas));\n });\n });\n };\n }; // String -> String -> String -> Promise String\n // Gets the raw contents of a Swarm hash address.\n // Returns a promise with the downloaded file path.\n\n\n var downloadDataToDisk = function downloadDataToDisk(swarmUrl) {\n return function (hash) {\n return function (filePath) {\n return files.download(rawUrl(swarmUrl)(hash))(filePath);\n };\n };\n }; // String -> String -> String -> Promise (Map String String)\n // Gets the entire directory tree in a Swarm address.\n // Returns a promise mapping paths to file contents.\n\n\n var downloadDirectoryToDisk = function downloadDirectoryToDisk(swarmUrl) {\n return function (hash) {\n return function (dirPath) {\n return downloadRoutes(swarmUrl)(hash).then(function (routingTable) {\n var downloads = [];\n\n for (var route in routingTable) {\n if (route.length > 0) {\n var filePath = path.join(dirPath, route);\n downloads.push(downloadDataToDisk(swarmUrl)(routingTable[route])(filePath));\n }\n\n ;\n }\n\n ;\n return Promise.all(downloads).then(function () {\n return dirPath;\n });\n });\n };\n };\n }; // String -> Uint8Array -> Promise String\n // Uploads raw data to Swarm.\n // Returns a promise with the uploaded hash.\n\n\n var uploadData = function uploadData(swarmUrl) {\n return function (data) {\n return new Promise(function (resolve, reject) {\n var params = {\n body: typeof data === \"string\" ? fromString(data) : data,\n method: \"POST\"\n };\n request(\"\".concat(swarmUrl, \"/bzz-raw:/\"), params, function (err, data) {\n if (err) {\n return reject(err);\n }\n\n return resolve(data);\n });\n });\n };\n }; // String -> String -> String -> File -> Promise String\n // Uploads a file to the Swarm manifest at a given hash, under a specific\n // route. Returns a promise containing the uploaded hash.\n // FIXME: for some reasons Swarm-Gateways is sometimes returning\n // error 404 (bad request), so we retry up to 3 times. Why?\n\n\n var uploadToManifest = function uploadToManifest(swarmUrl) {\n return function (hash) {\n return function (route) {\n return function (file) {\n var attempt = function attempt(n) {\n var slashRoute = route[0] === \"/\" ? route : \"/\" + route;\n var url = \"\".concat(swarmUrl, \"/bzz:/\").concat(hash).concat(slashRoute);\n var opt = {\n method: \"PUT\",\n headers: {\n \"Content-Type\": file.type\n },\n body: file.data\n };\n return new Promise(function (resolve, reject) {\n request(url, opt, function (err, data) {\n if (err) {\n return reject(err);\n }\n\n if (data.indexOf(\"error\") !== -1) {\n return reject(data);\n }\n\n return resolve(data);\n });\n })[\"catch\"](function (e) {\n return n > 0 && attempt(n - 1);\n });\n };\n\n return attempt(3);\n };\n };\n };\n }; // String -> {type: String, data: Uint8Array} -> Promise String\n\n\n var uploadFile = function uploadFile(swarmUrl) {\n return function (file) {\n return uploadDirectory(swarmUrl)({\n \"\": file\n });\n };\n }; // String -> String -> Promise String\n\n\n var uploadFileFromDisk = function uploadFileFromDisk(swarmUrl) {\n return function (filePath) {\n return fs.readFile(filePath).then(function (data) {\n return uploadFile(swarmUrl)({\n type: mimetype.lookup(filePath),\n data: data\n });\n });\n };\n }; // String -> Map String File -> Promise String\n // Uploads a directory to Swarm. The directory is\n // represented as a map of routes and files.\n // A default path is encoded by having a \"\" route.\n\n\n var uploadDirectory = function uploadDirectory(swarmUrl) {\n return function (directory) {\n return uploadData(swarmUrl)(\"{}\").then(function (hash) {\n var uploadRoute = function uploadRoute(route) {\n return function (hash) {\n return uploadToManifest(swarmUrl)(hash)(route)(directory[route]);\n };\n };\n\n var uploadToHash = function uploadToHash(hash, route) {\n return hash.then(uploadRoute(route));\n };\n\n return Object.keys(directory).reduce(uploadToHash, Promise.resolve(hash));\n });\n };\n }; // String -> Promise String\n\n\n var uploadDataFromDisk = function uploadDataFromDisk(swarmUrl) {\n return function (filePath) {\n return fs.readFile(filePath).then(uploadData(swarmUrl));\n };\n }; // String -> Nullable String -> String -> Promise String\n\n\n var uploadDirectoryFromDisk = function uploadDirectoryFromDisk(swarmUrl) {\n return function (defaultPath) {\n return function (dirPath) {\n return files.directoryTree(dirPath).then(function (fullPaths) {\n return Promise.all(fullPaths.map(function (path) {\n return fs.readFile(path);\n })).then(function (datas) {\n var paths = fullPaths.map(function (path) {\n return path.slice(dirPath.length);\n });\n var types = fullPaths.map(function (path) {\n return mimetype.lookup(path) || \"text/plain\";\n });\n return toMap(paths)(datas.map(function (data, i) {\n return {\n type: types[i],\n data: data\n };\n }));\n });\n }).then(function (directory) {\n return merge(defaultPath ? {\n \"\": directory[defaultPath]\n } : {})(directory);\n }).then(uploadDirectory(swarmUrl));\n };\n };\n }; // String -> UploadInfo -> Promise String\n // Simplified multi-type upload which calls the correct\n // one based on the type of the argument given.\n\n\n var _upload = function upload(swarmUrl) {\n return function (arg) {\n // Upload raw data from browser\n if (arg.pick === \"data\") {\n return pick.data().then(uploadData(swarmUrl)); // Upload a file from browser\n } else if (arg.pick === \"file\") {\n return pick.file().then(uploadFile(swarmUrl)); // Upload a directory from browser\n } else if (arg.pick === \"directory\") {\n return pick.directory().then(uploadDirectory(swarmUrl)); // Upload directory/file from disk\n } else if (arg.path) {\n switch (arg.kind) {\n case \"data\":\n return uploadDataFromDisk(swarmUrl)(arg.path);\n\n case \"file\":\n return uploadFileFromDisk(swarmUrl)(arg.path);\n\n case \"directory\":\n return uploadDirectoryFromDisk(swarmUrl)(arg.defaultFile)(arg.path);\n }\n\n ; // Upload UTF-8 string or raw data (buffer)\n } else if (arg.length || typeof arg === \"string\") {\n return uploadData(swarmUrl)(arg); // Upload directory with JSON\n } else if (arg instanceof Object) {\n return uploadDirectory(swarmUrl)(arg);\n }\n\n return Promise.reject(new Error(\"Bad arguments\"));\n };\n }; // String -> String -> Nullable String -> Promise (String | Uint8Array | Map String Uint8Array)\n // Simplified multi-type download which calls the correct function based on\n // the type of the argument given, and on whether the Swwarm address has a\n // directory or a file.\n\n\n var _download = function download(swarmUrl) {\n return function (hash) {\n return function (path) {\n return isDirectory(swarmUrl)(hash).then(function (isDir) {\n if (isDir) {\n return path ? downloadDirectoryToDisk(swarmUrl)(hash)(path) : downloadDirectory(swarmUrl)(hash);\n } else {\n return path ? downloadDataToDisk(swarmUrl)(hash)(path) : downloadData(swarmUrl)(hash);\n }\n });\n };\n };\n }; // String -> Promise String\n // Downloads the Swarm binaries into a path. Returns a promise that only\n // resolves when the exact Swarm file is there, and verified to be correct.\n // If it was already there to begin with, skips the download.\n\n\n var downloadBinary = function downloadBinary(path, archives) {\n var system = os.platform().replace(\"win32\", \"windows\") + \"-\" + (os.arch() === \"x64\" ? \"amd64\" : \"386\");\n var archive = (archives || defaultArchives)[system];\n var archiveUrl = downloadUrl + archive.archive + \".tar.gz\";\n var archiveMD5 = archive.archiveMD5;\n var binaryMD5 = archive.binaryMD5;\n return files.safeDownloadArchived(archiveUrl)(archiveMD5)(binaryMD5)(path);\n }; // type SwarmSetup = {\n // account : String,\n // password : String,\n // dataDir : String,\n // binPath : String,\n // ensApi : String,\n // onDownloadProgress : Number ~> (),\n // archives : [{\n // archive: String,\n // binaryMD5: String,\n // archiveMD5: String\n // }]\n // }\n // SwarmSetup ~> Promise Process\n // Starts the Swarm process.\n\n\n var startProcess = function startProcess(swarmSetup) {\n return new Promise(function (resolve, reject) {\n var spawn = child_process.spawn;\n\n var hasString = function hasString(str) {\n return function (buffer) {\n return ('' + buffer).indexOf(str) !== -1;\n };\n };\n\n var account = swarmSetup.account,\n password = swarmSetup.password,\n dataDir = swarmSetup.dataDir,\n ensApi = swarmSetup.ensApi,\n privateKey = swarmSetup.privateKey;\n var STARTUP_TIMEOUT_SECS = 3;\n var WAITING_PASSWORD = 0;\n var STARTING = 1;\n var LISTENING = 2;\n var PASSWORD_PROMPT_HOOK = \"Passphrase\";\n var LISTENING_HOOK = \"Swarm http proxy started\";\n var state = WAITING_PASSWORD;\n var swarmProcess = spawn(swarmSetup.binPath, ['--bzzaccount', account || privateKey, '--datadir', dataDir, '--ens-api', ensApi]);\n\n var handleProcessOutput = function handleProcessOutput(data) {\n if (state === WAITING_PASSWORD && hasString(PASSWORD_PROMPT_HOOK)(data)) {\n setTimeout(function () {\n state = STARTING;\n swarmProcess.stdin.write(password + '\\n');\n }, 500);\n } else if (hasString(LISTENING_HOOK)(data)) {\n state = LISTENING;\n clearTimeout(timeout);\n resolve(swarmProcess);\n }\n };\n\n swarmProcess.stdout.on('data', handleProcessOutput);\n swarmProcess.stderr.on('data', handleProcessOutput); //swarmProcess.on('close', () => setTimeout(restart, 2000));\n\n var restart = function restart() {\n return startProcess(swarmSetup).then(resolve)[\"catch\"](reject);\n };\n\n var error = function error() {\n return reject(new Error(\"Couldn't start swarm process.\"));\n };\n\n var timeout = setTimeout(error, 20000);\n });\n }; // Process ~> Promise ()\n // Stops the Swarm process.\n\n\n var stopProcess = function stopProcess(process) {\n return new Promise(function (resolve, reject) {\n process.stderr.removeAllListeners('data');\n process.stdout.removeAllListeners('data');\n process.stdin.removeAllListeners('error');\n process.removeAllListeners('error');\n process.removeAllListeners('exit');\n process.kill('SIGINT');\n var killTimeout = setTimeout(function () {\n return process.kill('SIGKILL');\n }, 8000);\n process.once('close', function () {\n clearTimeout(killTimeout);\n resolve();\n });\n });\n }; // SwarmSetup -> (SwarmAPI -> Promise ()) -> Promise ()\n // Receives a Swarm configuration object and a callback function. It then\n // checks if a local Swarm node is running. If no local Swarm is found, it\n // downloads the Swarm binaries to the dataDir (if not there), checksums,\n // starts the Swarm process and calls the callback function with an API\n // object using the local node. That callback must return a promise which\n // will resolve when it is done using the API, so that this function can\n // close the Swarm process properly. Returns a promise that resolves when the\n // user is done with the API and the Swarm process is closed.\n // TODO: check if Swarm process is already running (improve `isAvailable`)\n\n\n var local = function local(swarmSetup) {\n return function (useAPI) {\n return _isAvailable(\"http://localhost:8500\").then(function (isAvailable) {\n return isAvailable ? useAPI(at(\"http://localhost:8500\")).then(function () {}) : downloadBinary(swarmSetup.binPath, swarmSetup.archives).onData(function (data) {\n return (swarmSetup.onProgress || function () {})(data.length);\n }).then(function () {\n return startProcess(swarmSetup);\n }).then(function (process) {\n return useAPI(at(\"http://localhost:8500\")).then(function () {\n return process;\n });\n }).then(stopProcess);\n });\n };\n }; // String ~> Promise Bool\n // Returns true if Swarm is available on `url`.\n // Perfoms a test upload to determine that.\n // TODO: improve this?\n\n\n var _isAvailable = function isAvailable(swarmUrl) {\n var testFile = \"test\";\n var testHash = \"c9a99c7d326dcc6316f32fe2625b311f6dc49a175e6877681ded93137d3569e7\";\n return uploadData(swarmUrl)(testFile).then(function (hash) {\n return hash === testHash;\n })[\"catch\"](function () {\n return false;\n });\n }; // String -> String ~> Promise Bool\n // Returns a Promise which is true if that Swarm address is a directory.\n // Determines that by checking that it (i) is a JSON, (ii) has a .entries.\n // TODO: improve this?\n\n\n var isDirectory = function isDirectory(swarmUrl) {\n return function (hash) {\n return downloadData(swarmUrl)(hash).then(function (data) {\n try {\n return !!JSON.parse(toString(data)).entries;\n } catch (e) {\n return false;\n }\n });\n };\n }; // Uncurries a function; used to allow the f(x,y,z) style on exports.\n\n\n var uncurry = function uncurry(f) {\n return function (a, b, c, d, e) {\n var p; // Hardcoded because efficiency (`arguments` is very slow).\n\n if (typeof a !== \"undefined\") p = f(a);\n if (typeof b !== \"undefined\") p = f(b);\n if (typeof c !== \"undefined\") p = f(c);\n if (typeof d !== \"undefined\") p = f(d);\n if (typeof e !== \"undefined\") p = f(e);\n return p;\n };\n }; // () -> Promise Bool\n // Not sure how to mock Swarm to test it properly. Ideas?\n\n\n var test = function test() {\n return Promise.resolve(true);\n }; // Uint8Array -> String\n\n\n var toString = function toString(uint8Array) {\n return bytes.toString(bytes.fromUint8Array(uint8Array));\n }; // String -> Uint8Array\n\n\n var fromString = function fromString(string) {\n return bytes.toUint8Array(bytes.fromString(string));\n }; // String -> SwarmAPI\n // Fixes the `swarmUrl`, returning an API where you don't have to pass it.\n\n\n var at = function at(swarmUrl) {\n return {\n download: function download(hash, path) {\n return _download(swarmUrl)(hash)(path);\n },\n downloadData: uncurry(downloadData(swarmUrl)),\n downloadDataToDisk: uncurry(downloadDataToDisk(swarmUrl)),\n downloadDirectory: uncurry(downloadDirectory(swarmUrl)),\n downloadDirectoryToDisk: uncurry(downloadDirectoryToDisk(swarmUrl)),\n downloadEntries: uncurry(downloadEntries(swarmUrl)),\n downloadRoutes: uncurry(downloadRoutes(swarmUrl)),\n isAvailable: function isAvailable() {\n return _isAvailable(swarmUrl);\n },\n upload: function upload(arg) {\n return _upload(swarmUrl)(arg);\n },\n uploadData: uncurry(uploadData(swarmUrl)),\n uploadFile: uncurry(uploadFile(swarmUrl)),\n uploadFileFromDisk: uncurry(uploadFile(swarmUrl)),\n uploadDataFromDisk: uncurry(uploadDataFromDisk(swarmUrl)),\n uploadDirectory: uncurry(uploadDirectory(swarmUrl)),\n uploadDirectoryFromDisk: uncurry(uploadDirectoryFromDisk(swarmUrl)),\n uploadToManifest: uncurry(uploadToManifest(swarmUrl)),\n pick: pick,\n hash: hash,\n fromString: fromString,\n toString: toString\n };\n };\n\n return {\n at: at,\n local: local,\n download: _download,\n downloadBinary: downloadBinary,\n downloadData: downloadData,\n downloadDataToDisk: downloadDataToDisk,\n downloadDirectory: downloadDirectory,\n downloadDirectoryToDisk: downloadDirectoryToDisk,\n downloadEntries: downloadEntries,\n downloadRoutes: downloadRoutes,\n isAvailable: _isAvailable,\n startProcess: startProcess,\n stopProcess: stopProcess,\n upload: _upload,\n uploadData: uploadData,\n uploadDataFromDisk: uploadDataFromDisk,\n uploadFile: uploadFile,\n uploadFileFromDisk: uploadFileFromDisk,\n uploadDirectory: uploadDirectory,\n uploadDirectoryFromDisk: uploadDirectoryFromDisk,\n uploadToManifest: uploadToManifest,\n pick: pick,\n hash: hash,\n fromString: fromString,\n toString: toString\n };\n};","var generate = function generate(num, fn) {\n var a = [];\n for (var i = 0; i < num; ++i) {\n a.push(fn(i));\n }return a;\n};\n\nvar replicate = function replicate(num, val) {\n return generate(num, function () {\n return val;\n });\n};\n\nvar concat = function concat(a, b) {\n return a.concat(b);\n};\n\nvar flatten = function flatten(a) {\n var r = [];\n for (var j = 0, J = a.length; j < J; ++j) {\n for (var i = 0, I = a[j].length; i < I; ++i) {\n r.push(a[j][i]);\n }\n }return r;\n};\n\nvar chunksOf = function chunksOf(n, a) {\n var b = [];\n for (var i = 0, l = a.length; i < l; i += n) {\n b.push(a.slice(i, i + n));\n }return b;\n};\n\nmodule.exports = {\n generate: generate,\n replicate: replicate,\n concat: concat,\n flatten: flatten,\n chunksOf: chunksOf\n};","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};","// 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\nvar HEX_CHARS = '0123456789abcdef'.split('');\nvar KECCAK_PADDING = [1, 256, 65536, 16777216];\nvar SHIFT = [0, 8, 16, 24];\nvar 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\nvar Keccak = function Keccak(bits) {\n return {\n blocks: [],\n reset: true,\n block: 0,\n start: 0,\n blockCount: 1600 - (bits << 1) >> 5,\n outputBlocks: bits >> 5,\n s: function (s) {\n return [].concat(s, s, s, s, s);\n }([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n };\n};\n\nvar update = function 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\nvar f = function 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\nvar keccak = function keccak(bits) {\n return function (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) {\n msg.push(parseInt(str.slice(i, i + 2), 16));\n }\n } else {\n msg = str;\n }\n return update(Keccak(bits, bits), msg);\n };\n};\n\nmodule.exports = {\n keccak256: keccak(256),\n keccak512: keccak(512),\n keccak256s: keccak(256),\n keccak512s: keccak(512)\n};","module.exports = urlSetQuery\nfunction urlSetQuery (url, query) {\n if (query) {\n // remove optional leading symbols\n query = query.trim().replace(/^(\\?|#|&)/, '')\n\n // don't append empty query\n query = query ? ('?' + query) : query\n\n var parts = url.split(/[\\?\\#]/)\n var start = parts[0]\n if (query && /\\:\\/\\/[^\\/]*$/.test(start)) {\n // e.g. http://foo.com -> http://foo.com/\n start = start + '/'\n }\n var match = url.match(/(\\#.*)$/)\n url = start + query\n if (match) { // add hash back in\n url = url + match[0]\n }\n }\n return url\n}\n","/*! https://mths.be/punycode v1.3.2 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 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 * http://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.3.2',\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) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // 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 { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\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 (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\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 Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(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","'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\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","'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","/*! 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","\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","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}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\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\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 debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\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').slice(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.slice(1, -1);\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()`.\nexports.types = require('./support/types');\n\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;\nexports.types.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;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = 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.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, 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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","module.exports = read\n\nvar MSB = 0x80\n , REST = 0x7F\n\nfunction read(buf, offset) {\n var res = 0\n , offset = offset || 0\n , shift = 0\n , counter = offset\n , b\n , l = buf.length\n\n do {\n if (counter >= l) {\n read.bytes = 0\n throw new RangeError('Could not decode varint')\n }\n b = buf[counter++]\n res += shift < 28\n ? (b & REST) << shift\n : (b & REST) * Math.pow(2, shift)\n shift += 7\n } while (b >= MSB)\n\n read.bytes = counter - offset\n\n return res\n}\n","module.exports = encode\n\nvar MSB = 0x80\n , REST = 0x7F\n , MSBALL = ~REST\n , INT = Math.pow(2, 31)\n\nfunction encode(num, out, offset) {\n out = out || []\n offset = offset || 0\n var oldOffset = offset\n\n while(num >= INT) {\n out[offset++] = (num & 0xFF) | MSB\n num /= 128\n }\n while(num & MSBALL) {\n out[offset++] = (num & 0xFF) | MSB\n num >>>= 7\n }\n out[offset] = num | 0\n \n encode.bytes = offset - oldOffset + 1\n \n return out\n}\n","module.exports = {\n encode: require('./encode.js')\n , decode: require('./decode.js')\n , encodingLength: require('./length.js')\n}\n","\nvar N1 = Math.pow(2, 7)\nvar N2 = Math.pow(2, 14)\nvar N3 = Math.pow(2, 21)\nvar N4 = Math.pow(2, 28)\nvar N5 = Math.pow(2, 35)\nvar N6 = Math.pow(2, 42)\nvar N7 = Math.pow(2, 49)\nvar N8 = Math.pow(2, 56)\nvar N9 = Math.pow(2, 63)\n\nmodule.exports = function (value) {\n return (\n value < N1 ? 1\n : value < N2 ? 2\n : value < N3 ? 3\n : value < N4 ? 4\n : value < N5 ? 5\n : value < N6 ? 6\n : value < N7 ? 7\n : value < N8 ? 8\n : value < N9 ? 9\n : 10\n )\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","module.exports = require('../package.json').version;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","var queryString = require('query-string')\nvar setQuery = require('url-set-query')\nvar assign = require('object-assign')\nvar ensureHeader = require('./lib/ensure-header.js')\n\n// this is replaced in the browser\nvar request = require('./lib/request.js')\n\nvar mimeTypeJson = 'application/json'\nvar noop = function () {}\n\nmodule.exports = xhrRequest\nfunction xhrRequest (url, opt, cb) {\n if (!url || typeof url !== 'string') {\n throw new TypeError('must specify a URL')\n }\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (cb && typeof cb !== 'function') {\n throw new TypeError('expected cb to be undefined or a function')\n }\n\n cb = cb || noop\n opt = opt || {}\n\n var defaultResponse = opt.json ? 'json' : 'text'\n opt = assign({ responseType: defaultResponse }, opt)\n\n var headers = opt.headers || {}\n var method = (opt.method || 'GET').toUpperCase()\n var query = opt.query\n if (query) {\n if (typeof query !== 'string') {\n query = queryString.stringify(query)\n }\n url = setQuery(url, query)\n }\n\n // allow json response\n if (opt.responseType === 'json') {\n ensureHeader(headers, 'Accept', mimeTypeJson)\n }\n\n // if body content is json\n if (opt.json && method !== 'GET' && method !== 'HEAD') {\n ensureHeader(headers, 'Content-Type', mimeTypeJson)\n opt.body = JSON.stringify(opt.body)\n }\n\n opt.method = method\n opt.url = url\n opt.headers = headers\n delete opt.query\n delete opt.json\n\n return request(opt, cb)\n}\n","module.exports = ensureHeader\nfunction ensureHeader (headers, key, value) {\n var lower = key.toLowerCase()\n if (!headers[key] && !headers[lower]) {\n headers[key] = value\n }\n}\n","module.exports = getResponse\nfunction getResponse (opt, resp) {\n if (!resp) return null\n return {\n statusCode: resp.statusCode,\n headers: resp.headers,\n method: opt.method,\n url: opt.url,\n // the XHR object in browser, http response in Node\n rawRequest: resp.rawRequest ? resp.rawRequest : resp\n }\n}\n","var xhr = require('xhr')\nvar normalize = require('./normalize-response')\nvar noop = function () {}\n\nmodule.exports = xhrRequest\nfunction xhrRequest (opt, cb) {\n delete opt.uri\n\n // for better JSON.parse error handling than xhr module\n var useJson = false\n if (opt.responseType === 'json') {\n opt.responseType = 'text'\n useJson = true\n }\n\n var req = xhr(opt, function xhrRequestResult (err, resp, body) {\n if (useJson && !err) {\n try {\n var text = resp.rawRequest.responseText\n body = JSON.parse(text)\n } catch (e) {\n err = e\n }\n }\n\n resp = normalize(opt, resp)\n if (err) cb(err, null, resp)\n else cb(err, body, resp)\n cb = noop\n })\n\n // Patch abort() so that it also calls the callback, but with an error\n var onabort = req.onabort\n req.onabort = function () {\n var ret = onabort.apply(req, Array.prototype.slice.call(arguments))\n cb(new Error('XHR Aborted'))\n cb = noop\n return ret\n }\n\n return req\n}\n","\"use strict\";\nvar window = require(\"global/window\")\nvar isFunction = require(\"is-function\")\nvar parseHeaders = require(\"parse-headers\")\nvar xtend = require(\"xtend\")\n\nmodule.exports = createXHR\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = createXHR;\ncreateXHR.XMLHttpRequest = window.XMLHttpRequest || noop\ncreateXHR.XDomainRequest = \"withCredentials\" in (new createXHR.XMLHttpRequest()) ? createXHR.XMLHttpRequest : window.XDomainRequest\n\nforEachArray([\"get\", \"put\", \"post\", \"patch\", \"head\", \"delete\"], function(method) {\n createXHR[method === \"delete\" ? \"del\" : method] = function(uri, options, callback) {\n options = initParams(uri, options, callback)\n options.method = method.toUpperCase()\n return _createXHR(options)\n }\n})\n\nfunction forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i++) {\n iterator(array[i])\n }\n}\n\nfunction isEmpty(obj){\n for(var i in obj){\n if(obj.hasOwnProperty(i)) return false\n }\n return true\n}\n\nfunction initParams(uri, options, callback) {\n var params = uri\n\n if (isFunction(options)) {\n callback = options\n if (typeof uri === \"string\") {\n params = {uri:uri}\n }\n } else {\n params = xtend(options, {uri: uri})\n }\n\n params.callback = callback\n return params\n}\n\nfunction createXHR(uri, options, callback) {\n options = initParams(uri, options, callback)\n return _createXHR(options)\n}\n\nfunction _createXHR(options) {\n if(typeof options.callback === \"undefined\"){\n throw new Error(\"callback argument missing\")\n }\n\n var called = false\n var callback = function cbOnce(err, response, body){\n if(!called){\n called = true\n options.callback(err, response, body)\n }\n }\n\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0)\n }\n }\n\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined\n\n if (xhr.response) {\n body = xhr.response\n } else {\n body = xhr.responseText || getXml(xhr)\n }\n\n if (isJson) {\n try {\n body = JSON.parse(body)\n } catch (e) {}\n }\n\n return body\n }\n\n function errorFunc(evt) {\n clearTimeout(timeoutTimer)\n if(!(evt instanceof Error)){\n evt = new Error(\"\" + (evt || \"Unknown XMLHttpRequest Error\") )\n }\n evt.statusCode = 0\n return callback(evt, failureResponse)\n }\n\n // will load the data & process the response in a special response object\n function loadFunc() {\n if (aborted) return\n var status\n clearTimeout(timeoutTimer)\n if(options.useXDR && xhr.status===undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200\n } else {\n status = (xhr.status === 1223 ? 204 : xhr.status)\n }\n var response = failureResponse\n var err = null\n\n if (status !== 0){\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr\n }\n if(xhr.getAllResponseHeaders){ //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders())\n }\n } else {\n err = new Error(\"Internal XMLHttpRequest Error\")\n }\n return callback(err, response, response.body)\n }\n\n var xhr = options.xhr || null\n\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest()\n }else{\n xhr = new createXHR.XMLHttpRequest()\n }\n }\n\n var key\n var aborted\n var uri = xhr.url = options.uri || options.url\n var method = xhr.method = options.method || \"GET\"\n var body = options.body || options.data\n var headers = xhr.headers = options.headers || {}\n var sync = !!options.sync\n var isJson = false\n var timeoutTimer\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr\n }\n\n if (\"json\" in options && options.json !== false) {\n isJson = true\n headers[\"accept\"] || headers[\"Accept\"] || (headers[\"Accept\"] = \"application/json\") //Don't override existing accept header declared by user\n if (method !== \"GET\" && method !== \"HEAD\") {\n headers[\"content-type\"] || headers[\"Content-Type\"] || (headers[\"Content-Type\"] = \"application/json\") //Don't override existing accept header declared by user\n body = JSON.stringify(options.json === true ? body : options.json)\n }\n }\n\n xhr.onreadystatechange = readystatechange\n xhr.onload = loadFunc\n xhr.onerror = errorFunc\n // IE9 must have onprogress be set to a unique function.\n xhr.onprogress = function () {\n // IE must die\n }\n xhr.onabort = function(){\n aborted = true;\n }\n xhr.ontimeout = errorFunc\n xhr.open(method, uri, !sync, options.username, options.password)\n //has to be after open\n if(!sync) {\n xhr.withCredentials = !!options.withCredentials\n }\n // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n if (!sync && options.timeout > 0 ) {\n timeoutTimer = setTimeout(function(){\n if (aborted) return\n aborted = true//IE9 may still call readystatechange\n xhr.abort(\"timeout\")\n var e = new Error(\"XMLHttpRequest timeout\")\n e.code = \"ETIMEDOUT\"\n errorFunc(e)\n }, options.timeout )\n }\n\n if (xhr.setRequestHeader) {\n for(key in headers){\n if(headers.hasOwnProperty(key)){\n xhr.setRequestHeader(key, headers[key])\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error(\"Headers cannot be set on an XDomainRequest object\")\n }\n\n if (\"responseType\" in options) {\n xhr.responseType = options.responseType\n }\n\n if (\"beforeSend\" in options &&\n typeof options.beforeSend === \"function\"\n ) {\n options.beforeSend(xhr)\n }\n\n // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n xhr.send(body || null)\n\n return xhr\n\n\n}\n\nfunction getXml(xhr) {\n // xhr.responseXML will throw Exception \"InvalidStateError\" or \"DOMException\"\n // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML.\n try {\n if (xhr.responseType === \"document\") {\n return xhr.responseXML\n }\n var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === \"parsererror\"\n if (xhr.responseType === \"\" && !firefoxBugTakenEffect) {\n return xhr.responseXML\n }\n } catch (e) {}\n\n return null\n}\n\nfunction noop() {}\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","/*\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 swarm = require(\"swarm-js\");\nvar Bzz = function Bzz(provider) {\n this.givenProvider = Bzz.givenProvider;\n if (provider && provider._requestManager) {\n provider = provider.currentProvider;\n }\n // only allow file picker when in browser\n if (typeof document !== 'undefined') {\n this.pick = swarm.pick;\n }\n this.setProvider(provider);\n};\n// set default ethereum provider\n/* jshint ignore:start */\nBzz.givenProvider = null;\nif (typeof ethereum !== 'undefined' && ethereum.bzz) {\n Bzz.givenProvider = ethereum.bzz;\n}\n/* jshint ignore:end */\nBzz.prototype.setProvider = function (provider) {\n // is ethereum provider\n if (!!provider && typeof provider === 'object' && typeof provider.bzz === 'string') {\n provider = provider.bzz;\n // is no string, set default\n }\n // else if(!_.isString(provider)) {\n // provider = 'http://swarm-gateways.net'; // default to gateway\n // }\n if (typeof provider === 'string') {\n this.currentProvider = provider;\n }\n else {\n this.currentProvider = null;\n var noProviderError = new Error('No provider set, please set one using bzz.setProvider().');\n this.download = this.upload = this.isAvailable = function () {\n throw noProviderError;\n };\n return false;\n }\n // add functions\n this.download = swarm.at(provider).download;\n this.upload = swarm.at(provider).upload;\n this.isAvailable = swarm.at(provider).isAvailable;\n return true;\n};\nmodule.exports = Bzz;\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 if (event.description) {\n error.description = event.description;\n }\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', 'earliest, 'finalized' or 'safe'\n *\n * @method isPredefinedBlockNumber\n *\n * @param {String} blockNumber\n *\n * @returns {Boolean}\n */\nvar isPredefinedBlockNumber = function (blockNumber) {\n return ['latest', 'pending', 'earliest', 'finalized', 'safe'].includes(blockNumber);\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', 'finalized', 'safe', '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', 'type'].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, hexFormat) {\n if (!hexFormat) {\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.type)\n tx.type = utils.hexToNumber(tx.type);\n }\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 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 (!this.hexFormat) {\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 (receipt.effectiveGasPrice) {\n receipt.effectiveGasPrice = utils.hexToNumber(receipt.effectiveGasPrice);\n }\n }\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, hexFormat) {\n if (!hexFormat) {\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 }\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, hexFormat);\n });\n }\n if (block.miner)\n block.miner = utils.toChecksumAddress(block.miner);\n if (block.baseFeePerGas)\n block.baseFeePerGas = utils.hexToNumber(block.baseFeePerGas);\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', '').slice(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","/*\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","/*\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 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.transactionPollingInterval = options.transactionPollingInterval || 1000;\n this.blockHeaderTimeout = options.blockHeaderTimeout || 10; // 10 seconds\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 Object.defineProperty(func, 'call', { configurable: true, writable: true, value: 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 Object.defineProperty(func, 'call', { configurable: true, writable: true, value: 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, this?.hexFormat) : res;\n });\n }\n else {\n return this.outputFormatter && result ? this.outputFormatter(result, this?.hexFormat) : 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, blockHeaderTimeoutId = 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 clearTimeout(blockHeaderTimeoutId);\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 ? parsedTx.gasPrice.toHexString() : undefined,\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 let blockHeaderArrived = false;\n const startInterval = () => {\n intervalId = setInterval(checkConfirmation.bind(null, existingReceipt, true), method.transactionPollingInterval);\n };\n // If provider do not support event subscription use polling\n if (!this.requestManager.provider.on) {\n return startInterval();\n }\n // Subscribe to new block headers to look for tx receipt\n _ethereumCall.subscribe('newBlockHeaders', function (err, blockHeader, sub) {\n blockHeaderArrived = true;\n if (err || !blockHeader) {\n // fall back to polling\n return startInterval();\n }\n checkConfirmation(existingReceipt, false, err, blockHeader, sub);\n });\n // Fallback to polling if tx receipt didn't arrived in \"blockHeaderTimeout\" [10 seconds]\n blockHeaderTimeoutId = setTimeout(() => {\n if (!blockHeaderArrived) {\n startInterval();\n }\n }, this.blockHeaderTimeout * 1000);\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 let args = Array.prototype.slice.call(arguments);\n var defer = promiEvent(!isSendTx), payload = method.toPayload(args);\n method.hexFormat = false;\n if (method.call === 'eth_getTransactionReceipt'\n || method.call === 'eth_getTransactionByHash'\n || method.name === 'getBlock') {\n method.hexFormat = (payload.params.length < args.length && args[args.length - 1] === 'hex');\n }\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 // workaround embedded error details got from some providers like MetaMask\n if (typeof err.data === 'object') {\n // Ganache has no `originalError` sub-object unlike others\n var originalError = err.data.originalError ?? err.data;\n reasonData = originalError.data.substring(10);\n }\n else {\n reasonData = err.data.substring(10);\n }\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 const hasSendTxObject = isSendTx\n && !!payload.params[0]\n && typeof payload.params[0] === 'object';\n if (hasSendTxObject &&\n payload.params[0].type === '0x1'\n && typeof payload.params[0].accessList === 'undefined') {\n payload.params[0].accessList = [];\n }\n // Send the actual transaction\n if (hasSendTxObject\n && (typeof payload.params[0].gasPrice === 'undefined'\n && (typeof payload.params[0].maxPriorityFeePerGas === 'undefined'\n || typeof payload.params[0].maxFeePerGas === 'undefined'))) {\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 _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 Promise.all([\n getBlockByNumber(),\n getGasPrice()\n ]).then(responses => {\n const [block, gasPrice] = responses;\n if ((tx.type === '0x2' || tx.type === undefined) &&\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 || '0x9502F900'; // 2.5 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 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","/*\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 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 var sortResponses = this._sortResponses.bind(this);\n this.requestManager.sendBatch(requests, function (err, results) {\n results = sortResponses(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};\n// Sort responses\nBatch.prototype._sortResponses = function (responses) {\n return (responses || []).sort((a, b) => a.id - b.id);\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 = typeof globalThis === 'object' ? globalThis : undefined;\nif (!global) {\n try {\n global = Function('return this')();\n }\n catch (e) {\n global = self;\n }\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 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 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","/*\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 // This is the starting counter for the Jsonrpc.id.\n // Pick a random number between 0 and the maximum safe integer\n messageId: Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)\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 if (Jsonrpc.messageId === Number.MAX_SAFE_INTEGER) {\n // if the maximum safe integer has been reached, restart from a random number\n Jsonrpc.messageId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);\n }\n else {\n // advance message ID\n Jsonrpc.messageId++;\n }\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","/*\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","/*\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 subscription.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar errors = require('web3-core-helpers').errors;\nvar EventEmitter = require('eventemitter3');\nvar formatters = require('web3-core-helpers').formatters;\nfunction identity(value) {\n return value;\n}\nfunction Subscription(options) {\n EventEmitter.call(this);\n this.id = null;\n this.callback = identity;\n this.arguments = null;\n this.lastBlock = null; // \"from\" block tracker for backfilling events on reconnection\n this.options = {\n subscription: options.subscription,\n type: options.type,\n requestManager: options.requestManager\n };\n}\n// INHERIT\nSubscription.prototype = Object.create(EventEmitter.prototype);\nSubscription.prototype.constructor = Subscription;\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 */\nSubscription.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 */\nSubscription.prototype._validateArgs = function (args) {\n var subscription = this.options.subscription;\n if (!subscription)\n subscription = {};\n if (!subscription.params)\n subscription.params = 0;\n if (args.length !== subscription.params) {\n throw errors.InvalidNumberOfParams(args.length, subscription.params, subscription.subscriptionName);\n }\n};\n/**\n * Should be called to format input args of method\n *\n * @method formatInput\n * @param {Array}\n * @return {Array}\n */\nSubscription.prototype._formatInput = function (args) {\n var subscription = this.options.subscription;\n if (!subscription) {\n return args;\n }\n if (!subscription.inputFormatter) {\n return args;\n }\n var formattedArgs = subscription.inputFormatter.map(function (formatter, index) {\n return formatter ? formatter(args[index]) : args[index];\n });\n return formattedArgs;\n};\n/**\n * Should be called to format output(result) of method\n *\n * @method formatOutput\n * @param result {Object}\n * @return {Object}\n */\nSubscription.prototype._formatOutput = function (result) {\n var subscription = this.options.subscription;\n return (subscription && subscription.outputFormatter && result) ? subscription.outputFormatter(result) : result;\n};\n/**\n * Should create payload from given input args\n *\n * @method toPayload\n * @param {Array} args\n * @return {Object}\n */\nSubscription.prototype._toPayload = function (args) {\n var params = [];\n this.callback = this._extractCallback(args) || identity;\n if (!this.subscriptionMethod) {\n this.subscriptionMethod = args.shift();\n // replace subscription with given name\n if (this.options.subscription.subscriptionName) {\n this.subscriptionMethod = this.options.subscription.subscriptionName;\n }\n }\n if (!this.arguments) {\n this.arguments = this._formatInput(args);\n this._validateArgs(this.arguments);\n args = []; // make empty after validation\n }\n // re-add subscriptionName\n params.push(this.subscriptionMethod);\n params = params.concat(this.arguments);\n if (args.length) {\n throw new Error('Only a callback is allowed as parameter on an already instantiated subscription.');\n }\n return {\n method: this.options.type + '_subscribe',\n params: params\n };\n};\n/**\n * Unsubscribes and clears callbacks\n *\n * @method unsubscribe\n * @return {Object}\n */\nSubscription.prototype.unsubscribe = function (callback) {\n this.options.requestManager.removeSubscription(this.id, callback);\n this.id = null;\n this.lastBlock = null;\n this.removeAllListeners();\n};\n/**\n * Subscribes and watches for changes\n *\n * @method subscribe\n * @param {String} subscription the subscription\n * @param {Object} options the options object with address topics and fromBlock\n * @return {Object}\n */\nSubscription.prototype.subscribe = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var payload = this._toPayload(args);\n if (!payload) {\n return this;\n }\n // throw error, if provider is not set\n if (!this.options.requestManager.provider) {\n setTimeout(function () {\n var err1 = new Error('No provider set.');\n _this.callback(err1, null, _this);\n _this.emit('error', err1);\n }, 0);\n return this;\n }\n // throw error, if provider doesnt support subscriptions\n if (!this.options.requestManager.provider.on) {\n setTimeout(function () {\n var err2 = new Error('The current provider doesn\\'t support subscriptions: ' +\n _this.options.requestManager.provider.constructor.name);\n _this.callback(err2, null, _this);\n _this.emit('error', err2);\n }, 0);\n return this;\n }\n // Re-subscription only: continue fetching from the last block we received.\n // a dropped connection may have resulted in gaps in the logs...\n if (this.lastBlock && !!this.options.params && typeof this.options.params === 'object') {\n payload.params[1] = this.options.params;\n payload.params[1].fromBlock = formatters.inputBlockNumberFormatter(this.lastBlock + 1);\n }\n // if id is there unsubscribe first\n if (this.id) {\n this.unsubscribe();\n }\n // store the params in the options object\n this.options.params = payload.params[1];\n // get past logs, if fromBlock is available\n if (payload.params[0] === 'logs' && !!payload.params[1] && typeof payload.params[1] === 'object' && payload.params[1].hasOwnProperty('fromBlock') && isFinite(payload.params[1].fromBlock)) {\n // send the subscription request\n // copy the params to avoid race-condition with deletion below this block\n var blockParams = Object.assign({}, payload.params[1]);\n this.options.requestManager.send({\n method: 'eth_getLogs',\n params: [blockParams]\n }, function (err, logs) {\n if (!err) {\n logs.forEach(function (log) {\n var output = _this._formatOutput(log);\n _this.callback(null, output, _this);\n _this.emit('data', output);\n });\n // TODO subscribe here? after the past logs?\n }\n else {\n setTimeout(function () {\n _this.callback(err, null, _this);\n _this.emit('error', err);\n }, 0);\n }\n });\n }\n // create subscription\n // TODO move to separate function? so that past logs can go first?\n if (typeof payload.params[1] === 'object')\n delete payload.params[1].fromBlock;\n this.options.requestManager.send(payload, function (err, result) {\n if (!err && result) {\n _this.id = result;\n _this.method = payload.params[0];\n // call callback on notifications\n _this.options.requestManager.addSubscription(_this, function (error, result) {\n if (!error) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.forEach(function (resultItem) {\n var output = _this._formatOutput(resultItem);\n // Track current block (for gaps introduced by dropped connections)\n _this.lastBlock = !!output && typeof output === 'object' ? output.blockNumber : null;\n if (typeof _this.options.subscription.subscriptionHandler === 'function') {\n return _this.options.subscription.subscriptionHandler.call(_this, output);\n }\n else {\n _this.emit('data', output);\n }\n // call the callback, last so that unsubscribe there won't affect the emit above\n _this.callback(null, output, _this);\n });\n }\n else {\n _this.callback(error, false, _this);\n _this.emit('error', error);\n }\n });\n _this.emit('connected', result);\n }\n else {\n setTimeout(function () {\n _this.callback(err, false, _this);\n _this.emit('error', err);\n }, 0);\n }\n });\n // return an object to cancel the subscription\n return this;\n};\n/**\n * Resubscribe\n *\n * @method resubscribe\n *\n * @returns {void}\n */\nSubscription.prototype.resubscribe = function () {\n this.options.requestManager.removeSubscription(this.id); // unsubscribe\n this.id = null;\n this.subscribe(this.callback);\n};\nmodule.exports = Subscription;\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 extend.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar formatters = require('web3-core-helpers').formatters;\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar extend = function (pckg) {\n /* jshint maxcomplexity:5 */\n var ex = function (extension) {\n var extendedObject;\n if (extension.property) {\n if (!pckg[extension.property]) {\n pckg[extension.property] = {};\n }\n extendedObject = pckg[extension.property];\n }\n else {\n extendedObject = pckg;\n }\n if (extension.methods) {\n extension.methods.forEach(function (method) {\n if (!(method instanceof Method)) {\n method = new Method(method);\n }\n method.attachToObject(extendedObject);\n method.setRequestManager(pckg._requestManager);\n });\n }\n return pckg;\n };\n ex.formatters = formatters;\n ex.utils = utils;\n ex.Method = Method;\n return ex;\n};\nmodule.exports = extend;\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 */\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","/*\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 if (!coder.type.match(/\\[(\\d+)\\]/)) {\n return param.map(p => modifyParams(ethersAbiCoder._getCoder(ParamType.from(coder.type.replace('[]', ''))), p));\n }\n const arrayLength = parseInt(coder.type.match(/\\[(\\d+)\\]/)[1]);\n if (param.length !== arrayLength) {\n throw new Error('Array length does not matches with the given input');\n }\n return param.map(p => modifyParams(ethersAbiCoder._getCoder(ParamType.from(coder.type.replace(/\\[\\d+\\]/, ''))), 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 const isStringObject = typeof output === 'object' && output.type && output.type === 'string';\n const isStringType = typeof output === 'string' && output === 'string';\n // only convert `0x` to null if it's not string value\n decodedValue = (decodedValue === '0x' && !isStringObject && !isStringType) ? 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","/*\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 accounts.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n'use strict';\nvar core = require('web3-core');\nvar Method = require('web3-core-method');\nvar Account = require('eth-lib/lib/account');\nvar cryp = require('crypto');\nvar scrypt = require('scrypt-js');\nvar uuid = require('uuid');\nvar utils = require('web3-utils');\nvar helpers = require('web3-core-helpers');\nvar { TransactionFactory } = require('@ethereumjs/tx');\nvar Common = require('@ethereumjs/common').default;\nvar HardForks = require('@ethereumjs/common').Hardfork;\nvar ethereumjsUtil = require('ethereumjs-util');\nvar isNot = function (value) {\n return (typeof value === 'undefined') || value === null;\n};\nvar isExist = function (value) {\n return (typeof value !== 'undefined') && value !== null;\n};\nvar Accounts = function Accounts() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n // remove unecessary core functions\n delete this.BatchRequest;\n delete this.extend;\n var _ethereumCall = [\n new Method({\n name: 'getNetworkId',\n call: 'net_version',\n params: 0,\n outputFormatter: parseInt\n }),\n new Method({\n name: 'getChainId',\n call: 'eth_chainId',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getGasPrice',\n call: 'eth_gasPrice',\n params: 0\n }),\n new Method({\n name: 'getTransactionCount',\n call: 'eth_getTransactionCount',\n params: 2,\n inputFormatter: [function (address) {\n if (utils.isAddress(address)) {\n return address;\n }\n else {\n throw new Error('Address ' + address + ' is not a valid address to get the \"transactionCount\".');\n }\n }, function () {\n return 'latest';\n }]\n }),\n 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 }),\n ];\n // attach methods to this._ethereumCall\n this._ethereumCall = {};\n _ethereumCall.forEach((method) => {\n method.attachToObject(_this._ethereumCall);\n method.setRequestManager(_this._requestManager);\n });\n this.wallet = new Wallet(this);\n};\nAccounts.prototype._addAccountFunctions = function (account) {\n var _this = this;\n // add sign functions\n account.signTransaction = function signTransaction(tx, callback) {\n return _this.signTransaction(tx, account.privateKey, callback);\n };\n account.sign = function sign(data) {\n return _this.sign(data, account.privateKey);\n };\n account.encrypt = function encrypt(password, options) {\n return _this.encrypt(account.privateKey, password, options);\n };\n return account;\n};\nAccounts.prototype.create = function create(entropy) {\n return this._addAccountFunctions(Account.create(entropy || utils.randomHex(32)));\n};\nAccounts.prototype.privateKeyToAccount = function privateKeyToAccount(privateKey, ignoreLength) {\n if (!privateKey.startsWith('0x')) {\n privateKey = '0x' + privateKey;\n }\n // 64 hex characters + hex-prefix\n if (!ignoreLength && privateKey.length !== 66) {\n throw new Error(\"Private key must be 32 bytes long\");\n }\n return this._addAccountFunctions(Account.fromPrivate(privateKey));\n};\nAccounts.prototype.signTransaction = function signTransaction(tx, privateKey, callback) {\n var _this = this, error = false, transactionOptions = {}, hasTxSigningOptions = !!(tx && ((tx.chain && tx.hardfork) || tx.common));\n callback = callback || function () { };\n if (!tx) {\n error = new Error('No transaction object given!');\n callback(error);\n return Promise.reject(error);\n }\n if (isExist(tx.common) && isNot(tx.common.customChain)) {\n error = new Error('If tx.common is provided it must have tx.common.customChain');\n callback(error);\n return Promise.reject(error);\n }\n if (isExist(tx.common) && isNot(tx.common.customChain.chainId)) {\n error = new Error('If tx.common is provided it must have tx.common.customChain and tx.common.customChain.chainId');\n callback(error);\n return Promise.reject(error);\n }\n if (isExist(tx.common) && isExist(tx.common.customChain.chainId) && isExist(tx.chainId) && tx.chainId !== tx.common.customChain.chainId) {\n error = new Error('Chain Id doesnt match in tx.chainId tx.common.customChain.chainId');\n callback(error);\n return Promise.reject(error);\n }\n function signed(tx) {\n const error = _validateTransactionForSigning(tx);\n if (error) {\n callback(error);\n return Promise.reject(error);\n }\n try {\n var transaction = helpers.formatters.inputCallFormatter(Object.assign({}, tx));\n transaction.data = transaction.data || '0x';\n transaction.value = transaction.value || '0x';\n transaction.gasLimit = transaction.gasLimit || transaction.gas;\n if (transaction.type === '0x1' && transaction.accessList === undefined)\n transaction.accessList = [];\n // Because tx has no @ethereumjs/tx signing options we use fetched vals.\n if (!hasTxSigningOptions) {\n transactionOptions.common = Common.forCustomChain('mainnet', {\n name: 'custom-network',\n networkId: transaction.networkId,\n chainId: transaction.chainId\n }, transaction.hardfork || HardForks.London);\n delete transaction.networkId;\n }\n else {\n if (transaction.common) {\n transactionOptions.common = Common.forCustomChain(transaction.common.baseChain || 'mainnet', {\n name: transaction.common.customChain.name || 'custom-network',\n networkId: transaction.common.customChain.networkId,\n chainId: transaction.common.customChain.chainId\n }, transaction.common.hardfork || HardForks.London);\n delete transaction.common;\n }\n if (transaction.chain) {\n transactionOptions.chain = transaction.chain;\n delete transaction.chain;\n }\n if (transaction.hardfork) {\n transactionOptions.hardfork = transaction.hardfork;\n delete transaction.hardfork;\n }\n }\n if (privateKey.startsWith('0x')) {\n privateKey = privateKey.substring(2);\n }\n var ethTx = TransactionFactory.fromTxData(transaction, transactionOptions);\n var signedTx = ethTx.sign(Buffer.from(privateKey, 'hex'));\n var validationErrors = signedTx.validate(true);\n if (validationErrors.length > 0) {\n let errorString = 'Signer Error: ';\n for (const validationError of validationErrors) {\n errorString += `${errorString} ${validationError}.`;\n }\n throw new Error(errorString);\n }\n var rlpEncoded = signedTx.serialize().toString('hex');\n var rawTransaction = '0x' + rlpEncoded;\n var transactionHash = utils.keccak256(rawTransaction);\n var result = {\n messageHash: '0x' + Buffer.from(signedTx.getMessageToSign(true)).toString('hex'),\n v: '0x' + signedTx.v.toString('hex'),\n r: '0x' + signedTx.r.toString('hex'),\n s: '0x' + signedTx.s.toString('hex'),\n rawTransaction: rawTransaction,\n transactionHash: transactionHash\n };\n callback(null, result);\n return result;\n }\n catch (e) {\n callback(e);\n return Promise.reject(e);\n }\n }\n tx.type = _handleTxType(tx);\n // Resolve immediately if nonce, chainId, price and signing options are provided\n if (tx.nonce !== undefined &&\n tx.chainId !== undefined &&\n (tx.gasPrice !== undefined ||\n (tx.maxFeePerGas !== undefined &&\n tx.maxPriorityFeePerGas !== undefined)) &&\n hasTxSigningOptions) {\n return Promise.resolve(signed(tx));\n }\n // Otherwise, get the missing info from the Ethereum Node\n return Promise.all([\n ((isNot(tx.common) || isNot(tx.common.customChain.chainId)) ? //tx.common.customChain.chainId is not optional inside tx.common if tx.common is provided\n (isNot(tx.chainId) ? _this._ethereumCall.getChainId() : tx.chainId)\n : undefined),\n isNot(tx.nonce) ? _this._ethereumCall.getTransactionCount(_this.privateKeyToAccount(privateKey).address) : tx.nonce,\n isNot(hasTxSigningOptions) ? _this._ethereumCall.getNetworkId() : 1,\n _handleTxPricing(_this, tx)\n ]).then(function (args) {\n const [txchainId, txnonce, txnetworkId, txgasInfo] = args;\n if ((isNot(txchainId) && isNot(tx.common) && isNot(tx.common.customChain.chainId)) || isNot(txnonce) || isNot(txnetworkId) || isNot(txgasInfo)) {\n throw new Error('One of the values \"chainId\", \"networkId\", \"gasPrice\", or \"nonce\" couldn\\'t be fetched: ' + JSON.stringify(args));\n }\n return signed({\n ...tx,\n ...((isNot(tx.common) || isNot(tx.common.customChain.chainId)) ? { chainId: txchainId } : {}),\n nonce: txnonce,\n networkId: txnetworkId,\n ...txgasInfo // Will either be gasPrice or maxFeePerGas and maxPriorityFeePerGas\n });\n });\n};\nfunction _validateTransactionForSigning(tx) {\n if (tx.common && (tx.chain && tx.hardfork)) {\n return new Error('Please provide the @ethereumjs/common object or the chain and hardfork property but not all together.');\n }\n if ((tx.chain && !tx.hardfork) || (tx.hardfork && !tx.chain)) {\n return new Error('When specifying chain and hardfork, both values must be defined. ' +\n 'Received \"chain\": ' + tx.chain + ', \"hardfork\": ' + tx.hardfork);\n }\n if ((!tx.gas && !tx.gasLimit) &&\n (!tx.maxPriorityFeePerGas && !tx.maxFeePerGas)) {\n return new Error('\"gas\" is missing');\n }\n if (tx.gas && tx.gasPrice) {\n if (tx.gas < 0 || tx.gasPrice < 0) {\n return new Error('Gas or gasPrice is lower than 0');\n }\n }\n else {\n if (tx.maxPriorityFeePerGas < 0 || tx.maxFeePerGas < 0) {\n return new Error('maxPriorityFeePerGas or maxFeePerGas is lower than 0');\n }\n }\n if (tx.nonce < 0 || tx.chainId < 0) {\n return new Error('Nonce or chainId is lower than 0');\n }\n return;\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 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(_this, tx) {\n return new Promise((resolve, reject) => {\n try {\n if ((tx.type === undefined || tx.type < '0x2')\n && tx.gasPrice !== undefined) {\n // Legacy transaction, return provided gasPrice\n resolve({ gasPrice: tx.gasPrice });\n }\n else if (tx.type === '0x2' && tx.maxFeePerGas && tx.maxPriorityFeePerGas) {\n // EIP-1559 transaction, return provided maxFeePerGas and maxPriorityFeePerGas\n resolve({ maxFeePerGas: tx.maxFeePerGas, maxPriorityFeePerGas: tx.maxPriorityFeePerGas });\n }\n else {\n Promise.all([\n _this._ethereumCall.getBlockByNumber(),\n _this._ethereumCall.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 || '0x9502F900'; // 2.5 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 }).catch((error) => {\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n }\n });\n}\n/* jshint ignore:start */\nAccounts.prototype.recoverTransaction = function recoverTransaction(rawTx, txOptions = {}) {\n // Rely on EthereumJs/tx to determine the type of transaction\n const data = Buffer.from(rawTx.slice(2), \"hex\");\n const tx = TransactionFactory.fromSerializedData(data);\n //update checksum\n return utils.toChecksumAddress(tx.getSenderAddress().toString(\"hex\"));\n};\n/* jshint ignore:end */\nAccounts.prototype.hashMessage = function hashMessage(data) {\n var messageHex = utils.isHexStrict(data) ? data : utils.utf8ToHex(data);\n var messageBytes = utils.hexToBytes(messageHex);\n var messageBuffer = Buffer.from(messageBytes);\n var preamble = '\\x19Ethereum Signed Message:\\n' + messageBytes.length;\n var preambleBuffer = Buffer.from(preamble);\n var ethMessage = Buffer.concat([preambleBuffer, messageBuffer]);\n return ethereumjsUtil.bufferToHex(ethereumjsUtil.keccak256(ethMessage));\n};\nAccounts.prototype.sign = function sign(data, privateKey) {\n if (!privateKey.startsWith('0x')) {\n privateKey = '0x' + privateKey;\n }\n // 64 hex characters + hex-prefix\n if (privateKey.length !== 66) {\n throw new Error(\"Private key must be 32 bytes long\");\n }\n var hash = this.hashMessage(data);\n var signature = Account.sign(hash, privateKey);\n var vrs = Account.decodeSignature(signature);\n return {\n message: data,\n messageHash: hash,\n v: vrs[0],\n r: vrs[1],\n s: vrs[2],\n signature: signature\n };\n};\nAccounts.prototype.recover = function recover(message, signature, preFixed) {\n var args = [].slice.apply(arguments);\n if (!!message && typeof message === 'object') {\n return this.recover(message.messageHash, Account.encodeSignature([message.v, message.r, message.s]), true);\n }\n if (!preFixed) {\n message = this.hashMessage(message);\n }\n if (args.length >= 4) {\n preFixed = args.slice(-1)[0];\n preFixed = typeof preFixed === 'boolean' ? !!preFixed : false;\n return this.recover(message, Account.encodeSignature(args.slice(1, 4)), preFixed); // v, r, s\n }\n return Account.recover(message, signature);\n};\n// Taken from https://github.com/ethereumjs/ethereumjs-wallet\nAccounts.prototype.decrypt = function (v3Keystore, password, nonStrict) {\n /* jshint maxcomplexity: 10 */\n if (!(typeof password === 'string')) {\n throw new Error('No password given.');\n }\n var json = (!!v3Keystore && typeof v3Keystore === 'object') ? v3Keystore : JSON.parse(nonStrict ? v3Keystore.toLowerCase() : v3Keystore);\n if (json.version !== 3) {\n throw new Error('Not a valid V3 wallet');\n }\n var derivedKey;\n var kdfparams;\n if (json.crypto.kdf === 'scrypt') {\n kdfparams = json.crypto.kdfparams;\n // FIXME: support progress reporting callback\n derivedKey = scrypt.syncScrypt(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.n, kdfparams.r, kdfparams.p, kdfparams.dklen);\n }\n else if (json.crypto.kdf === 'pbkdf2') {\n kdfparams = json.crypto.kdfparams;\n if (kdfparams.prf !== 'hmac-sha256') {\n throw new Error('Unsupported parameters to PBKDF2');\n }\n derivedKey = cryp.pbkdf2Sync(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.c, kdfparams.dklen, 'sha256');\n }\n else {\n throw new Error('Unsupported key derivation scheme');\n }\n var ciphertext = Buffer.from(json.crypto.ciphertext, 'hex');\n var mac = utils.sha3(Buffer.from([...derivedKey.slice(16, 32), ...ciphertext])).replace('0x', '');\n if (mac !== json.crypto.mac) {\n throw new Error('Key derivation failed - possibly wrong password');\n }\n var decipher = cryp.createDecipheriv(json.crypto.cipher, derivedKey.slice(0, 16), Buffer.from(json.crypto.cipherparams.iv, 'hex'));\n var seed = '0x' + Buffer.from([...decipher.update(ciphertext), ...decipher.final()]).toString('hex');\n return this.privateKeyToAccount(seed, true);\n};\nAccounts.prototype.encrypt = function (privateKey, password, options) {\n /* jshint maxcomplexity: 20 */\n var account = this.privateKeyToAccount(privateKey, true);\n options = options || {};\n var salt = options.salt || cryp.randomBytes(32);\n var iv = options.iv || cryp.randomBytes(16);\n var derivedKey;\n var kdf = options.kdf || 'scrypt';\n var kdfparams = {\n dklen: options.dklen || 32,\n salt: salt.toString('hex')\n };\n if (kdf === 'pbkdf2') {\n kdfparams.c = options.c || 262144;\n kdfparams.prf = 'hmac-sha256';\n derivedKey = cryp.pbkdf2Sync(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.c, kdfparams.dklen, 'sha256');\n }\n else if (kdf === 'scrypt') {\n // FIXME: support progress reporting callback\n kdfparams.n = options.n || 8192; // 2048 4096 8192 16384\n kdfparams.r = options.r || 8;\n kdfparams.p = options.p || 1;\n derivedKey = scrypt.syncScrypt(Buffer.from(password), Buffer.from(kdfparams.salt, 'hex'), kdfparams.n, kdfparams.r, kdfparams.p, kdfparams.dklen);\n }\n else {\n throw new Error('Unsupported kdf');\n }\n var cipher = cryp.createCipheriv(options.cipher || 'aes-128-ctr', derivedKey.slice(0, 16), iv);\n if (!cipher) {\n throw new Error('Unsupported cipher');\n }\n var ciphertext = Buffer.from([\n ...cipher.update(Buffer.from(account.privateKey.replace('0x', ''), 'hex')),\n ...cipher.final()\n ]);\n var mac = utils.sha3(Buffer.from([...derivedKey.slice(16, 32), ...ciphertext])).replace('0x', '');\n return {\n version: 3,\n id: uuid.v4({ random: options.uuid || cryp.randomBytes(16) }),\n address: account.address.toLowerCase().replace('0x', ''),\n crypto: {\n ciphertext: ciphertext.toString('hex'),\n cipherparams: {\n iv: iv.toString('hex')\n },\n cipher: options.cipher || 'aes-128-ctr',\n kdf: kdf,\n kdfparams: kdfparams,\n mac: mac.toString('hex')\n }\n };\n};\n// Note: this is trying to follow closely the specs on\n// http://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html\nfunction Wallet(accounts) {\n this._accounts = accounts;\n this.length = 0;\n this.defaultKeyName = 'web3js_wallet';\n}\nWallet.prototype._findSafeIndex = function (pointer) {\n pointer = pointer || 0;\n if (this.hasOwnProperty(pointer)) {\n return this._findSafeIndex(pointer + 1);\n }\n else {\n return pointer;\n }\n};\nWallet.prototype._currentIndexes = function () {\n var keys = Object.keys(this);\n var indexes = keys\n .map(function (key) {\n return parseInt(key);\n })\n .filter(function (n) {\n return (n < 9e20);\n });\n return indexes;\n};\nWallet.prototype.create = function (numberOfAccounts, entropy) {\n for (var i = 0; i < numberOfAccounts; ++i) {\n this.add(this._accounts.create(entropy).privateKey);\n }\n return this;\n};\nWallet.prototype.add = function (account) {\n if (typeof account === 'string') {\n account = this._accounts.privateKeyToAccount(account);\n }\n if (!this[account.address]) {\n account = this._accounts.privateKeyToAccount(account.privateKey);\n account.index = this._findSafeIndex();\n this[account.index] = account;\n this[account.address] = account;\n this[account.address.toLowerCase()] = account;\n this.length++;\n return account;\n }\n else {\n return this[account.address];\n }\n};\nWallet.prototype.remove = function (addressOrIndex) {\n var account = this[addressOrIndex];\n if (account && account.address) {\n // address\n this[account.address].privateKey = null;\n delete this[account.address];\n // address lowercase\n if (this[account.address.toLowerCase()]) {\n this[account.address.toLowerCase()].privateKey = null;\n delete this[account.address.toLowerCase()];\n }\n // index\n this[account.index].privateKey = null;\n delete this[account.index];\n this.length--;\n return true;\n }\n else {\n return false;\n }\n};\nWallet.prototype.clear = function () {\n var _this = this;\n var indexes = this._currentIndexes();\n indexes.forEach(function (index) {\n _this.remove(index);\n });\n return this;\n};\nWallet.prototype.encrypt = function (password, options) {\n var _this = this;\n var indexes = this._currentIndexes();\n var accounts = indexes.map(function (index) {\n return _this[index].encrypt(password, options);\n });\n return accounts;\n};\nWallet.prototype.decrypt = function (encryptedWallet, password) {\n var _this = this;\n encryptedWallet.forEach(function (keystore) {\n var account = _this._accounts.decrypt(keystore, password);\n if (account) {\n _this.add(account);\n }\n else {\n throw new Error('Couldn\\'t decrypt accounts. Password wrong?');\n }\n });\n return this;\n};\nWallet.prototype.save = function (password, keyName) {\n localStorage.setItem(keyName || this.defaultKeyName, JSON.stringify(this.encrypt(password)));\n return true;\n};\nWallet.prototype.load = function (password, keyName) {\n var keystore = localStorage.getItem(keyName || this.defaultKeyName);\n if (keystore) {\n try {\n keystore = JSON.parse(keystore);\n }\n catch (e) {\n }\n }\n return this.decrypt(keystore || [], password);\n};\nif (!storageAvailable('localStorage')) {\n delete Wallet.prototype.save;\n delete Wallet.prototype.load;\n}\n/**\n * Checks whether a storage type is available or not\n * For more info on how this works, please refer to MDN documentation\n * https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Feature-detecting_localStorage\n *\n * @method storageAvailable\n * @param {String} type the type of storage ('localStorage', 'sessionStorage')\n * @returns {Boolean} a boolean indicating whether the specified storage is available or not\n */\nfunction storageAvailable(type) {\n var storage;\n try {\n storage = self[type];\n var x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n }\n catch (e) {\n return e && (\n // everything except Firefox\n e.code === 22 ||\n // Firefox\n e.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' ||\n // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n // acknowledge QuotaExceededError only if there's something already stored\n (storage && storage.length !== 0);\n }\n}\nmodule.exports = Accounts;\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, 'transactionPollingInterval', {\n get: function () {\n if (_this.options.transactionPollingInterval === 0) {\n return _this.options.transactionPollingInterval;\n }\n return _this.options.transactionPollingInterval || this.constructor.transactionPollingInterval;\n },\n set: function (val) {\n _this.options.transactionPollingInterval = 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, 'blockHeaderTimeout', {\n get: function () {\n if (_this.options.blockHeaderTimeout === 0) {\n return _this.options.blockHeaderTimeout;\n }\n return _this.options.blockHeaderTimeout || this.constructor.blockHeaderTimeout;\n },\n set: function (val) {\n _this.options.blockHeaderTimeout = 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 _options = { ...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 let topics = [];\n if (options.topics && Array.isArray(options.topics)) {\n topics = [...options.topics];\n }\n else {\n topics = [];\n // add event signature\n if (event && !event.anonymous && event.name !== 'ALLEVENTS') {\n topics.push(event.signature || abi.encodeEventSignature(utils.jsonInterfaceMethodToString(event)));\n }\n // add event topics (indexed arguments)\n if (event.name !== 'ALLEVENTS' && event.inputs) {\n for (const input of event.inputs) {\n if (!input.indexed) {\n continue;\n }\n const value = filter[input.name];\n if (!value) {\n // eslint-disable-next-line no-null/no-null\n topics.push(null);\n continue;\n }\n if (Array.isArray(value)) {\n topics.push(value.map(v => abi.encodeParameter(input.type, v)));\n }\n else {\n topics.push(abi.encodeParameter(input.type, value));\n }\n }\n }\n }\n if (topics.length) {\n result.topics = 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 filter: options.filter || {},\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};\nconst filterAllEventsResults = (subOptions, data) => {\n if (subOptions.event && subOptions.event.name === 'ALLEVENTS' && Array.isArray(data)) {\n const filter = subOptions.filter || {};\n const filterKeys = Object.keys(filter);\n return filterKeys.length > 0\n ? data.filter(log => typeof log === 'string' ? true : filterKeys.every((k) => Array.isArray(filter[k]) ? (filter[k]).some((v) => String(log.returnValues[k]).toUpperCase() ===\n String(v).toUpperCase()) : (String(log.returnValues[k]).toUpperCase() ===\n String(filter[k]).toUpperCase())))\n : data;\n }\n return data;\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, (err, data) => {\n if (typeof subOptions.callback === 'function') {\n subOptions.callback(err, filterAllEventsResults(subOptions, data));\n }\n }).then(filterAllEventsResults.bind(this, subOptions));\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 txObject.createAccessList = this.parent._executeMethod.bind(txObject, 'createAccessList');\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 'createAccessList':\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 var createAccessList = (new Method({\n name: 'createAccessList',\n call: 'eth_createAccessList',\n params: 2,\n inputFormatter: [formatters.inputTransactionFormatter, formatters.inputDefaultBlockNumberFormatter],\n requestManager: _this._parent._requestManager,\n accounts: ethAccounts,\n defaultAccount: _this._parent.defaultAccount,\n defaultBlock: _this._parent.defaultBlock\n })).createFunction();\n return createAccessList(args.options, args.callback);\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 transactionPollingInterval: _this._parent.transactionPollingInterval,\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 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 ENS.js\n *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar config = require('./config');\nvar formatters = require('web3-core-helpers').formatters;\nvar utils = require('web3-utils');\nvar Registry = require('./contracts/Registry');\nvar ResolverMethodHandler = require('./lib/ResolverMethodHandler');\nvar contenthash = require('./lib/contentHash');\n/**\n * Constructs a new instance of ENS\n *\n * @param {Eth} eth\n *\n * @constructor\n */\nfunction ENS(eth) {\n this.eth = eth;\n var registryAddress = null;\n this._detectedAddress = null;\n this._lastSyncCheck = null;\n Object.defineProperty(this, 'registry', {\n get: function () {\n return new Registry(this);\n },\n enumerable: true\n });\n Object.defineProperty(this, 'resolverMethodHandler', {\n get: function () {\n return new ResolverMethodHandler(this.registry);\n },\n enumerable: true\n });\n Object.defineProperty(this, 'registryAddress', {\n get: function () {\n return registryAddress;\n },\n set: function (value) {\n if (value === null) {\n registryAddress = value;\n return;\n }\n registryAddress = formatters.inputAddressFormatter(value);\n },\n enumerable: true\n });\n}\n/**\n * Returns true if the given interfaceId is supported and otherwise false.\n *\n * @method supportsInterface\n *\n * @param {string} name\n * @param {string} interfaceId\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.supportsInterface = function (name, interfaceId, callback) {\n return this.getResolver(name).then(function (resolver) {\n if (!utils.isHexStrict(interfaceId)) {\n interfaceId = utils.sha3(interfaceId).slice(0, 10);\n }\n return resolver.methods.supportsInterface(interfaceId).call(callback);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n throw error;\n });\n};\n/**\n * Returns the Resolver by the given address\n *\n * @deprecated Please use the \"getResolver\" method instead of \"resolver\"\n *\n * @method resolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.resolver = function (name, callback) {\n return this.registry.resolver(name, callback);\n};\n/**\n * Returns the Resolver by the given address\n *\n * @method getResolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.getResolver = function (name, callback) {\n return this.registry.getResolver(name, callback);\n};\n/**\n * Does set the resolver of the given name\n *\n * @method setResolver\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setResolver = function (name, address, txConfig, callback) {\n return this.registry.setResolver(name, address, txConfig, callback);\n};\n/**\n * Sets the owner, resolver, and TTL for an ENS record in a single operation.\n *\n * @method setRecord\n *\n * @param {string} name\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setRecord = function (name, owner, resolver, ttl, txConfig, callback) {\n return this.registry.setRecord(name, owner, resolver, ttl, txConfig, callback);\n};\n/**\n * Sets the owner, resolver and TTL for a subdomain, creating it if necessary.\n *\n * @method setSubnodeRecord\n *\n * @param {string} name\n * @param {string} label\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setSubnodeRecord = function (name, label, owner, resolver, ttl, txConfig, callback) {\n return this.registry.setSubnodeRecord(name, label, owner, resolver, ttl, txConfig, callback);\n};\n/**\n * Sets or clears an approval by the given operator.\n *\n * @method setApprovalForAll\n *\n * @param {string} operator\n * @param {boolean} approved\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setApprovalForAll = function (operator, approved, txConfig, callback) {\n return this.registry.setApprovalForAll(operator, approved, txConfig, callback);\n};\n/**\n * Returns true if the operator is approved\n *\n * @method isApprovedForAll\n *\n * @param {string} owner\n * @param {string} operator\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.isApprovedForAll = function (owner, operator, callback) {\n return this.registry.isApprovedForAll(owner, operator, callback);\n};\n/**\n * Returns true if the record exists\n *\n * @method recordExists\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nENS.prototype.recordExists = function (name, callback) {\n return this.registry.recordExists(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setSubnodeOwner\n *\n * @param {string} name\n * @param {string} label\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setSubnodeOwner = function (name, label, address, txConfig, callback) {\n return this.registry.setSubnodeOwner(name, label, address, txConfig, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method getTTL\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getTTL = function (name, callback) {\n return this.registry.getTTL(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setTTL\n *\n * @param {string} name\n * @param {number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setTTL = function (name, ttl, txConfig, callback) {\n return this.registry.setTTL(name, ttl, txConfig, callback);\n};\n/**\n * Returns the owner by the given name and current configured or detected Registry\n *\n * @method getOwner\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getOwner = function (name, callback) {\n return this.registry.getOwner(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setOwner\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setOwner = function (name, address, txConfig, callback) {\n return this.registry.setOwner(name, address, txConfig, callback);\n};\n/**\n * Returns the address record associated with a name.\n *\n * @method getAddress\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getAddress = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'addr', []).call(callback);\n};\n/**\n * Sets a new address\n *\n * @method setAddress\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setAddress = function (name, address, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'setAddr', [address]).send(txConfig, callback);\n};\n/**\n * Returns the public key\n *\n * @method getPubkey\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getPubkey = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'pubkey', [], null, callback).call(callback);\n};\n/**\n * Set the new public key\n *\n * @method setPubkey\n *\n * @param {string} name\n * @param {string} x\n * @param {string} y\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setPubkey = function (name, x, y, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'setPubkey', [x, y]).send(txConfig, callback);\n};\n/**\n * Returns the content\n *\n * @method getContent\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getContent = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'content', []).call(callback);\n};\n/**\n * Set the content\n *\n * @method setContent\n *\n * @param {string} name\n * @param {string} hash\n * @param {function} callback\n * @param {TransactionConfig} txConfig\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setContent = function (name, hash, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'setContent', [hash]).send(txConfig, callback);\n};\n/**\n * Returns the contenthash\n *\n * @method getContenthash\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getContenthash = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'contenthash', [], contenthash.decode).call(callback);\n};\n/**\n * Set the contenthash\n *\n * @method setContent\n *\n * @param {string} name\n * @param {string} hash\n * @param {function} callback\n * @param {TransactionConfig} txConfig\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setContenthash = function (name, hash, txConfig, callback) {\n var encoded;\n try {\n encoded = contenthash.encode(hash);\n }\n catch (err) {\n var error = new Error('Could not encode ' + hash + '. See docs for supported hash protocols.');\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n throw error;\n }\n return this.resolverMethodHandler.method(name, 'setContenthash', [encoded]).send(txConfig, callback);\n};\n/**\n * Get the multihash\n *\n * @method getMultihash\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.getMultihash = function (name, callback) {\n return this.resolverMethodHandler.method(name, 'multihash', []).call(callback);\n};\n/**\n * Set the multihash\n *\n * @method setMultihash\n *\n * @param {string} name\n * @param {string} hash\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nENS.prototype.setMultihash = function (name, hash, txConfig, callback) {\n return this.resolverMethodHandler.method(name, 'multihash', [hash]).send(txConfig, callback);\n};\n/**\n * Checks if the current used network is synced and looks for ENS support there.\n * Throws an error if not.\n *\n * @returns {Promise}\n */\nENS.prototype.checkNetwork = async function () {\n var now = new Date() / 1000;\n if (!this._lastSyncCheck || (now - this._lastSyncCheck) > 3600) {\n var block = await this.eth.getBlock('latest');\n var headAge = now - block.timestamp;\n if (headAge > 3600) {\n throw new Error(\"Network not synced; last block was \" + headAge + \" seconds ago\");\n }\n this._lastSyncCheck = now;\n }\n if (this.registryAddress) {\n return this.registryAddress;\n }\n if (!this._detectedAddress) {\n var networkType = await this.eth.net.getNetworkType();\n var addr = config.addresses[networkType];\n if (typeof addr === 'undefined') {\n throw new Error(\"ENS is not supported on network \" + networkType);\n }\n this._detectedAddress = addr;\n return this._detectedAddress;\n }\n return this._detectedAddress;\n};\nmodule.exports = ENS;\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 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 Registry.js\n *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar Contract = require('web3-eth-contract');\nvar namehash = require('eth-ens-namehash');\nvar PromiEvent = require('web3-core-promievent');\nvar formatters = require('web3-core-helpers').formatters;\nvar utils = require('web3-utils');\nvar REGISTRY_ABI = require('../resources/ABI/Registry');\nvar RESOLVER_ABI = require('../resources/ABI/Resolver');\n/**\n * A wrapper around the ENS registry contract.\n *\n * @method Registry\n * @param {Ens} ens\n * @constructor\n */\nfunction Registry(ens) {\n var self = this;\n this.ens = ens;\n this.contract = ens.checkNetwork().then(function (address) {\n var contract = new Contract(REGISTRY_ABI, address);\n contract.setProvider(self.ens.eth.currentProvider);\n return contract;\n });\n}\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @deprecated Please use the \"getOwner\" method instead of \"owner\"\n *\n * @method owner\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.owner = function (name, callback) {\n console.warn('Deprecated: Please use the \"getOwner\" method instead of \"owner\".');\n return this.getOwner(name, callback);\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method getOwner\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.getOwner = function (name, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.owner(namehash.hash(name)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setOwner\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setOwner = function (name, address, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setOwner(namehash.hash(name), formatters.inputAddressFormatter(address)).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the TTL of the given node by his name\n *\n * @method getTTL\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returnss {Promise}\n */\nRegistry.prototype.getTTL = function (name, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.ttl(namehash.hash(name)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setTTL\n *\n * @param {string} name\n * @param {number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setTTL = function (name, ttl, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setTTL(namehash.hash(name), ttl).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setSubnodeOwner\n *\n * @param {string} name\n * @param {string} label\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setSubnodeOwner = function (name, label, address, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n if (!utils.isHexStrict(label)) {\n label = utils.sha3(label);\n }\n this.contract.then(function (contract) {\n return contract.methods.setSubnodeOwner(namehash.hash(name), label, formatters.inputAddressFormatter(address)).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Sets the owner, resolver, and TTL for an ENS record in a single operation.\n *\n * @method setRecord\n *\n * @param {string} name\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setRecord = function (name, owner, resolver, ttl, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setRecord(namehash.hash(name), formatters.inputAddressFormatter(owner), formatters.inputAddressFormatter(resolver), ttl).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Sets the owner, resolver and TTL for a subdomain, creating it if necessary.\n *\n * @method setSubnodeRecord\n *\n * @param {string} name\n * @param {string} label\n * @param {string} owner\n * @param {string} resolver\n * @param {string | number} ttl\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setSubnodeRecord = function (name, label, owner, resolver, ttl, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n if (!utils.isHexStrict(label)) {\n label = utils.sha3(label);\n }\n this.contract.then(function (contract) {\n return contract.methods.setSubnodeRecord(namehash.hash(name), label, formatters.inputAddressFormatter(owner), formatters.inputAddressFormatter(resolver), ttl).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Sets or clears an approval by the given operator.\n *\n * @method setApprovalForAll\n *\n * @param {string} operator\n * @param {boolean} approved\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setApprovalForAll = function (operator, approved, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setApprovalForAll(formatters.inputAddressFormatter(operator), approved).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns true if the operator is approved\n *\n * @method isApprovedForAll\n *\n * @param {string} owner\n * @param {string} operator\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.isApprovedForAll = function (owner, operator, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.isApprovedForAll(formatters.inputAddressFormatter(owner), formatters.inputAddressFormatter(operator)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns true if the record exists\n *\n * @method recordExists\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.recordExists = function (name, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.recordExists(namehash.hash(name)).call();\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Returns the resolver contract associated with a name.\n *\n * @deprecated Please use the \"getResolver\" method instead of \"resolver\"\n *\n * @method resolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.resolver = function (name, callback) {\n console.warn('Deprecated: Please use the \"getResolver\" method instead of \"resolver\".');\n return this.getResolver(name, callback);\n};\n/**\n * Returns the resolver contract associated with a name.\n *\n * @method getResolver\n *\n * @param {string} name\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {Promise}\n */\nRegistry.prototype.getResolver = function (name, callback) {\n var self = this;\n return this.contract.then(function (contract) {\n return contract.methods.resolver(namehash.hash(name)).call();\n }).then(function (address) {\n var contract = new Contract(RESOLVER_ABI, address);\n contract.setProvider(self.ens.eth.currentProvider);\n if (typeof callback === 'function') {\n // It's required to pass the contract to the first argument to be backward compatible and to have the required consistency\n callback(contract, contract);\n return;\n }\n return contract;\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n throw error;\n });\n};\n/**\n * Returns the address of the owner of an ENS name.\n *\n * @method setResolver\n *\n * @param {string} name\n * @param {string} address\n * @param {TransactionConfig} txConfig\n * @param {function} callback\n *\n * @callback callback callback(error, result)\n * @returns {PromiEvent}\n */\nRegistry.prototype.setResolver = function (name, address, txConfig, callback) {\n var promiEvent = new PromiEvent(true);\n this.contract.then(function (contract) {\n return contract.methods.setResolver(namehash.hash(name), formatters.inputAddressFormatter(address)).send(txConfig);\n }).then(function (receipt) {\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the first argument to be backward compatible and to have the required consistency\n callback(receipt, receipt);\n return;\n }\n promiEvent.resolve(receipt);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\nmodule.exports = Registry;\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 *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar ENS = require('./ENS');\nmodule.exports = ENS;\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 ResolverMethodHandler.js\n *\n * @author Samuel Furter \n * @date 2018\n */\n\"use strict\";\nvar PromiEvent = require('web3-core-promievent');\nvar namehash = require('eth-ens-namehash');\nvar errors = require('web3-core-helpers').errors;\nvar interfaceIds = require('../config').interfaceIds;\n/**\n * @param {Registry} registry\n * @constructor\n */\nfunction ResolverMethodHandler(registry) {\n this.registry = registry;\n}\n/**\n * Executes an resolver method and returns an eventifiedPromise\n *\n * @param {string} ensName\n * @param {string} methodName\n * @param {array} methodArguments\n * @param {function} callback\n * @returns {Object}\n */\nResolverMethodHandler.prototype.method = function (ensName, methodName, methodArguments, outputFormatter, callback) {\n return {\n call: this.call.bind({\n ensName: ensName,\n methodName: methodName,\n methodArguments: methodArguments,\n callback: callback,\n parent: this,\n outputFormatter: outputFormatter\n }),\n send: this.send.bind({\n ensName: ensName,\n methodName: methodName,\n methodArguments: methodArguments,\n callback: callback,\n parent: this\n })\n };\n};\n/**\n * Executes call\n *\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.call = function (callback) {\n var self = this;\n var promiEvent = new PromiEvent();\n var preparedArguments = this.parent.prepareArguments(this.ensName, this.methodArguments);\n var outputFormatter = this.outputFormatter || null;\n this.parent.registry.getResolver(this.ensName).then(async function (resolver) {\n await self.parent.checkInterfaceSupport(resolver, self.methodName);\n self.parent.handleCall(promiEvent, resolver.methods[self.methodName], preparedArguments, outputFormatter, callback);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Executes send\n *\n * @param {Object} sendOptions\n * @param {function} callback\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.send = function (sendOptions, callback) {\n var self = this;\n var promiEvent = new PromiEvent();\n var preparedArguments = this.parent.prepareArguments(this.ensName, this.methodArguments);\n this.parent.registry.getResolver(this.ensName).then(async function (resolver) {\n await self.parent.checkInterfaceSupport(resolver, self.methodName);\n self.parent.handleSend(promiEvent, resolver.methods[self.methodName], preparedArguments, sendOptions, callback);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent.eventEmitter;\n};\n/**\n * Handles a call method\n *\n * @param {eventifiedPromise} promiEvent\n * @param {function} method\n * @param {array} preparedArguments\n * @param {function} callback\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.handleCall = function (promiEvent, method, preparedArguments, outputFormatter, callback) {\n method.apply(this, preparedArguments).call()\n .then(function (result) {\n if (outputFormatter) {\n result = outputFormatter(result);\n }\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the second argument to be backwards compatible and to have the required consistency\n callback(result, result);\n return;\n }\n promiEvent.resolve(result);\n }).catch(function (error) {\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent;\n};\n/**\n * Handles a send method\n *\n * @param {eventifiedPromise} promiEvent\n * @param {function} method\n * @param {array} preparedArguments\n * @param {Object} sendOptions\n * @param {function} callback\n * @returns {eventifiedPromise}\n */\nResolverMethodHandler.prototype.handleSend = function (promiEvent, method, preparedArguments, sendOptions, callback) {\n method.apply(this, preparedArguments).send(sendOptions)\n .on('sending', function () {\n promiEvent.eventEmitter.emit('sending');\n })\n .on('sent', function () {\n promiEvent.eventEmitter.emit('sent');\n })\n .on('transactionHash', function (hash) {\n promiEvent.eventEmitter.emit('transactionHash', hash);\n })\n .on('confirmation', function (confirmationNumber, receipt) {\n promiEvent.eventEmitter.emit('confirmation', confirmationNumber, receipt);\n })\n .on('receipt', function (receipt) {\n promiEvent.eventEmitter.emit('receipt', receipt);\n promiEvent.resolve(receipt);\n if (typeof callback === 'function') {\n // It's required to pass the receipt to the second argument to be backwards compatible and to have the required consistency\n callback(receipt, receipt);\n }\n })\n .on('error', function (error) {\n promiEvent.eventEmitter.emit('error', error);\n if (typeof callback === 'function') {\n callback(error, null);\n return;\n }\n promiEvent.reject(error);\n });\n return promiEvent;\n};\n/**\n * Adds the ENS node to the arguments\n *\n * @param {string} name\n * @param {array} methodArguments\n *\n * @returns {array}\n */\nResolverMethodHandler.prototype.prepareArguments = function (name, methodArguments) {\n var node = namehash.hash(name);\n if (methodArguments.length > 0) {\n methodArguments.unshift(node);\n return methodArguments;\n }\n return [node];\n};\n/**\n *\n *\n * @param {Contract} resolver\n * @param {string} methodName\n *\n * @returns {Promise}\n */\nResolverMethodHandler.prototype.checkInterfaceSupport = async function (resolver, methodName) {\n // Skip validation for undocumented interface ids (ex: multihash)\n if (!interfaceIds[methodName])\n return;\n var supported = false;\n try {\n supported = await resolver\n .methods\n .supportsInterface(interfaceIds[methodName])\n .call();\n }\n catch (err) {\n console.warn('Could not verify interface of resolver contract at \"' + resolver.options.address + '\". ');\n }\n if (!supported) {\n throw errors.ResolverMethodMissingError(resolver.options.address, methodName);\n }\n};\nmodule.exports = ResolverMethodHandler;\n","/*\nAdapted from ensdomains/ui\nhttps://github.com/ensdomains/ui/blob/3e62e440b53466eeec9dd1c63d73924eefbd88c1/src/utils/contents.js#L1-L85\n\nBSD 2-Clause License\n\nCopyright (c) 2019, Ethereum Name Service\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nvar contentHash = require('content-hash');\nfunction decode(encoded) {\n var decoded = null;\n var protocolType = null;\n var error = null;\n if (encoded && encoded.error) {\n return {\n protocolType: null,\n decoded: encoded.error\n };\n }\n if (encoded) {\n try {\n decoded = contentHash.decode(encoded);\n var codec = contentHash.getCodec(encoded);\n if (codec === 'ipfs-ns') {\n protocolType = 'ipfs';\n }\n else if (codec === 'swarm-ns') {\n protocolType = 'bzz';\n }\n else if (codec === 'onion') {\n protocolType = 'onion';\n }\n else if (codec === 'onion3') {\n protocolType = 'onion3';\n }\n else {\n decoded = encoded;\n }\n }\n catch (e) {\n error = e.message;\n }\n }\n return {\n protocolType: protocolType,\n decoded: decoded,\n error: error\n };\n}\nfunction encode(text) {\n var content, contentType;\n var encoded = false;\n if (!!text) {\n var matched = text.match(/^(ipfs|bzz|onion|onion3):\\/\\/(.*)/) || text.match(/\\/(ipfs)\\/(.*)/);\n if (matched) {\n contentType = matched[1];\n content = matched[2];\n }\n try {\n if (contentType === 'ipfs') {\n if (content.length >= 4) {\n encoded = '0x' + contentHash.fromIpfs(content);\n }\n }\n else if (contentType === 'bzz') {\n if (content.length >= 4) {\n encoded = '0x' + contentHash.fromSwarm(content);\n }\n }\n else if (contentType === 'onion') {\n if (content.length === 16) {\n encoded = '0x' + contentHash.encode('onion', content);\n }\n }\n else if (contentType === 'onion3') {\n if (content.length === 56) {\n encoded = '0x' + contentHash.encode('onion3', content);\n }\n }\n else {\n throw new Error('Could not encode content hash: unsupported content type');\n }\n }\n catch (err) {\n throw err;\n }\n }\n return encoded;\n}\nmodule.exports = {\n decode: decode,\n encode: encode\n};\n","\"use strict\";\nvar REGISTRY = [\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"resolver\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"owner\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"label\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setSubnodeOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setTTL\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"ttl\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"resolver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setResolver\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Transfer\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"name\": \"label\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NewOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"resolver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NewResolver\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"NewTTL\",\n \"type\": \"event\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"resolver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setRecord\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setApprovalForAll\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"ApprovalForAll\",\n \"type\": \"event\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isApprovedForAll\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"recordExists\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"label\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"resolver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"ttl\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setSubnodeRecord\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n];\nmodule.exports = REGISTRY;\n","\"use strict\";\nvar RESOLVER = [\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"interfaceID\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"contentTypes\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ABI\",\n \"outputs\": [\n {\n \"name\": \"contentType\",\n \"type\": \"uint256\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"hash\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"setMultihash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"multihash\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"x\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"y\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"setPubkey\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"content\",\n \"outputs\": [\n {\n \"name\": \"ret\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"addr\",\n \"outputs\": [\n {\n \"name\": \"ret\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"contentType\",\n \"type\": \"uint256\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"setABI\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"name\",\n \"outputs\": [\n {\n \"name\": \"ret\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"setName\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"hash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"setContent\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"pubkey\",\n \"outputs\": [\n {\n \"name\": \"x\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"y\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"addr\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAddr\",\n \"outputs\": [],\n \"payable\": false,\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"name\": \"ensAddr\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"a\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddrChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"hash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"ContentChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"name\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"NameChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"name\": \"contentType\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ABIChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"x\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"y\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"PubkeyChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"name\": \"hash\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"ContenthashChanged\",\n \"type\": \"event\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"contenthash\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"node\",\n \"type\": \"bytes32\"\n },\n {\n \"name\": \"hash\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"setContenthash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n];\nmodule.exports = RESOLVER;\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.slice(4) + iban.slice(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.slice(2, 4);\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.slice(7, 11) : '';\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.slice(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.slice(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/**\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","/*\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 getNetworkType.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar getNetworkType = function (callback) {\n var _this = this, id;\n return this.net.getId()\n .then(function (givenId) {\n id = givenId;\n return _this.getBlock(0);\n })\n .then(function (genesis) {\n var returnValue = 'private';\n if (genesis.hash === '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3' &&\n id === 1) {\n returnValue = 'main';\n }\n if (genesis.hash === '0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d' &&\n id === 3) {\n returnValue = 'ropsten';\n }\n if (genesis.hash === '0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177' &&\n id === 4) {\n returnValue = 'rinkeby';\n }\n if (genesis.hash === '0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a' &&\n id === 5) {\n returnValue = 'goerli';\n }\n if (genesis.hash === '0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9' &&\n id === 42) {\n returnValue = 'kovan';\n }\n if (typeof callback === 'function') {\n callback(null, returnValue);\n }\n return returnValue;\n })\n .catch(function (err) {\n if (typeof callback === 'function') {\n callback(err);\n }\n else {\n throw err;\n }\n });\n};\nmodule.exports = getNetworkType;\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 helpers = require('web3-core-helpers');\nvar Subscriptions = require('web3-core-subscriptions').subscriptions;\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar Net = require('web3-net');\nvar ENS = require('web3-eth-ens');\nvar Personal = require('web3-eth-personal');\nvar BaseContract = require('web3-eth-contract');\nvar Iban = require('web3-eth-iban');\nvar Accounts = require('web3-eth-accounts');\nvar abi = require('web3-eth-abi');\nvar getNetworkType = require('./getNetworkType.js');\nvar formatter = helpers.formatters;\nvar blockCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? \"eth_getBlockByHash\" : \"eth_getBlockByNumber\";\n};\nvar transactionFromBlockCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getTransactionByBlockHashAndIndex' : 'eth_getTransactionByBlockNumberAndIndex';\n};\nvar uncleCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getUncleByBlockHashAndIndex' : 'eth_getUncleByBlockNumberAndIndex';\n};\nvar getBlockTransactionCountCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getBlockTransactionCountByHash' : 'eth_getBlockTransactionCountByNumber';\n};\nvar uncleCountCall = function (args) {\n return (typeof args[0] === 'string' && args[0].indexOf('0x') === 0) ? 'eth_getUncleCountByBlockHash' : 'eth_getUncleCountByBlockNumber';\n};\nvar Eth = function Eth() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n // overwrite package setRequestManager\n var setRequestManager = this.setRequestManager;\n this.setRequestManager = function (manager) {\n setRequestManager(manager);\n _this.net.setRequestManager(manager);\n _this.personal.setRequestManager(manager);\n _this.accounts.setRequestManager(manager);\n _this.Contract._requestManager = _this._requestManager;\n _this.Contract.currentProvider = _this._provider;\n return true;\n };\n // overwrite setProvider\n var setProvider = this.setProvider;\n this.setProvider = function () {\n setProvider.apply(_this, arguments);\n _this.setRequestManager(_this._requestManager);\n // Set detectedAddress/lastSyncCheck back to null because the provider could be connected to a different chain now\n _this.ens._detectedAddress = null;\n _this.ens._lastSyncCheck = null;\n };\n var handleRevert = false;\n var defaultAccount = null;\n var defaultBlock = 'latest';\n var transactionBlockTimeout = 50;\n var transactionConfirmationBlocks = 24;\n var transactionPollingTimeout = 750;\n var transactionPollingInterval = 1000;\n var blockHeaderTimeout = 10; // 10 seconds\n var maxListenersWarningThreshold = 100;\n var defaultChain, defaultHardfork, defaultCommon;\n Object.defineProperty(this, 'handleRevert', {\n get: function () {\n return handleRevert;\n },\n set: function (val) {\n handleRevert = val;\n // also set on the Contract object\n _this.Contract.handleRevert = handleRevert;\n // update handleRevert\n methods.forEach(function (method) {\n method.handleRevert = handleRevert;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultCommon', {\n get: function () {\n return defaultCommon;\n },\n set: function (val) {\n defaultCommon = val;\n // also set on the Contract object\n _this.Contract.defaultCommon = defaultCommon;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultCommon = defaultCommon;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultHardfork', {\n get: function () {\n return defaultHardfork;\n },\n set: function (val) {\n defaultHardfork = val;\n // also set on the Contract object\n _this.Contract.defaultHardfork = defaultHardfork;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultHardfork = defaultHardfork;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultChain', {\n get: function () {\n return defaultChain;\n },\n set: function (val) {\n defaultChain = val;\n // also set on the Contract object\n _this.Contract.defaultChain = defaultChain;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultChain = defaultChain;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionPollingTimeout', {\n get: function () {\n return transactionPollingTimeout;\n },\n set: function (val) {\n transactionPollingTimeout = val;\n // also set on the Contract object\n _this.Contract.transactionPollingTimeout = transactionPollingTimeout;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionPollingTimeout = transactionPollingTimeout;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionPollingInterval', {\n get: function () {\n return transactionPollingInterval;\n },\n set: function (val) {\n transactionPollingInterval = val;\n // also set on the Contract object\n _this.Contract.transactionPollingInterval = transactionPollingInterval;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionPollingInterval = transactionPollingInterval;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionConfirmationBlocks', {\n get: function () {\n return transactionConfirmationBlocks;\n },\n set: function (val) {\n transactionConfirmationBlocks = val;\n // also set on the Contract object\n _this.Contract.transactionConfirmationBlocks = transactionConfirmationBlocks;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionConfirmationBlocks = transactionConfirmationBlocks;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionBlockTimeout', {\n get: function () {\n return transactionBlockTimeout;\n },\n set: function (val) {\n transactionBlockTimeout = val;\n // also set on the Contract object\n _this.Contract.transactionBlockTimeout = transactionBlockTimeout;\n // update defaultBlock\n methods.forEach(function (method) {\n method.transactionBlockTimeout = transactionBlockTimeout;\n });\n },\n enumerable: true\n });\n Object.defineProperty(this, 'blockHeaderTimeout', {\n get: function () {\n return blockHeaderTimeout;\n },\n set: function (val) {\n blockHeaderTimeout = val;\n // also set on the Contract object\n _this.Contract.blockHeaderTimeout = blockHeaderTimeout;\n // update defaultBlock\n methods.forEach(function (method) {\n method.blockHeaderTimeout = blockHeaderTimeout;\n });\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(formatter.inputAddressFormatter(val));\n }\n // also set on the Contract object\n _this.Contract.defaultAccount = defaultAccount;\n _this.personal.defaultAccount = defaultAccount;\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 // also set on the Contract object\n _this.Contract.defaultBlock = defaultBlock;\n _this.personal.defaultBlock = defaultBlock;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultBlock = defaultBlock;\n });\n return val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'maxListenersWarningThreshold', {\n get: function () {\n return maxListenersWarningThreshold;\n },\n set: function (val) {\n if (_this.currentProvider && _this.currentProvider.setMaxListeners) {\n maxListenersWarningThreshold = val;\n _this.currentProvider.setMaxListeners(val);\n }\n },\n enumerable: true\n });\n this.clearSubscriptions = _this._requestManager.clearSubscriptions.bind(_this._requestManager);\n this.removeSubscriptionById = _this._requestManager.removeSubscription.bind(_this._requestManager);\n // add net\n this.net = new Net(this);\n // add chain detection\n this.net.getNetworkType = getNetworkType.bind(this);\n // add accounts\n this.accounts = new Accounts(this);\n // add personal\n this.personal = new Personal(this);\n this.personal.defaultAccount = this.defaultAccount;\n // set warnings threshold\n this.maxListenersWarningThreshold = maxListenersWarningThreshold;\n // create a proxy Contract type for this instance, as a Contract's provider\n // is stored as a class member rather than an instance variable. If we do\n // not create this proxy type, changing the provider in one instance of\n // web3-eth would subsequently change the provider for _all_ contract\n // instances!\n var self = this;\n var Contract = function Contract() {\n BaseContract.apply(this, arguments);\n // when Eth.setProvider is called, call packageInit\n // on all contract instances instantiated via this Eth\n // instances. This will update the currentProvider for\n // the contract instances\n var _this = this;\n var setProvider = self.setProvider;\n self.setProvider = function () {\n setProvider.apply(self, arguments);\n core.packageInit(_this, [self]);\n };\n };\n Contract.setProvider = function () {\n BaseContract.setProvider.apply(this, arguments);\n };\n // make our proxy Contract inherit from web3-eth-contract so that it has all\n // the right functionality and so that instanceof and friends work properly\n Contract.prototype = Object.create(BaseContract.prototype);\n Contract.prototype.constructor = Contract;\n // add contract\n this.Contract = Contract;\n this.Contract.defaultAccount = this.defaultAccount;\n this.Contract.defaultBlock = this.defaultBlock;\n this.Contract.transactionBlockTimeout = this.transactionBlockTimeout;\n this.Contract.transactionConfirmationBlocks = this.transactionConfirmationBlocks;\n this.Contract.transactionPollingTimeout = this.transactionPollingTimeout;\n this.Contract.transactionPollingInterval = this.transactionPollingInterval;\n this.Contract.blockHeaderTimeout = this.blockHeaderTimeout;\n this.Contract.handleRevert = this.handleRevert;\n this.Contract._requestManager = this._requestManager;\n this.Contract._ethAccounts = this.accounts;\n this.Contract.currentProvider = this._requestManager.provider;\n // add IBAN\n this.Iban = Iban;\n // add ABI\n this.abi = abi;\n // add ENS\n this.ens = new ENS(this);\n var methods = [\n new Method({\n name: 'getNodeInfo',\n call: 'web3_clientVersion'\n }),\n new Method({\n name: 'getProtocolVersion',\n call: 'eth_protocolVersion',\n params: 0\n }),\n new Method({\n name: 'getCoinbase',\n call: 'eth_coinbase',\n params: 0\n }),\n new Method({\n name: 'isMining',\n call: 'eth_mining',\n params: 0\n }),\n new Method({\n name: 'getHashrate',\n call: 'eth_hashrate',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'isSyncing',\n call: 'eth_syncing',\n params: 0,\n outputFormatter: formatter.outputSyncingFormatter\n }),\n new Method({\n name: 'getGasPrice',\n call: 'eth_gasPrice',\n params: 0,\n outputFormatter: formatter.outputBigNumberFormatter\n }),\n new Method({\n name: 'getFeeHistory',\n call: 'eth_feeHistory',\n params: 3,\n inputFormatter: [utils.numberToHex, formatter.inputBlockNumberFormatter, null]\n }),\n new Method({\n name: 'getAccounts',\n call: 'eth_accounts',\n params: 0,\n outputFormatter: utils.toChecksumAddress\n }),\n new Method({\n name: 'getBlockNumber',\n call: 'eth_blockNumber',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getBalance',\n call: 'eth_getBalance',\n params: 2,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter],\n outputFormatter: formatter.outputBigNumberFormatter\n }),\n new Method({\n name: 'getStorageAt',\n call: 'eth_getStorageAt',\n params: 3,\n inputFormatter: [formatter.inputAddressFormatter, utils.numberToHex, formatter.inputDefaultBlockNumberFormatter]\n }),\n new Method({\n name: 'getCode',\n call: 'eth_getCode',\n params: 2,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter]\n }),\n new Method({\n name: 'getBlock',\n call: blockCall,\n params: 2,\n inputFormatter: [formatter.inputBlockNumberFormatter, function (val) { return !!val; }],\n outputFormatter: formatter.outputBlockFormatter\n }),\n new Method({\n name: 'getUncle',\n call: uncleCall,\n params: 2,\n inputFormatter: [formatter.inputBlockNumberFormatter, utils.numberToHex],\n outputFormatter: formatter.outputBlockFormatter,\n }),\n new Method({\n name: 'getBlockTransactionCount',\n call: getBlockTransactionCountCall,\n params: 1,\n inputFormatter: [formatter.inputBlockNumberFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getBlockUncleCount',\n call: uncleCountCall,\n params: 1,\n inputFormatter: [formatter.inputBlockNumberFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'getTransaction',\n call: 'eth_getTransactionByHash',\n params: 1,\n inputFormatter: [null],\n outputFormatter: formatter.outputTransactionFormatter\n }),\n new Method({\n name: 'getTransactionFromBlock',\n call: transactionFromBlockCall,\n params: 2,\n inputFormatter: [formatter.inputBlockNumberFormatter, utils.numberToHex],\n outputFormatter: formatter.outputTransactionFormatter\n }),\n new Method({\n name: 'getTransactionReceipt',\n call: 'eth_getTransactionReceipt',\n params: 1,\n inputFormatter: [null],\n outputFormatter: formatter.outputTransactionReceiptFormatter\n }),\n new Method({\n name: 'getTransactionCount',\n call: 'eth_getTransactionCount',\n params: 2,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'sendSignedTransaction',\n call: 'eth_sendRawTransaction',\n params: 1,\n inputFormatter: [null],\n abiCoder: abi\n }),\n new Method({\n name: 'signTransaction',\n call: 'eth_signTransaction',\n params: 1,\n inputFormatter: [formatter.inputTransactionFormatter]\n }),\n new Method({\n name: 'sendTransaction',\n call: 'eth_sendTransaction',\n params: 1,\n inputFormatter: [formatter.inputTransactionFormatter],\n abiCoder: abi\n }),\n new Method({\n name: 'sign',\n call: 'eth_sign',\n params: 2,\n inputFormatter: [formatter.inputSignFormatter, formatter.inputAddressFormatter],\n transformPayload: function (payload) {\n payload.params.reverse();\n return payload;\n }\n }),\n new Method({\n name: 'call',\n call: 'eth_call',\n params: 2,\n inputFormatter: [formatter.inputCallFormatter, formatter.inputDefaultBlockNumberFormatter],\n abiCoder: abi\n }),\n new Method({\n name: 'estimateGas',\n call: 'eth_estimateGas',\n params: 1,\n inputFormatter: [formatter.inputCallFormatter],\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'submitWork',\n call: 'eth_submitWork',\n params: 3\n }),\n new Method({\n name: 'getWork',\n call: 'eth_getWork',\n params: 0\n }),\n new Method({\n name: 'getPastLogs',\n call: 'eth_getLogs',\n params: 1,\n inputFormatter: [formatter.inputLogFormatter],\n outputFormatter: formatter.outputLogFormatter\n }),\n new Method({\n name: 'getChainId',\n call: 'eth_chainId',\n params: 0,\n outputFormatter: utils.hexToNumber\n }),\n new Method({\n name: 'requestAccounts',\n call: 'eth_requestAccounts',\n params: 0,\n outputFormatter: utils.toChecksumAddress\n }),\n new Method({\n name: 'getProof',\n call: 'eth_getProof',\n params: 3,\n inputFormatter: [formatter.inputAddressFormatter, formatter.inputStorageKeysFormatter, formatter.inputDefaultBlockNumberFormatter],\n outputFormatter: formatter.outputProofFormatter\n }),\n new Method({\n name: 'getPendingTransactions',\n call: 'eth_pendingTransactions',\n params: 0,\n outputFormatter: formatter.outputTransactionFormatter\n }),\n new Method({\n name: 'createAccessList',\n call: 'eth_createAccessList',\n params: 2,\n inputFormatter: [formatter.inputTransactionFormatter, formatter.inputDefaultBlockNumberFormatter],\n }),\n // subscriptions\n new Subscriptions({\n name: 'subscribe',\n type: 'eth',\n subscriptions: {\n 'newBlockHeaders': {\n // TODO rename on RPC side?\n subscriptionName: 'newHeads',\n params: 0,\n outputFormatter: formatter.outputBlockFormatter\n },\n 'pendingTransactions': {\n subscriptionName: 'newPendingTransactions',\n params: 0\n },\n 'logs': {\n params: 1,\n inputFormatter: [formatter.inputLogFormatter],\n outputFormatter: formatter.outputLogFormatter,\n // DUBLICATE, also in web3-eth-contract\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 'syncing': {\n params: 0,\n outputFormatter: formatter.outputSyncingFormatter,\n subscriptionHandler: function (output) {\n var _this = this;\n // fire TRUE at start\n if (this._isSyncing !== true) {\n this._isSyncing = true;\n this.emit('changed', _this._isSyncing);\n if (typeof this.callback === 'function') {\n this.callback(null, _this._isSyncing, this);\n }\n setTimeout(function () {\n _this.emit('data', output);\n if (typeof _this.callback === 'function') {\n _this.callback(null, output, _this);\n }\n }, 0);\n // fire sync status\n }\n else {\n this.emit('data', output);\n if (typeof _this.callback === 'function') {\n this.callback(null, output, this);\n }\n // wait for some time before fireing the FALSE\n clearTimeout(this._isSyncingTimeout);\n this._isSyncingTimeout = setTimeout(function () {\n if (output.currentBlock > output.highestBlock - 200) {\n _this._isSyncing = false;\n _this.emit('changed', _this._isSyncing);\n if (typeof _this.callback === 'function') {\n _this.callback(null, _this._isSyncing, _this);\n }\n }\n }, 500);\n }\n }\n }\n }\n })\n ];\n methods.forEach(function (method) {\n method.attachToObject(_this);\n method.setRequestManager(_this._requestManager, _this.accounts); // second param is the eth.accounts module (necessary for signing transactions locally)\n method.defaultBlock = _this.defaultBlock;\n method.defaultAccount = _this.defaultAccount;\n method.transactionBlockTimeout = _this.transactionBlockTimeout;\n method.transactionConfirmationBlocks = _this.transactionConfirmationBlocks;\n method.transactionPollingTimeout = _this.transactionPollingTimeout;\n method.transactionPollingInterval = _this.transactionPollingInterval;\n method.handleRevert = _this.handleRevert;\n });\n};\n// Adds the static givenProvider and providers property to the Eth module\ncore.addProviders(Eth);\nmodule.exports = Eth;\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","/*\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 * AyanamiTech \n * @date 2015\n */\nvar errors = require('web3-core-helpers').errors;\nvar http = require('http');\nvar https = require('https');\n// Apply missing polyfill for IE\nrequire('cross-fetch/polyfill');\nrequire('es6-promise').polyfill();\n// import abortController if abortController is not included in node\nif (typeof global !== \"undefined\" && !global.AbortController) {\n require('abortcontroller-polyfill/dist/polyfill-patch-fetch');\n}\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;\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};\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 options = {\n method: 'POST',\n body: JSON.stringify(payload)\n };\n var headers = {};\n var controller;\n if (typeof AbortController !== 'undefined') {\n controller = new AbortController();\n }\n else if (typeof window !== 'undefined' && typeof window.AbortController !== 'undefined') {\n // Some chrome version doesn't recognize new AbortController(); so we are using it from window instead\n // https://stackoverflow.com/questions/55718778/why-abortcontroller-is-not-defined\n controller = new window.AbortController();\n }\n if (typeof controller !== 'undefined') {\n options.signal = controller.signal;\n }\n // the current runtime is node\n if (typeof XMLHttpRequest === 'undefined') {\n // https://github.com/node-fetch/node-fetch#custom-agent\n var agents = { httpsAgent: this.httpsAgent, httpAgent: this.httpAgent };\n if (this.agent) {\n agents.httpsAgent = this.agent.https;\n agents.httpAgent = this.agent.http;\n }\n if (this.host.substring(0, 5) === \"https\") {\n options.agent = agents.httpsAgent;\n }\n else {\n options.agent = agents.httpAgent;\n }\n }\n if (this.headers) {\n this.headers.forEach(function (header) {\n headers[header.name] = header.value;\n });\n }\n // Default headers\n if (!headers['Content-Type']) {\n headers['Content-Type'] = 'application/json';\n }\n // As the Fetch API supports the credentials as following options 'include', 'omit', 'same-origin'\n // https://developer.mozilla.org/en-US/docs/Web/API/fetch#credentials\n // To avoid breaking change in 1.x we override this value based on boolean option.\n if (this.withCredentials) {\n options.credentials = 'include';\n }\n else {\n options.credentials = 'omit';\n }\n options.headers = headers;\n if (this.timeout > 0 && typeof controller !== 'undefined') {\n this.timeoutId = setTimeout(function () {\n controller.abort();\n }, this.timeout);\n }\n var success = function (response) {\n if (this.timeoutId !== undefined) {\n clearTimeout(this.timeoutId);\n }\n // Response is a stream data so should be awaited for json response\n response.json().then(function (data) {\n callback(null, data);\n }).catch(function (error) {\n callback(errors.InvalidResponse(response));\n });\n };\n var failed = function (error) {\n if (this.timeoutId !== undefined) {\n clearTimeout(this.timeoutId);\n }\n if (error.name === 'AbortError') {\n callback(errors.ConnectionTimeout(this.timeout));\n }\n callback(errors.InvalidConnection(this.host, error));\n };\n fetch(this.host, options)\n .then(success.bind(this))\n .catch(failed.bind(this));\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","/*\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 index.js\n * @authors:\n * Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar errors = require('web3-core-helpers').errors;\nvar oboe = require('oboe');\nvar IpcProvider = function IpcProvider(path, net) {\n var _this = this;\n this.responseCallbacks = {};\n this.notificationCallbacks = [];\n this.path = path;\n this.connected = false;\n this.connection = net.connect({ path: this.path });\n this.addDefaultEvents();\n // LISTEN FOR CONNECTION RESPONSES\n var callback = function (result) {\n /*jshint maxcomplexity: 6 */\n var id = null;\n // get the id which matches the returned id\n if (Array.isArray(result)) {\n result.forEach(function (load) {\n if (_this.responseCallbacks[load.id])\n id = load.id;\n });\n }\n else {\n id = result.id;\n }\n // notification\n if (!id && result.method.indexOf('_subscription') !== -1) {\n _this.notificationCallbacks.forEach(function (callback) {\n if (typeof callback === 'function')\n callback(result);\n });\n // fire the callback\n }\n else if (_this.responseCallbacks[id]) {\n _this.responseCallbacks[id](null, result);\n delete _this.responseCallbacks[id];\n }\n };\n // use oboe.js for Sockets\n if (net.constructor.name === 'Socket') {\n oboe(this.connection)\n .done(callback);\n }\n else {\n this.connection.on('data', function (data) {\n _this._parseResponse(data.toString()).forEach(callback);\n });\n }\n};\n/**\nWill add the error and end event to timeout existing calls\n\n@method addDefaultEvents\n*/\nIpcProvider.prototype.addDefaultEvents = function () {\n var _this = this;\n this.connection.on('connect', function () {\n _this.connected = true;\n });\n this.connection.on('close', function () {\n _this.connected = false;\n });\n this.connection.on('error', function () {\n _this._timeout();\n });\n this.connection.on('end', function () {\n _this._timeout();\n });\n this.connection.on('timeout', function () {\n _this._timeout();\n });\n};\n/**\n Will parse the response and make an array out of it.\n\n NOTE, this exists for backwards compatibility reasons.\n\n @method _parseResponse\n @param {String} data\n */\nIpcProvider.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 _this._timeout();\n throw errors.InvalidResponse(data);\n }, 1000 * 15);\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/**\nGet the adds a callback to the responseCallbacks object,\nwhich will be called if a response matching the response Id will arrive.\n\n@method _addResponseCallback\n*/\nIpcProvider.prototype._addResponseCallback = function (payload, callback) {\n var id = payload.id || payload[0].id;\n var method = payload.method || payload[0].method;\n this.responseCallbacks[id] = callback;\n this.responseCallbacks[id].method = method;\n};\n/**\nTimeout all requests when the end/error event is fired\n\n@method _timeout\n*/\nIpcProvider.prototype._timeout = function () {\n for (var key in this.responseCallbacks) {\n if (this.responseCallbacks.hasOwnProperty(key)) {\n this.responseCallbacks[key](errors.InvalidConnection('on IPC'));\n delete this.responseCallbacks[key];\n }\n }\n};\n/**\n Try to reconnect\n\n @method reconnect\n */\nIpcProvider.prototype.reconnect = function () {\n this.connection.connect({ path: this.path });\n};\nIpcProvider.prototype.send = function (payload, callback) {\n // try reconnect, when connection is gone\n if (!this.connection.writable)\n this.connection.connect({ path: this.path });\n this.connection.write(JSON.stringify(payload));\n this._addResponseCallback(payload, callback);\n};\n/**\nSubscribes to provider events.provider\n\n@method on\n@param {String} type 'notification', 'connect', 'error', 'end' or 'data'\n@param {Function} callback the callback to call\n*/\nIpcProvider.prototype.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.notificationCallbacks.push(callback);\n break;\n // adds error, end, timeout, connect\n default:\n this.connection.on(type, callback);\n break;\n }\n};\n/**\n Subscribes to provider events.provider\n\n @method on\n @param {String} type 'connect', 'error', 'end' or 'data'\n @param {Function} callback the callback to call\n */\nIpcProvider.prototype.once = function (type, callback) {\n if (typeof callback !== 'function')\n throw new Error('The second parameter callback must be a function.');\n this.connection.once(type, callback);\n};\n/**\nRemoves event listener\n\n@method removeListener\n@param {String} type 'data', 'connect', 'error', 'end' or 'data'\n@param {Function} callback the callback to call\n*/\nIpcProvider.prototype.removeListener = function (type, callback) {\n var _this = this;\n switch (type) {\n case 'data':\n this.notificationCallbacks.forEach(function (cb, index) {\n if (cb === callback)\n _this.notificationCallbacks.splice(index, 1);\n });\n break;\n default:\n this.connection.removeListener(type, callback);\n break;\n }\n};\n/**\nRemoves all event listeners\n\n@method removeAllListeners\n@param {String} type 'data', 'connect', 'error', 'end' or 'data'\n*/\nIpcProvider.prototype.removeAllListeners = function (type) {\n switch (type) {\n case 'data':\n this.notificationCallbacks = [];\n break;\n default:\n this.connection.removeAllListeners(type);\n break;\n }\n};\n/**\nResets the providers, clears all callbacks\n\n@method reset\n*/\nIpcProvider.prototype.reset = function () {\n this._timeout();\n this.notificationCallbacks = [];\n this.connection.removeAllListeners('error');\n this.connection.removeAllListeners('end');\n this.connection.removeAllListeners('timeout');\n this.addDefaultEvents();\n};\n/**\n * Returns the desired boolean.\n *\n * @method supportsSubscriptions\n * @returns {boolean}\n */\nIpcProvider.prototype.supportsSubscriptions = function () {\n return true;\n};\nmodule.exports = IpcProvider;\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(typeof globalThis === 'object' ? globalThis : self);\n helpers = function (url) {\n return new URL(url);\n };\n}\nmodule.exports = {\n parseURL: helpers,\n btoa: _btoa\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 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 this.connectFailedDescription = null;\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};\nWebsocketProvider.prototype._onConnectFailed = function (event) {\n this.connectFailedDescription = event.toString().split('\\n')[0];\n var _this = this;\n if (this.connectFailedDescription) {\n event.description = this.connectFailedDescription;\n this.connectFailedDescription = null; // clean the message, so it won't be used in the next connection\n }\n event.code = 1006;\n event.reason = 'connection failed';\n if (this.reconnectOptions.auto && (![1000, 1001].includes(event.code) || event.wasClean === false)) {\n this.reconnect();\n return;\n }\n this.emit(this.ERROR, 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 //clean connection on our own\n if (this.connection._connection) {\n this.connection._connection.removeAllListeners();\n }\n this.connection._client.removeAllListeners();\n this.connection._readyState = 3; // set readyState to CLOSED\n this.emit(this.CLOSE, event);\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 if (this.connection._client) {\n this.connection._client.removeAllListeners('connectFailed'); //Override the internal listeners, so they don't trigger a `close` event. We want to trigger `_onClose` manually with a description.\n this.connection._client.on('connectFailed', this._onConnectFailed.bind(this));\n }\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 if (this.connection._connection)\n this.connection._client.removeListener('connectFailed', this._onConnectFailed);\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 try {\n _this.responseQueue.delete(key);\n request.callback(errors.PendingRequestsOnReconnectingError());\n }\n catch (e) {\n console.error(\"Error encountered in reconnect: \", e);\n }\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","/*\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 Subscriptions = require('web3-core-subscriptions').subscriptions;\nvar Method = require('web3-core-method');\n// var formatters = require('web3-core-helpers').formatters;\nvar Net = require('web3-net');\nvar Shh = function Shh() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n // overwrite package setRequestManager\n var setRequestManager = this.setRequestManager;\n this.setRequestManager = function (manager) {\n setRequestManager(manager);\n _this.net.setRequestManager(manager);\n return true;\n };\n // overwrite setProvider\n var setProvider = this.setProvider;\n this.setProvider = function () {\n setProvider.apply(_this, arguments);\n _this.setRequestManager(_this._requestManager);\n };\n this.net = new Net(this);\n [\n new Subscriptions({\n name: 'subscribe',\n type: 'shh',\n subscriptions: {\n 'messages': {\n params: 1\n // inputFormatter: [formatters.inputPostFormatter],\n // outputFormatter: formatters.outputPostFormatter\n }\n }\n }),\n new Method({\n name: 'getVersion',\n call: 'shh_version',\n params: 0\n }),\n new Method({\n name: 'getInfo',\n call: 'shh_info',\n params: 0\n }),\n new Method({\n name: 'setMaxMessageSize',\n call: 'shh_setMaxMessageSize',\n params: 1\n }),\n new Method({\n name: 'setMinPoW',\n call: 'shh_setMinPoW',\n params: 1\n }),\n new Method({\n name: 'markTrustedPeer',\n call: 'shh_markTrustedPeer',\n params: 1\n }),\n new Method({\n name: 'newKeyPair',\n call: 'shh_newKeyPair',\n params: 0\n }),\n new Method({\n name: 'addPrivateKey',\n call: 'shh_addPrivateKey',\n params: 1\n }),\n new Method({\n name: 'deleteKeyPair',\n call: 'shh_deleteKeyPair',\n params: 1\n }),\n new Method({\n name: 'hasKeyPair',\n call: 'shh_hasKeyPair',\n params: 1\n }),\n new Method({\n name: 'getPublicKey',\n call: 'shh_getPublicKey',\n params: 1\n }),\n new Method({\n name: 'getPrivateKey',\n call: 'shh_getPrivateKey',\n params: 1\n }),\n new Method({\n name: 'newSymKey',\n call: 'shh_newSymKey',\n params: 0\n }),\n new Method({\n name: 'addSymKey',\n call: 'shh_addSymKey',\n params: 1\n }),\n new Method({\n name: 'generateSymKeyFromPassword',\n call: 'shh_generateSymKeyFromPassword',\n params: 1\n }),\n new Method({\n name: 'hasSymKey',\n call: 'shh_hasSymKey',\n params: 1\n }),\n new Method({\n name: 'getSymKey',\n call: 'shh_getSymKey',\n params: 1\n }),\n new Method({\n name: 'deleteSymKey',\n call: 'shh_deleteSymKey',\n params: 1\n }),\n new Method({\n name: 'newMessageFilter',\n call: 'shh_newMessageFilter',\n params: 1\n }),\n new Method({\n name: 'getFilterMessages',\n call: 'shh_getFilterMessages',\n params: 1\n }),\n new Method({\n name: 'deleteMessageFilter',\n call: 'shh_deleteMessageFilter',\n params: 1\n }),\n new Method({\n name: 'post',\n call: 'shh_post',\n params: 1,\n inputFormatter: [null]\n }),\n new Method({\n name: 'unsubscribe',\n call: 'shh_unsubscribe',\n params: 1\n })\n ].forEach(function (method) {\n method.attachToObject(_this);\n method.setRequestManager(_this._requestManager);\n });\n};\nShh.prototype.clearSubscriptions = function () {\n this._requestManager.clearSubscriptions();\n};\ncore.addProviders(Shh);\nmodule.exports = Shh;\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.slice(i, 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 * Block tag `safe` and `block number` combination param is not supported\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 // Increasing order: (genesis = earliest), safe, (finalized ~ latest), pending\n // safe vs block-num cant be compared as block number provided can be on left or right side of safe tag, until safe tag block number is extracted and compared\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 || a === 0) {\n // b !== a, thus a < b\n return -1;\n }\n else if (\"genesis\" === b || \"earliest\" === b || b === 0) {\n // b !== a, thus a > b\n return 1;\n }\n else if (a === \"latest\" || a === \"finalized\") {\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\" || b === \"finalized\") {\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 if (a === \"safe\" || b === \"safe\") {\n // either a or b is \"safe\" and the other one did not fall into any of the conditions above, so the other one is a number\n return undefined;\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","/*\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 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 ethereumjsUtil = require('ethereumjs-util');\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.slice(i, 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 * However, if the value is larger than the maximum safe integer, returns the value as a string.\n *\n * @method hexToNumber\n * @param {String|Number|BN} value\n * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */\nvar hexToNumber = function (value, bigIntOnOverflow = false) {\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 const n = toBN(value);\n if (bigIntOnOverflow && (n > Number.MAX_SAFE_INTEGER || n < Number.MIN_SAFE_INTEGER)) {\n return BigInt(n);\n }\n return n.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.slice(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.slice(c, 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 = ethereumjsUtil.toBuffer(value);\n }\n else if (typeof value === 'string') {\n // Assume value is an arbitrary string\n value = Buffer.from(value, 'utf-8');\n }\n var returnValue = ethereumjsUtil.bufferToHex(ethereumjsUtil.keccak256(value));\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 = ethereumjsUtil.keccak256;\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 * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */\nvar toNumber = function (value, bigIntOnOverflow = false) {\n return typeof value === 'number' ? value : hexToNumber(toHex(value), bigIntOnOverflow);\n};\n// 1.x currently accepts 0x... strings, bn.js after update doesn't. it would be a breaking change\nvar BNwrapped = function (value) {\n // check negative\n if (typeof value == \"string\" && value.includes(\"0x\")) {\n const [negative, hexValue] = value.toLocaleLowerCase().startsWith('-') ? [\"-\", value.slice(3)] : [\"\", value.slice(2)];\n return new BN(negative + hexValue, 16);\n }\n else {\n return new BN(value);\n }\n};\nObject.setPrototypeOf(BNwrapped, BN);\nObject.setPrototypeOf(BNwrapped.prototype, BN.prototype);\nmodule.exports = {\n BN: BNwrapped,\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 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","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\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 function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\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 if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _get.apply(this, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\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 subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) {\n keys.push(key);\n }\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(7001);\n"],"names":["root","factory","exports","module","define","amd","self","_getInitializedChains","customChains","names","chains","mainnet","ropsten","rinkeby","kovan","goerli","chain","name_1","name","chainId","toString","require","CustomChain","Hardfork","ConsensusAlgorithm","ConsensusType","Chain","opts","_super","_this","_customChains","_chainParams","setChain","DEFAULT_HARDFORK","defaultHardfork","Istanbul","hardforks","hf","forkHash","_calcForkHash","_hardfork","supportedHardforks","_supportedHardforks","hardfork","setHardfork","eips","setEIPs","__extends","Common","chainParamsOrName","baseChain","standardChainParams","_getChainParams","PolygonMainnet","custom","networkId","PolygonMumbai","ArbitrumRinkebyTestnet","xDaiChain","Error","customChainParams","initializedChains","Boolean","ethereumjs_util_1","isBN","plainCustomChains","length","Array","isArray","map","e","param","undefined","_isSupportedHardfork","existing","emit","blockNumber","td","BN","minTdHF","maxTdHF","previousHF","Chainstart","block","gte","gten","msgAdd","hardforkGteHardfork","msg","getHardforkByBlockNumber","onlySupported","hfs","chainName","eip","eips_1","minHF","this_1","gteHardfork","requiredEIPs","forEach","elem","includes","isActivatedEIP","_eips","topic","value","paramByEIP","paramByHardfork","_chooseHardfork","hfChanges","hfEIPs","valueEIP","v","eipParams","activeHfs","activeHardforks","hfBlock","hardforkBlockBN","hardforkIsActiveOnBlock","hardfork1","hardfork2","onlyActive","posHf1","posHf2","index","push","Number","_getHardfork","eq","nextHardforkBlockBN","reduce","acc","gt","nextHardforkBlock","genesis","Buffer","from","hash","substr","hfBuffer","alloc","prevBlock","hfBlockBuffer","padStart","concat","inputBuffer","data","resArray","filter","chainArrayWithGenesis","chainIdBN","networkIdBN","consensusAlgorithm","Object","assign","create","getPrototypeOf","events_1","txData","common_1","Mainnet","gasLimit","to","r","s","type","_type","toNumber","toB","vB","rB","sB","nonce","_validateCannotExceedMaxInteger","BaseTransaction","capability","activeCapabilities","stringError","errors","getBaseFee","isSigned","verifySignature","fee","getDataFee","addn","common","toCreationAddress","iaddn","txDataZero","txDataNonZero","cost","i","buf","publicKey","getSenderPublicKey","privateKey","hackApplied","supports","types_1","EIP155ReplayProtection","msgHash","getMessageToSign","tx","_processSignature","indexOf","splice","copy","isSupportedChainId","forCustomChain","DEFAULT_CHAIN","values","bits","entries","key","TRANSACTION_TYPE_BUFFER","accessList","maxFeePerGas","maxPriorityFeePerGas","_getCommon","accessListData","util_1","getAccessListData","AccessListJSON","verifyAccessList","lt","eqn","freeze","FeeMarketEIP1559Transaction","serialized","slice","equals","decode","fromValuesArray","fromSerializedTx","getDataFeeEIP2930","baseFee","gasPrice","min","sub","add","mul","base","raw","encode","hashMessage","message","isFrozen","cache","serialize","getMessageToVerifySignature","fromTxData","accessListJSON","getAccessListJSON","baseTransaction_1","AccessListEIP2930Transaction","yParity","enumerable","get","__exportStar","_validateTxV","chainIdDoubled","muln","Transaction","_getMessageToSign","vBN","iadd","numSub","subn","isEven","divn","onEIP155BlockOrLater","TransactionFactory","txOptions","txType","_1","EIP","isBuffer","fromSerializedData","transactionID","_common","Capability","isAccessListBuffer","input","firstItem","AccessLists","bufferAccessList","newAccessList","item","addressBuffer","address","storageItems","storageKeys","json","jsonItem","accessListItem","storageSlots","storageSlot","JSONItem","slot","accessListStorageKeyCost","accessListAddressCost","slots","logger","Logger","version","paramTypeBytes","RegExp","paramTypeNumber","AbiCoder","coerceFunc","baseType","AddressCoder","BooleanCoder","StringCoder","BytesCoder","ArrayCoder","_getCoder","arrayChildren","arrayLength","TupleCoder","components","component","NullCoder","match","size","parseInt","throwArgumentError","NumberCoder","FixedBytesCoder","allowLoose","Reader","_getWordSize","Writer","types","coders","ParamType","defaultValue","throwError","INVALID_ARGUMENT","count","coder","writer","_getWriter","loose","_getReader","defaultAbiCoder","result","checkErrors","path","object","childPath","error","Coder","localName","dynamic","wordSize","_data","_dataLength","_padding","Uint8Array","_writeData","bytes","paddingOffset","BigNumber","BUFFER_OVERRUN","offset","_getValue","_offset","_coerceFunc","coerce","alignedLength","Math","ceil","_peekBytes","readBytes","_throwError","writeValue","reader","readValue","toHexString","AnonymousCoder","pack","arrayValues","unique","argument","staticWriter","dynamicWriter","updateFuncs","dynamicOffset","updateFunc","writeUpdatableValue","baseOffset","func","appendWriter","unpack","baseReader","subReader","offsetReader","code","uniqueNames","accum","defineProperty","defaultChild","checkArgumentCount","isZero","DynamicBytesCoder","writeBytes","String","substring","signed","maxUintValue","MaxUint256","mask","bounds","One","NegativeOne","Zero","toTwos","fromTwos","join","_constructorGuard","ModifiersBytes","calldata","memory","storage","ModifiersNest","checkModifier","populate","params","FormatTypes","sighash","minimal","full","paramTypeArray","constructorGuard","UNSUPPORTED_OPERATION","operation","fromObject","_isParamType","format","indexed","comp","JSON","parse","stringify","allowIndexed","fromString","isParamType","verifyType","node","originalParam","newNode","parent","state","allowType","replace","c","allowParams","child","allowName","allowArray","sibling","readArray","parseParamType","parseParams","allowIndex","trim","depth","splitNesting","Fragment","_isFragment","isFragment","FunctionFragment","EventFragment","ConstructorFragment","ErrorFragment","split","anonymous","inputs","isEventFragment","verifyIdentifier","regexParen","modifier","warn","parseGas","gas","comps","parseModifiers","constant","payable","stateMutability","console","log","verifyState","isConstructorFragment","parens","outputs","output","isFunctionFragment","returns","checkForbidden","fragment","sig","isErrorFragment","regexIdentifier","LogDescription","Description","TransactionDescription","ErrorDescription","Indexed","_isIndexed","BuiltinErrors","signature","reason","wrapAccessError","property","wrap","Interface","fragments","abi","bucket","deploy","functions","events","j","nameOrSignatureOrSighash","getSighash","matching","keys","f","nameOrSignatureOrTopic","topichash","toLowerCase","getEventTopic","constructor","getFunction","getError","_","eventFragment","getEvent","_abiCoder","_encodeParams","_decodeParams","functionFragment","errorArgs","errorName","errorSignature","selector","builtin","CALL_EXCEPTION","method","UNEXPECTED_ARGUMENT","topics","encodeTopic","pop","dataTypes","dataValues","topicHash","expected","nonIndexed","resultIndexed","resultNonIndexed","nonIndexedIndex","indexedIndex","args","decodeEventLog","hexData","errorFragment","_isInterface","transaction","getAddress","salt","initCodeHash","base36","toUpperCase","ibanChecksum","getChecksumAddress","chars","expanded","charCodeAt","hashed","ibanLookup","fromCharCode","x","safeDigits","floor","log10","LN10","checksum","textData","atob","btoa","isBigNumber","_BN","MAX_SAFE","_warnedToStringRadix","hex","_hex","_isBigNumber","toBigNumber","toBN","other","throwFault","div","isNeg","umod","pow","isNegative","and","or","xor","maskn","shln","shrn","lte","BigInt","arguments","toHex","anyValue","fault","NUMERIC_FAULT","zeros","getMultiplier","decimals","formatFixed","multiplier","negative","fraction","mod","whole","parseFixed","wholeValue","fractionValue","wei","FixedFormat","width","_multiplier","check","FixedNumber","_value","_isFixedNumber","_checkFormat","a","b","fromValue","hasFraction","subUnsafe","ONE","toFormat","addUnsafe","factor","bump","BUMP","mulUnsafe","divUnsafe","parseFloat","fixedFormat","numeric","decimal","fromBytes","items","hexlify","isHexString","endOffset","trimmed","hexStripZeros","hexPad","splitSignature","recoveryParam","arrayify","start","isHexable","addSlice","array","prototype","call","apply","isBytesLike","isBytes","isInteger","options","checkSafeUint53","unshift","allowMissingPrefix","objects","set","zeroPad","HexCharacters","hexZeroPad","_vs","yParityAndS","compact","vs","recId","Two","WeiPerEther","MinInt256","MaxInt256","flat","flatDeep","arr","val","decode_arithmetic","pos","u16","symbol_count","total","skip","pos_payload","read_width","read_buffer","read_bit","FULL","HALF","QRTR","MASK","register","symbols","low","range","end","mid","read_payload","read_ascending","n","next","read_deltas","read_member_array","lookup","vX","vN","read_counts","read_zero_terminated_array","read_transposed","w","m","fill","read_linear_table","dx","dy","ys","j_dy","y","read_replacement_table","sorted","sort","read","branches","Set","temp","valid","fe0f","save","ret","fromEntries","ens_normalize_post_check","emoji_filter","explode_cp","reverse","emoji","consume_emoji_reversed","cp","VALID","has","IGNORED","cps","MAPPED","fromCodePoint","normalize","filter_fe0f","EMOJI_ROOT","HYPHEN","UNDERSCORE","label","lastIndexOf","every","err","eaten","saved","stack","find","text","messagePrefix","ensNameSplit","Zeros","checkComponent","last","padding","hexTrue","hexFalse","domainFieldTypes","verifyingContract","domainFieldNames","checkString","domainChecks","getBaseEncoder","boundsUpper","boundsLower","padOffset","hexPadRight","encodeType","fields","TypedDataEncoder","links","parents","subtypes","field","primaryTypes","t","checkCircular","found","subtype","primaryType","st","_types","encoder","_encoderCache","_getEncoder","subEncoder","getEncoder","keccak256","encodedType","encodeData","hashStruct","callback","_visit","domain","domainFields","EIP712Domain","hashDomain","resolveName","ensCache","visit","domainValues","domainTypes","typesWithDomain","sha3","keccak_256","INPUT_ERROR","WINDOW","window","JS_SHA3_NO_WINDOW","WEB_WORKER","JS_SHA3_NO_NODE_JS","process","versions","global","COMMON_JS","JS_SHA3_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_SHA3_NO_ARRAY_BUFFER","ArrayBuffer","HEX_CHARS","CSHAKE_PADDING","SHIFT","RC","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","obj","JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW","isView","buffer","createOutputMethod","outputType","Keccak","update","createShakeOutputMethod","outputBits","createCshakeOutputMethod","methods","createKmacOutputMethod","createOutputMethods","createMethod","algorithms","bytepad","Kmac","methodNames","algorithm","methodName","newMethodName","this","blocks","reset","finalized","blockCount","byteCount","outputBlocks","extraBytes","notString","lastByteIndex","right","o","encodeString","str","strs","paddingBytes","finalize","arrayBuffer","Uint32Array","digest","h","l","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","LogLevel","ErrorCode","_permanentCensorErrors","_censorErrors","LogLevels","debug","info","warning","off","_logLevel","_globalLogger","_normalizeError","missing","form","_checkNormalize","HEX","writable","logLevel","level","_log","levels","DEBUG","INFO","WARNING","makeError","UNKNOWN_ERROR","messageDetails","url","INSUFFICIENT_FUNDS","MISSING_NEW","NONCE_EXPIRED","REPLACEMENT_UNDERPRICED","TRANSACTION_REPLACED","UNPREDICTABLE_GAS_LIMIT","condition","expectedCount","MISSING_ARGUMENT","target","kind","censorship","permanent","globalLogger","properties","ctor","promises","Promise","resolve","then","all","results","defineReadOnly","opaque","bigint","boolean","number","string","_isFrozen","_deepCopy","deepCopy","decoded","_decode","consumed","_encode","arrayifyInteger","unarrayifyInteger","payload","_decodeChildren","childOffset","lengthLength","assert","equal","utils","zero2","word","res","toArray","enc","hi","lo","minAssert","minUtils","getNAF","num","naf","max","bitLength","ws","k","clone","z","andln","isOdd","isubn","iushrn","getJSF","k1","k2","jsf","m8","d1","d2","cmpn","u1","u2","m14","m24","cachedProperty","computer","parseBytes","intFromLE","BaseCurve","conf","p","red","prime","mont","zero","toRed","one","two","g","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","curve","precomputed","point","validate","_fixedNafMul","doubles","_getDoubles","I","step","nafW","repr","jpoint","mixedAdd","points","neg","toP","_wnafMul","nafPoints","_getNAFPoints","wnd","dblp","_wnafMulAdd","defW","coeffs","len","jacobianResult","wndWidth","comb","cmp","toJ","redNeg","ja","jb","tmp","decodePoint","byteLength","pointFromX","encodeCompressed","getX","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","superCtor","super_","configurable","TempCtor","ShortCurve","Base","tinv","redInvm","zeroA","fromRed","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","inherits","Point","isRed","inf","forceRed","JPoint","zOne","modn","lambda","betas","_getEndoRoots","lambdas","redMul","basis","vec","_getEndoBasis","ntinv","redSqrt","redAdd","redSub","a0","a1","a2","prevR","aprxSqrt","ushrn","u","x1","y1","x2","y2","q","len1","sqr","_endoSplit","v1","v2","divRound","p1","p2","q1","q2","odd","redSqr","redIAdd","ax","rhs","redISub","_endoWnafMulAdd","npoints","ncoeffs","ineg","fromJSON","pre","endoMul","toJSON","obj2point","inspect","isInfinity","nx","ny","ys1","dyinv","mulAdd","jmulAdd","_precompute","negate","zinv","zinv2","ay","pz2","z2","s1","s2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","t1","t2","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","d","delta","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","ee","yyu4","kbase","z3","pz3","eqXToP","zs","rx","xc","require$$0","short","require$$1","edwards","curves","PresetCurve","defineCurve","sha256","sha384","sha512","HmacDRBG","predResist","outLen","outSize","minEntropy","hmacStrength","_reseed","reseedInterval","K","V","entropy","entropyEnc","nonceEnc","pers","persEnc","_init","seed","_update","_hmac","hmac","kmac","reseed","addEnc","generate","KeyPair","ec","priv","pub","_importPrivate","privEnc","_importPublic","pubEnc","fromPublic","fromPrivate","getPublic","getPrivate","derive","sign","verify","Signature","_importDER","Position","place","getLength","initial","octetLen","rmPadding","constructLength","octets","LN2","rlen","slen","toDER","backHalf","rand","EC","hasOwnProperty","nh","keyPair","keyFromPrivate","keyFromPublic","genKeyPair","drbg","ns2","_truncateToN","truncOnly","bkey","ns1","iter","kp","kpX","invm","canonical","sinv","recoverPubKey","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Q","Qprime","elliptic","require$$2","require$$3","eddsa","_ec","rs","getCurve","_curve","SigningKey","p0","digestBytes","otherKey","otherKeyPair","computePublicKey","_isSigningKey","compressed","signingKey","HashZero","codes","Table_B_1_flags","_nameprepTableB2","UnicodeNormalizationForm","NFKC","_nameprepTableC","_nameprepTableA1","createTable","pair","createRangeTable","matchMap","ranges","Table_A_1_ranges","Table_B_2_ranges","Table_B_2_lut_abs","Table_B_2_lut_rel","Table_B_2_complex","Table_C_ranges","codepoint","shift","onError","getUtf8CodePoints","codePoint","escapeChar","toUtf8Bytes","current","_toUtf8String","Utf8ErrorReason","ignoreFunc","badCodepoint","BAD_PREFIX","UNEXPECTED_CONTINUE","OVERRUN","Utf8ErrorFuncs","ignore","OVERLONG","extraLength","overlongMask","nextChar","MISSING_CONTINUE","OUT_OF_RANGE","UTF16_SURROGATE","checkNormalize","codePoints","rawTransaction","RLP","handleNumber","handleAddress","recoverAddress","_parse","accessListify","_parseEipSignature","_serializeEip2930","_parseEip2930","_serializeEip1559","_parseEip1559","transactionType","allowedTransactionKeys","transactionFields","fieldInfo","maxLength","_serialize","TransactionTypes","computeAddress","formatNumber","accessSetify","addr","storageKey","localeCompare","formatAccessList","recid","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_getPrototypeOf","setPrototypeOf","bind","__proto__","_setPrototypeOf","_assertThisInitialized","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_get","receiver","_superPropBase","desc","getOwnPropertyDescriptor","Emitter","listeners","event","stackToCall","listener","once","removeEventListener","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","_inherits","aborted","onabort","AbortController","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signalReason","DOMException","signal","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","Request","Symbol","toStringTag","fetch","_abortableFetch","patchTargets","_patchTargets","_patchTargets$Request","NativeRequest","NativeAbortController","_patchTargets$__FORCE","init","request","realFetch","isPrototypeOf","abortError","reject","cancellation","addEventListener","race","abortableFetchDecorator","asn1","bignum","constants","decoders","encoders","Entity","body","_createNamed","Generated","entity","_initNamed","_getDecoder","reporter","Reporter","DecoderBuffer","EncoderBuffer","isEncoderBuffer","isDecoderBuffer","restore","isEmpty","readUInt8","fail","_reporterState","out","write","Node","tags","_baseState","children","tag","reverseArgs","choice","optional","any","use","useDecoder","explicit","implicit","contains","_wrap","stateProps","cstate","prop","_useArgs","arg","def","newKey","wrapResult","prevObj","present","prevKey","enterKey","_peekTag","isError","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","test","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","some","_createEncoderBuffer","_encodeValue","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","ReporterError","rethrow","pathLen","prev","now","inherited","partial","captureStackTrace","tagClass","tagClassByName","tagByName","_reverse","der","DERDecoder","tree","DERNode","derDecodeTag","oct","tagStr","derDecodeLen","decodedTag","_skipUntilEnd","decoder","possibleEnd","unused","readUInt16BE","numstr","printstr","relative","identifiers","ident","subident","first","second","year","mon","day","hour","sec","Date","UTC","pem","PEMDecoder","lines","re","base64","DEREncoder","encodedTag","encodeTag","header","lenOctets","writeUInt16BE","id","objid","time","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","dataBuffer","defaultBuffer","PEMEncoder","objectAssign","compare","_isBuffer","util","hasOwn","pSlice","functionsHaveNames","pToString","arrbuf","DataView","ok","regex","getName","isFunction","truncate","something","rawname","actual","operator","stackStartFunction","AssertionError","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","actualIndex","actualVisitedObjects","isPrimitive","aIsArgs","isArguments","bIsArgs","ka","objectKeys","kb","objEquiv","expectedException","_throws","shouldThrow","_tryBlock","userProvidedMessage","isUnexpectedException","generatedMessage","getMessage","fn_name","idx","next_line","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","formatRegExp","isString","isNull","isObject","deprecate","fn","isUndefined","noDeprecation","warned","throwDeprecation","traceDeprecation","trace","debugEnviron","debugs","ctx","seen","stylize","stylizeNoColor","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","simple","isNumber","formatPrimitive","visibleKeys","arrayToHash","getOwnPropertyNames","formatError","braces","toUTCString","formatProperty","formatArray","cur","reduceToSingleString","line","ar","objectToString","pad","debuglog","env","NODE_DEBUG","pid","isNullOrUndefined","isSymbol","months","getHours","getMinutes","getSeconds","getDate","getMonth","origin","_Buffer","ALPHABET","BASE_MAP","charAt","BASE","LEADER","FACTOR","iFACTOR","decodeUnsafe","psz","zeroes","b256","carry","it3","it4","vch","allocUnsafe","pbegin","pend","b58","it1","it2","repeat","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","parts","maxChunkLength","len2","encodeChunk","endian","words","parseHex4Bits","parseHexByte","lowerBound","parseBase","move","dest","src","left","_initNumber","_initArray","_parseHex","_parseBase","_strip","limbLen","limbPow","imuln","_iaddn","_move","_expand","_normSign","for","groupSizes","groupBases","smallMulTo","ncarry","rword","maxJ","groupSize","groupBase","modrn","idivn","toBuffer","toArrayLike","ArrayType","reqLength","allocate","_toArrayLikeLE","position","_toArrayLikeBE","clz32","_countBits","_zeroBits","zeroBits","abs","inotn","testn","notn","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","isub","comb10MulTo","al0","ah0","al1","ah1","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","bl0","bh0","bl1","bh1","bl2","bh2","bl3","bh3","bl4","bh4","bl5","bh5","bl6","bh6","bl7","bh7","bl8","bh8","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","FFTM","mulTo","makeRBT","N","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","cos","PI","itwdf","sin","rtwdf_","itwdf_","ie","ro","io","guessLen13b","conjugate","normalize13b","round","convert13b","stub","ph","mulp","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","isNegNum","isqr","toBitArray","iushln","carryMask","newCarry","ishln","hint","extended","maskedWords","ishrn","ushln","imaskn","iabs","_ishlnsubmul","_wordDiv","mode","bhi","diff","qj","divmod","positive","dm","half","r2","egcd","A","B","C","D","yp","xp","im","jm","gcd","_invmp","bincn","ucmp","gtn","ltn","lten","Red","convertTo","_forceRed","convertFrom","redShl","shl","_verify2","redIMul","_verify1","redISqr","sqrt","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","_prime","Mont","imod","rinv","minv","ireduce","imulK","strip","mod3","nOne","lpow","inv","currentLen","Rand","_rand","getBytes","getByte","crypto","getRandomValues","msCrypto","randomBytes","asUInt32Array","readUInt32BE","scrubVec","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s3","ksRow","RCON","G","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_key","_reset","blockSize","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","writeUInt32BE","decryptBlock","m1","scrub","aes","Transform","GHASH","incr32","StreamCipher","iv","decrypt","_cipher","ck","_ghash","_finID","ghash","toPad","ivBits","tail","writeUIntBE","calcIv","_prev","_cache","_secCache","_decrypt","_alen","_len","_mode","_authTag","_called","chunk","rump","encrypt","_final","final","xorTest","getAuthTag","setAuthTag","setAAD","ciphers","deciphers","modes","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","AuthCipher","MODES","ebtk","Splitter","_last","_autopadding","suite","password","config","thing","flush","padded","unpad","setAutoPadding","setTo","autoPadding","PADDING","padBuff","writeUInt8","ZEROES","fromArray","_multiply","lsbVi","Vi","Zi","abl","bl","encryptStart","encryptByte","byteParam","shiftIn","getBlock","chunkNum","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","DES","aesModes","desModes","keyLen","ivLen","CipherBase","des","instantiate","EDE","modeName","_des","des3","getr","modulus","prime1","prime2","crt","blinds","blinder","publicExponent","unblinder","blind","blinded","qinv","coefficient","exponent1","m2","exponent2","createHash","stream","Sign","Writable","_hashType","_hash","_tag","_signType","Verify","createSign","createVerify","_write","done","createHmac","parseKeys","getKey","algo","hlen","hbits","bits2int","bits2octets","obits","makeKey","kv","makeR","hashType","signType","curveId","ecSign","priv_key","H","dsaSign","checkValue","pubkey","subjectPrivateKey","ecVerify","pub_key","unpacked","montp","dsaVerify","padNum","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","byteOffset","fromArrayLike","fromArrayBuffer","encoding","isEncoding","checked","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexSize","arrLength","valLength","foundIndex","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","list","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","isFinite","_arr","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUInt16LE","writeUInt32LE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","stringtrim","base64clean","dst","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","applyBind","table","varint","intTable","codecNameToCodeVarint","addPrefix","multicodecStrOrCode","prefix","varintBufferEncode","rmPrefix","getCodec","prefixedData","codecName","codec","getNumber","varintBufferDecode","getCode","getCodeVarint","getVarint","print","baseTable","nameTable","Map","encodingName","tableByCode","bufferToNumber","numberToBuffer","hexString","varintEncode","varintTable","mh","CIDUtil","checkCIDComponents","multibaseName","multihash","errorMsg","multibase","multicodec","codecs","_CID","withIs","isCID","cid","baseName","isEncoded","fromB58String","CID","validateCID","_buffer","toB58String","toBaseEncodedString","className","symbolName","StringDecoder","hashMode","_finalOrDigest","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","_transform","_flush","fin","Class","symbol","ClassIsWrapper","proto","withoutNew","cidV0ToV1Base32","ipfsHash","toV1","multiC","hexStringToBuffer","profiles","helpers","contentHash","profile","fromIpfs","fromSwarm","swarmHash","encodedValue","multiH","fromHexString","encodes","swarm","ipfs","utf8","decodes","hexMultiHash","b58MultiHash","CRC32","T0","Int32Array","signed_crc_table","TT","T","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","L","DO_NOT_EXPORT_CRC","ECDH","aliases","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","formatReturnValue","bn","p256","secp256r1","secp192r1","p384","p521","generateKeys","getPublicKey","computeSecret","inenc","getPrivateKey","setPublicKey","setPrivateKey","_priv","MD5","RIPEMD160","sha","Hash","alg","Legacy","md5","ZEROS","Hmac","blocksize","_alg","ipad","_ipad","opad","_opad","support","searchParams","iterable","blob","Blob","formData","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","iterator","Headers","headers","append","bodyUsed","fileReaderReady","onload","onerror","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","readAsText","readArrayBufferAsText","oldValue","thisArg","upcased","credentials","referrer","decodeURIComponent","Response","bodyInit","status","statusText","response","redirectStatuses","redirect","location","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","polyfill","rng","pseudoRandomBytes","prng","algos","algoKeys","hashes","getHashes","pbkdf2","pbkdf2Sync","dh","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","createCredentials","token","singleMatcher","multiMatcher","decodeComponents","tokens","encodedURI","replaceMap","exec","customDecodeURIComponent","CBCState","_cbcInit","_cbcState","inp","inOff","outOff","superProto","bufferOff","_updateDecrypt","_updateEncrypt","_flushBuffer","inputOff","outputOff","_finalEncrypt","_finalDecrypt","_pad","_unpad","DESState","_desState","deriveKeys","shiftTable","kL","kR","pc1","r28shl","pc2","ip","_encrypt","lStart","rStart","keyL","keyR","expand","substitute","rip","EDEState","k3","_edeState","inL","inR","outL","outR","pc2table","sTable","permuteTable","padSplit","group","generatePrime","DH","ENCODINGS","gen","generator","genc","millerRabin","TWENTYFOUR","ELEVEN","TEN","THREE","SEVEN","_pub","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","rem","simpleSieve","fermatTest","checkPrime","__gen","_gen","secret","getPrime","front","getGenerator","findPrime","TWO","FIVE","FOUR","_getPrimes","n2","EdwardsCurve","twisted","mOneA","dd","oneC","_mulA","_mulC","lhs","pointFromY","_extDbl","nt","_projDbl","_extAdd","_projAdd","zi","MontCurve","i4","a24","aa","bb","diffAdd","da","cb","jumlAdd","EDDSA","pointClass","encodingLength","keyFromSecret","hashInt","R","Rencoded","encodePoint","s_","pubBytes","S","makeSignature","SG","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","_secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","naiveFallback","globalThis","__global__","vertxNext","customSchedulerFn","asap","queue","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","setTimeout","channel","iterations","observer","onFulfillment","onRejection","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","_resolve","nextTick","createTextNode","observe","characterData","port1","onmessage","port2","postMessage","vertx","Function","runOnLoop","runOnContext","attemptVertx","random","PENDING","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","originalThen","originalResolve","thenable","fulfill","handleOwnThenable","sealed","fulfillmentHandler","rejectionHandler","tryThen","_label","handleForeignThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","entry","_then","didError","_settledAt","_willSettleAt","enumerator","resolver","needsResolver","initializePromise","needsNew","catch","finally","Promise$1","Resolve","_reject","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","local","P","promiseToString","cast","uts46","toUnicode","useStd3ASCII","transitional","inputName","labels","labelSha","Bytes","Nat","keccak256s","toChecksum","addressHash","checksumAddress","publicHash","encodeSignature","flatten","decodeSignature","makeSigner","addToV","fromNumber","fromNat","innerHex","middleHex","outerHex","recover","vals","vrs","replicate","J","chunksOf","at","rnd","bs","rev","padRight","fromAscii","ascii","toAscii","makeByte","ci","toNat","fromUint8Array","toUint8Array","KECCAK_PADDING","keccak","keccak512","keccak512s","bin","toEther","fromEther","eth","toUint256","uint","dataTree","parseTree","head","parseHex","parseList","parseLength","lim","utils_1","isBloom","bloom","isInBloom","bytesToHex","bitpos","codePointToInt","isTopic","isAddress","isUserEthereumAddressInBloom","ethereumAddress","padLeft","isContractAddressInBloom","contractAddress","isTopicInBloom","isByteArray","hasPrefix","hashConstructor","createKeccakHash","hash_utils_1","randombytes","resp","random_1","pk","_a","secp256k1_1","__export","balance","stateRoot","codeHash","externals_1","constants_1","_validate","Account","accountData","hexAddress","eip1191ChainId","nonceBN","initCode","sanitize","pubKey","Address","addressBN","rangeMin","rangeMax","isSafeInteger","setLength","stripZeros","ba","arrToBufArr","bufArrToArr","buffer_1","bn_js_1","_sha256","_ripemd160","isHexPrefixed","padToEven","superset","subset","stringValue","allowEmpty","_fields","obj_1","getter","setter","allowZero","allowLess","default","alias","keys_1","calculateSigRecovery","isValidSigRecovery","recovery","rec","senderPubKey","vn","ss","homesteadOrLater","SECP256K1_N_DIV_2","SECP256K1_N","rBN","sBN","TypeOutput","bnToUnpaddedBuffer","MAX_SAFE_INTEGER","numberToBN","negative1","unitMap","getValueOfUnit","unitInput","unit","unitValue","numberToString","dividedToIntegerBy","toPrecision","fromWei","weiInput","optionsInput","baseLength","commify","toWei","etherInput","ether","Events","EE","context","addListener","emitter","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","getOwnPropertySymbols","handlers","listenerCount","removeListener","on","removeAllListeners","prefixed","objectCreate","F","_maxListeners","hasDefineProperty","defaultMaxListeners","$getMaxListeners","_addListener","prepend","newListener","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","setMaxListeners","getMaxListeners","er","handler","doError","isFn","emitNone","arg1","emitOne","arg2","emitTwo","arg3","emitThree","emitMany","prependListener","prependOnceListener","originalListener","spliceOne","rawListeners","ownKeys","keyBits","used","keyStart","ivStart","isCallable","toStr","forEachArray","forEachString","forEachObject","bound","boundLength","boundArgs","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","decodeURI","encodeURI","encodeURIComponent","eval","EvalError","FinalizationRegistry","Int8Array","Int16Array","SharedArrayBuffer","Uint16Array","URIError","WeakMap","WeakRef","WeakSet","doEval","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","intrinsicName","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","win","origSymbol","hasSymbolSham","sym","symObj","syms","propertyIsEnumerable","HashBase","_block","_blockSize","_blockOffset","_length","_finalized","throwIfNotStringOrBuffer","_digest","ripemd","sha1","sha224","ripemd160","BlockHash","pending","pendingTotal","padLength","_delta8","_delta32","join32","inner","outer","rotl32","sum32","sum32_3","sum32_4","Kh","E","Ah","Bh","Ch","Dh","Eh","rh","sh","toHex32","split32","shaCommon","sum32_5","ft_1","sha1_K","SHA1","W","SHA256","SHA224","ch32","maj32","s0_256","s1_256","g0_256","g1_256","sha256_K","SHA512","SHA384","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","sha512_K","ch64_hi","xh","xl","yh","yl","zh","ch64_lo","zl","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","ah","al","bh","ch","cl","dl","eh","el","fh","fl","gh","gl","hh","hl","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","rotr32","p32","isSurrogatePair","htonl","zero8","http","https","validateParams","protocol","blockIdxes","mapStr","mapChar","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","encoded","ucs2decode","counter","extra","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","inputLength","bias","basic","oldi","baseMinusT","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","punycode","idna_map","mapLabel","mapped","ucs2","composite","flags","startsWith","validateLabel","endsWith","codePointAt","verifyDnsLength","asciiLabels","toASCII","asciiString","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","alert","confirm","prompt","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","availableTypedArrays","gOPD","typedArrays","$slice","toStrTags","typedArray","anyTrue","tryTypedArrays","createKeccak","createShake","KeccakState","Shake","rate","capacity","delimitedSuffix","hashBitLength","_rate","_capacity","_delimitedSuffix","_hashBitLength","_options","initialize","absorb","absorbLastFewBits","squeeze","_resetState","dataByteLength","P1600_ROUND_CONSTANTS","p1600","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","keccakState","squeezing","ARRAY16","_b","_c","_d","rotl","fnF","fnG","fnH","fnI","brorand","MillerRabin","_randbelow","min_bytes","_randrange","stop","rone","n1","rn1","getDivisor","alphabet","engine","stringOrBuffer","char","baseX","base16","base32","tupple","nameOrCode","getBase","bufOrString","errNotSupported","codeBuf","validEncode","isImplemented","defaultLengths","cs","isValidCode","hashfn","coerceCode","isAppCode","stripHexPrefix","formattedString","stringArg","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","toObject","modules","installedModules","__webpack_require__","moduleId","__esModule","__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","fn1","fn2","cons","arrayAsList","listAsArray","foldR","without","applyEach","reverseList","__WEBPACK_IMPORTED_MODULE_0__functional__","xs","emptyList","inputArray","arraySoFar","listItem","startValue","removedFn","withoutInner","subList","fnList","reverseInner","reversedAlready","isOfType","defined","hasAllProperties","__WEBPACK_IMPORTED_MODULE_1__functional__","maybeSomething","fieldList","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","statusCode","jsonBody","thrown","namedNode","keyOf","nodeOf","oboe","__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","baseUrl","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","eventName","pubSubInstance","parameters","singleEventPubSub","__WEBPACK_IMPORTED_MODULE_1__util__","__WEBPACK_IMPORTED_MODULE_2__functional__","eventType","listenerTupleList","listenerList","hasId","tuple","listenerId","un","removed","hasListener","ascentManager","__WEBPACK_IMPORTED_MODULE_0__ascent__","__WEBPACK_IMPORTED_MODULE_1__events__","__WEBPACK_IMPORTED_MODULE_2__lists__","stateAfter","oldHead","ancestors","patternAdapter","__WEBPACK_IMPORTED_MODULE_1__lists__","__WEBPACK_IMPORTED_MODULE_2__ascent__","jsonPathCompiler","predicateEventMap","fullEventName","predicateEvent","compiledJsonPath","emitMatch","maybeMatchingMapping","descent","emitMatchingNode","removedEventName","addUnderlyingListener","__WEBPACK_IMPORTED_MODULE_3__util__","__WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__","__WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__","pathNodeSyntax","doubleDotSyntax","dotSyntax","bangSyntax","emptySyntax","CAPTURING_INDEX","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","p3","clarinet","eventBus","latestError","textNode","emitSaxKey","emitValueOpen","emitValueClose","emitFail","MAX_BUFFER_LENGTH","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","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","onprogress","headerName","isCrossOrigin","pageLocation","ajaxHost","portOf","port","host","parseUrlOrigin","urlHostMatch","parseResponseHeaders","headerStr","headerPair","certificate","RSAPrivateKey","seq","int","RSAPublicKey","PublicKey","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","PrivateKey","EncryptedPrivateKeyInfo","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","ECParameters","namedCurve","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","cipherText","cipherKey","cipher","match2","aesid","fixProc","compat","passphrase","ndata","stripped","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kde","kdeparams","iters","keylen","headersArr","row","ZERO_BUF","checkParameters","defaultEncoding","sync","subtle","toBrowser","checks","getNextTick","queueMicrotask","setImmediate","browserPbkdf2","importKey","deriveBits","resolvePromise","browser","prom","checkNative","MAX_ALLOC","sizes","rmd160","saltLen","getDigest","ipad1","ipad2","run","DK","block1","destPos","hLen","U","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","title","argv","binding","cwd","chdir","umask","i2ops","mgf","withPublic","zBuffer","iHash","maskedSeed","maskedDb","db","dif","oaep","ps","pkcs1","paddedMsg","hLen2","dblen","nonZero","strictUriEncode","decodeComponent","keysSorter","extract","queryStart","formatter","arrayFormat","accumulator","parserForArrayFormat","encoderForArrayFormat","val2","parseUrl","query","MAX_BYTES","generated","oldBrowser","safeBuffer","kBufferMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","createErrorType","NodeError","_Base","oneOf","determiner","search","this_len","Duplex","Readable","allowHalfOpen","readable","onend","_writableState","ended","onEndNT","highWaterMark","getBuffer","_readableState","destroyed","PassThrough","ReadableState","EElistenerCount","Stream","OurUint8Array","debugUtil","createReadableStreamAsyncIterator","BufferList","destroyImpl","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","awaitDrain","readingMore","_read","destroy","_destroy","readableAddChunk","addToFront","skipChunkCheck","emitReadable","emitReadable_","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","clear","MAX_HWM","howMuchToRead","computeNewHighWaterMark","flow","maybeReadMore_","updateReadableListening","resume","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","finished","nOrig","doRead","pipe","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","ondata","cleanedUp","needDrain","pipeOnDrain","pause","dests","ev","asyncIterator","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","needTransform","writeencoding","prefinish","err2","CorkedRequest","finish","corkReq","pendingcb","onCorkedFinish","corkedRequestsFree","WritableState","realHasInstance","internalUtil","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","hasInstance","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","_defineProperty","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_this2","_Object$create","enumerableOnly","hasStrings","_getString","_getBuffer","nb","getOwnPropertyDescriptors","defineProperties","_objectSpread","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","writableEnded","readableEnded","onrequest","req","setHeader","isRequest","ERR_MISSING_ARGS","streams","popCallback","destroys","destroyer","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","pipeline","zr","sl","sr","hr","_e","fn3","fn4","fn5","br","cr","dr","tl","tr","safeParseInt","encodeLength","hexLength","intToHex","llength","innerRemainder","remainder","totalLength","integer","inputBuf","copyProps","SafeBuffer","safer","Safer","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","MAX_VALUE","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","derivedKey","lib","scrypt","progressCallback","lastProgress","progress","syncScrypt","ecparams","loadPublicKey","xbuf","loadCompressedPublicKey","ybuf","x3","loadUncompressedPublicKey","savePublicKey","contextRandomize","privateKeyVerify","seckey","privateKeyNegate","privateKeyTweakAdd","tweak","tweaked","privateKeyTweakMul","publicKeyVerify","publicKeyCreate","publicKeyConvert","publicKeyNegate","publicKeyCombine","pubkeys","pairs","publicKeyTweakAdd","publicKeyTweakMul","signatureNormalize","signatureExport","sigR","sigS","lenR","posR","lenS","posS","outputlen","signatureImport","ecdsaSign","noncefn","_noncefn","ecdsaVerify","msg32","sigObj","sigr","sigs","ecdsaRecover","ecdh","scalar","cond","isUint8Array","numbers","isCompressed","toTypeString","getAssertedOutput","finalSize","_finalSize","assigned","lowBits","highBits","Algorithm","Sha","_w","rotl30","ft","Sha1","rotl5","Sha256","Sha224","_f","_g","_h","maj","sigma0","sigma1","gamma0","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","_isStdio","didOnEnd","cleanup","ClientRequest","extend","statusCodes","defaultProtocol","hostname","IncomingMessage","Agent","defaultMaxSockets","globalAgent","STATUS_CODES","METHODS","getXHR","XDomainRequest","checkTypeSupport","ReadableStream","writableStream","WritableStream","abortController","arraybuffer","msstream","mozchunkedarraybuffer","overrideMimeType","rStates","readyStates","preferBinary","_opts","_body","_headers","auth","useFetch","decideMode","_fetchTimer","_socketTimeout","_socketTimer","_onFinish","lowerName","unsafeHeaders","getHeader","removeHeader","_destroyed","headersObj","headersList","keyName","controller","_fetchAbortController","requestTimeout","_fetchResponse","_resetTimers","_connect","_xhr","_response","LOADING","DONE","_onXHRProgress","statusValid","flushHeaders","setNoDelay","setSocketKeepAlive","UNSENT","OPENED","HEADERS_RECEIVED","resetTimers","trailers","rawTrailers","statusMessage","_resumeFetch","close","pipeTo","getReader","_pos","matches","_charset","mimeType","charsetMatch","newData","MSStreamReader","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","unavailable","fs","readFile","files","download","safeDownloadArchived","directoryTree","os","platform","arch","child_process","spawn","mimetype","pick","defaultArchives","downloadUrl","picker","fileInput","fileLoader","directory","totalFiles","loadedFiles","file","webkitRelativePath","_path","createElement","webkitdirectory","mozdirectory","msdirectory","odirectory","mouseEvent","swarmHashBlock","lengthEncoded","maxSize","innerNodes","_ref","toMap","rawUrl","swarmUrl","downloadData","downloadEntries","routes","downloadEntry","contentType","impureInsert","downloadRoutes","route","downloadDirectory","paths","hashs","datas","downloadDataToDisk","filePath","downloadDirectoryToDisk","dirPath","routingTable","downloads","uploadData","uploadToManifest","attempt","slashRoute","opt","uploadFile","uploadDirectory","uploadFileFromDisk","uploadRoute","uploadDataFromDisk","uploadDirectoryFromDisk","defaultPath","fullPaths","_upload","defaultFile","_download","isDirectory","isDir","downloadBinary","archives","system","archive","archiveUrl","archiveMD5","binaryMD5","startProcess","swarmSetup","hasString","account","dataDir","ensApi","swarmProcess","binPath","handleProcessOutput","stdin","stopProcess","kill","killTimeout","_isAvailable","uncurry","uint8Array","isAvailable","upload","useAPI","onData","onProgress","freeExports","nodeType","freeModule","freeGlobal","tMin","tMax","skew","damp","initialBias","initialN","delimiter","ucs2encode","qs","sep","regexp","maxKeys","kstr","vstr","stringifyPrimitive","ks","Url","slashes","pathname","href","urlParse","resolveObject","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","rest","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","ae","esc","escape","qm","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute","byteIndex","checkScalarValue","createByte","encodeCodePoint","readContinuationByte","continuationByte","decodeSymbol","byte1","byteString","localStorage","isArgumentsObject","isGeneratorFunction","whichTypedArray","isTypedArray","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","descriptors","debugEnvRegex","debugEnv","isNativeError","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","original","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","rej","_nil","_stringify","_v","_v2","_v3","_v4","_version","_interopRequireDefault","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","cnt","md5ff","md5gg","md5hh","md5ii","unescape","length32","hexTab","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","bytesToWords","_default","randomUUID","uuid","rnds8","ROTL","unsafeStringify","byteToHex","_nodeId","_clockseq","_rng","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tmh","_md","URL","DNS","hashfunc","generateUUID","namespace","_namespace","stringToBytes","_native","rnds","_sha","_regex","REST","MSB","oldOffset","INT","MSBALL","N1","N2","N3","N4","N5","N6","N7","N8","N9","_globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","W3CWebSocket","uri","protocols","foundName","queryString","setQuery","ensureHeader","mimeTypeJson","defaultResponse","lower","rawRequest","useJson","parseHeaders","xtend","initParams","createXHR","_createXHR","getBody","responseXML","firefoxBugTakenEffect","documentElement","nodeName","getXml","isJson","errorFunc","timeoutTimer","failureResponse","loadFunc","useXDR","cors","username","beforeSend","Bzz","provider","givenProvider","_requestManager","currentProvider","setProvider","ethereum","bzz","noProviderError","ErrorResponse","InvalidNumberOfParams","got","InvalidConnection","ConnectionError","InvalidProvider","InvalidResponse","ConnectionTimeout","ms","ConnectionNotOpenError","ConnectionCloseError","MaxAttemptsReachedOnReconnectingError","PendingRequestsOnReconnectingError","description","RevertInstructionError","TransactionRevertInstructionError","receipt","TransactionError","NoContractAddressFoundError","ContractCodeNotStoredError","TransactionRevertedWithoutReasonError","TransactionOutOfGasError","ResolverMethodMissingError","ContractMissingABIError","ContractOnceRequiresCallbackError","ContractEventDoesNotExistError","ContractReservedEventError","ContractMissingDeployDataError","ContractNoAddressDefinedError","ContractNoFromAddressDefinedError","Iban","outputBigNumberFormatter","inputBlockNumberFormatter","isPredefinedBlockNumber","isHexStrict","numberToHex","_txInputFormatter","inputAddressFormatter","isHex","outputTransactionFormatter","hexFormat","hexToNumber","transactionIndex","toChecksumAddress","outputLogFormatter","blockHash","transactionHash","logIndex","shaId","iban","isValid","isDirect","toAddress","inputDefaultBlockNumberFormatter","defaultBlock","inputCallFormatter","defaultAccount","inputTransactionFormatter","inputPostFormatter","post","ttl","workToProve","priority","fromUtf8","inputLogFormatter","toTopic","fromBlock","toBlock","inputSignFormatter","utf8ToHex","inputStorageKeysFormatter","outputProofFormatter","proof","hexToNumberString","outputTransactionReceiptFormatter","cumulativeGasUsed","gasUsed","effectiveGasPrice","logs","outputBlockFormatter","timestamp","difficulty","totalDifficulty","transactions","miner","baseFeePerGas","outputPostFormatter","expiry","sent","workProved","toUtf8","outputSyncingFormatter","startingBlock","currentBlock","highestBlock","knownStates","pulledStates","formatters","promiEvent","Subscriptions","EthersTransactionUtils","Method","inputFormatter","outputFormatter","transformPayload","extraFormatters","abiCoder","requestManager","accounts","transactionBlockTimeout","transactionConfirmationBlocks","transactionPollingTimeout","transactionPollingInterval","blockHeaderTimeout","defaultCommon","defaultChain","handleRevert","setRequestManager","createFunction","buildCall","attachToObject","getCall","extractCallback","validateArgs","formatInput","formatOutput","toPayload","_confirmTransaction","defer","promiseResolved","canUnsubscribe","timeoutCount","confirmationCount","intervalId","blockHeaderTimeoutId","lastBlock","gasProvided","isContractDeployment","hasBytecode","_ethereumCalls","subscriptions","subscriptionName","_ethereumCall","mthd","checkConfirmation","existingReceipt","isPolling","blockHeader","unsubscribe","clearInterval","getTransactionReceipt","_fireError","eventEmitter","receiptFormatter","getBlockByNumber","latestBlock","latestBlockHash","contractDeployFormatter","outOfGas","revertMessage","txReplayOptions","rawTransactionHex","parsedTx","getRevertReason","startWatching","blockHeaderArrived","startInterval","setInterval","getWallet","wallet","isSendTx","isCall","sendTxCallback","reasonData","isRevertReasonString","originalError","decodeParameter","sendSignedTx","signedPayload","sendRequest","signTransaction","hasSendTxObject","getGasPrice","responses","_handleTxPricing","txPricing","PromiEvent","justPromise","Jsonrpc","Batch","requests","execute","sortResponses","_sortResponses","sendBatch","isValidResponse","web3","sendAsync","connection","BatchManager","RequestManager","net","providers","WebsocketProvider","HttpProvider","IpcProvider","connect","connected","clearSubscriptions","subscription","deprecatedResult","resubscribe","_isCleanCloseEvent","_isIpcCloseError","delete","jsonrpcPayload","jsonrpcResultCallback","_jsonrpcResultCallback","callbackRequest","toBatchPayload","addSubscription","removeSubscription","keepIsSyncing","wasClean","Manager","messageId","jsonrpc","validateSingleMessage","messages","Subscription","rm","identity","_extractCallback","_validateArgs","_formatInput","_formatOutput","_toPayload","subscriptionMethod","err1","blockParams","resultItem","subscriptionHandler","pckg","ex","extension","extendedObject","packageInit","pkg","_provider","manager","BatchRequest","addProviders","EthersAbiCoder","ethersAbiCoder","Result","ABICoder","encodeFunctionSignature","functionName","_jsonInterfaceMethodToString","encodeEventSignature","encodeParameter","encodeParameters","mapTypes","formatParam","modifyParams","mappedTypes","isSimplifiedStructFormat","structName","mapStructNameAndType","mapStructToCoderFormat","struct","paramTypeBytesArray","paramTypeNumberArray","leftPad","rightPad","encodeFunctionCall","jsonInterface","decodeParameters","decodeParametersWith","returnValue","__length__","decodedValue","decodeLog","notIndexedInputs","indexedParams","topicCount","staticType","nonIndexedData","notIndexedParams","core","cryp","HardForks","ethereumjsUtil","isNot","isExist","Accounts","Wallet","_accounts","defaultKeyName","_addAccountFunctions","randomHex","privateKeyToAccount","ignoreLength","transactionOptions","hasTxSigningOptions","customChain","_validateTransactionForSigning","London","signedTx","validationErrors","validationError","messageHash","hasEip1559","Berlin","_handleTxType","getChainId","getTransactionCount","getNetworkId","txchainId","txnonce","txnetworkId","txgasInfo","recoverTransaction","rawTx","getSenderAddress","messageHex","messageBytes","hexToBytes","messageBuffer","preamble","preambleBuffer","ethMessage","bufferToHex","preFixed","v3Keystore","nonStrict","kdfparams","kdf","dklen","prf","ciphertext","mac","decipher","cipherparams","v4","_findSafeIndex","pointer","_currentIndexes","numberOfAccounts","remove","addressOrIndex","encryptedWallet","keystore","setItem","load","getItem","removeItem","storageAvailable","Contract","lastArg","_getOrSetDefaultOptions","_address","_jsonInterface","funcName","_createTxObject","cascadeFunc","nextMethod","_on","allEvents","_ethAccounts","_getCallback","_checkListener","_encodeEventABI","jsonInterfaceMethodToString","_decodeEventABI","intf","indexedInputs","argTopics","returnValues","_encodeMethodABI","methodSignature","_method","paramsABI","_parent","_deployData","_decodeMethodReturn","deployData","_generateEventOptions","subOptions","filterAllEventsResults","filterKeys","getPastEvents","getPastLogs","txObject","_executeMethod","encodeABI","estimateGas","createAccessList","_processExecuteArguments","processedArgs","generateRequest","ethAccounts","newContract","sendTransaction","Registry","ResolverMethodHandler","contenthash","ENS","registryAddress","_detectedAddress","_lastSyncCheck","registry","supportsInterface","interfaceId","getResolver","setResolver","txConfig","setRecord","owner","setSubnodeRecord","setApprovalForAll","approved","isApprovedForAll","recordExists","setSubnodeOwner","getTTL","setTTL","getOwner","setOwner","resolverMethodHandler","setAddress","getPubkey","setPubkey","getContent","setContent","getContenthash","setContenthash","getMultihash","setMultihash","checkNetwork","headAge","getNetworkType","networkType","addresses","main","interfaceIds","setAddr","namehash","REGISTRY_ABI","RESOLVER_ABI","ens","contract","ensName","methodArguments","preparedArguments","prepareArguments","checkInterfaceSupport","handleCall","sendOptions","handleSend","confirmationNumber","supported","protocolType","matched","iso13616Prepare","Z","mod9710","_iban","isIndirect","asBn","ib","fromAddress","fromBban","bban","countryCode","institution","identifier","Net","Personal","getId","givenId","BaseContract","blockCall","transactionFromBlockCall","uncleCall","getBlockTransactionCountCall","uncleCountCall","Eth","personal","maxListenersWarningThreshold","removeSubscriptionById","_isSyncing","_isSyncingTimeout","agent","keepAlive","httpsAgent","httpAgent","agents","timeoutId","disconnect","supportsSubscriptions","responseCallbacks","notificationCallbacks","addDefaultEvents","_parseResponse","_timeout","lastChunk","lastChunkTimeout","_addResponseCallback","reconnect","isRN","navigator","product","_btoa","newURL","parseURL","Ws","_customTimeout","reconnectOptions","auto","delay","maxAttempts","onTimeout","clientConfig","requestOptions","DATA","CLOSE","ERROR","CONNECT","RECONNECT","requestQueue","responseQueue","reconnectAttempts","reconnecting","connectFailedDescription","parsedURL","authorization","OPEN","_addSocketListeners","_onMessage","_onConnect","_onConnectFailed","_connection","_client","_readyState","_onClose","_removeSocketListeners","CONNECTING","Shh","ethjsUnit","soliditySha3","_flattenTypes","includeTuple","puts","suffix","arrayBracket","hexToAscii","asciiToHex","getUnitValue","optionalData","sha3Raw","soliditySha3Raw","encodePacked","checkAddressChecksum","toDecimal","fromDecimal","hexToUtf8","hexToString","stringToHex","toTwosComplement","compareBlockNumbers","bnA","bnB","_parseNumber","_solidityPack","arraySize","_elementaryName","typesize","_parseTypeN","_processSolidityEncodePackedArgs","_parseTypeNArray","hexArgs","ethereumBloomFilters","bigIntOnOverflow","MIN_SAFE_INTEGER","returnType","SHA3_NULL_S","_Hash","BNwrapped","toLocaleLowerCase","hexValue","Web3","shh","arr2","arrayLikeToArray","asyncGeneratorStep","_next","_throw","isNativeReflectConstruct","_construct","Parent","toPropertyKey","superPropBase","_i","_s","_x","_r","_typeof","assertThisInitialized","_regeneratorRuntime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","doneResult","displayName","genFun","mark","awrap","async","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","delegateYield","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","prim","toPrimitive","minLen","runtime","regeneratorRuntime","accidentalStrictMode","possibleNames","__webpack_module_cache__","cachedModule","loaded","__webpack_modules__","amdO","nmd"],"sourceRoot":""} \ No newline at end of file diff --git a/lerna.json b/lerna.json index 30aaa89df36..015d1a24f6d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.9.0", + "version": "1.10.0", "command": { "init": { "exact": true diff --git a/package-lock.json b/package-lock.json index 05c8c9f7d5c..d97b0749c96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,39 +5,8 @@ "packages": { "": { "name": "web3.js", + "hasInstallScript": true, "license": "LGPL-3.0", - "dependencies": { - "@chainsafe/lodestar-types": "^0.13.0", - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "@ethersproject/abi": "^5.6.3", - "@ethersproject/transactions": "^5.6.2", - "@types/jest": "^26.0.14", - "abortcontroller-polyfill": "^1.7.3", - "axios": "^0.21.1", - "babel-jest": "^26.6.3", - "content-hash": "^2.5.2", - "cross-fetch": "^3.1.4", - "dtslint": "^3.4.1", - "es6-promise": "^4.2.8", - "eth-ens-namehash": "2.0.8", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "eventemitter3": "4.0.4", - "got": "12.1.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.5", - "uuid": "^9.0.0", - "websocket": "^1.0.32" - }, "devDependencies": { "@babel/cli": "^7.12.1", "@babel/core": "^7.12.3", @@ -103,6 +72,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -111,11 +81,6 @@ "node": ">=6.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": { "version": "7.19.3", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.19.3.tgz", @@ -149,6 +114,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -160,6 +126,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -168,6 +135,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", @@ -197,6 +165,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dev": true, "dependencies": { "@babel/types": "^7.20.5", "@jridgewell/gen-mapping": "^0.3.2", @@ -210,6 +179,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -248,6 +218,7 @@ "version": "7.20.0", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dev": true, "dependencies": { "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", @@ -319,6 +290,7 @@ "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -339,6 +311,7 @@ "version": "7.19.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, "dependencies": { "@babel/template": "^7.18.10", "@babel/types": "^7.19.0" @@ -351,6 +324,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -374,6 +348,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -385,6 +360,7 @@ "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", @@ -415,6 +391,7 @@ "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -457,6 +434,7 @@ "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, "dependencies": { "@babel/types": "^7.20.2" }, @@ -480,6 +458,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -491,6 +470,7 @@ "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -499,6 +479,7 @@ "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -507,6 +488,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -530,6 +512,7 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dev": true, "dependencies": { "@babel/template": "^7.18.10", "@babel/traverse": "^7.20.5", @@ -543,6 +526,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -556,6 +540,7 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -848,17 +833,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -870,6 +845,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -931,21 +907,11 @@ "@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": { "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -957,6 +923,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -968,6 +935,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -979,6 +947,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -990,6 +959,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1001,6 +971,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1012,6 +983,7 @@ "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==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1038,6 +1010,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1744,6 +1717,7 @@ "version": "7.18.10", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", "@babel/parser": "^7.18.10", @@ -1757,6 +1731,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", "@babel/generator": "^7.20.5", @@ -1777,6 +1752,7 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -1786,43 +1762,6 @@ "node": ">=6.9.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.4", - "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.2.4.tgz", - "integrity": "sha512-rYfIOaQm0OlFcHdJFUu5VyYOA1HVeQXxOivUsawBjd7WXc3lMQ0bXMfCgN50gPPLWT92G4ioZ0EZz8RnH+YT/g==", - "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": { "version": "0.1.11", "resolved": "https://registry.npmjs.org/@chainsafe/geth-dev-assistant/-/geth-dev-assistant-0.1.11.tgz", @@ -1838,59 +1777,6 @@ "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/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -1900,70 +1786,6 @@ "node": ">=0.1.90" } }, - "node_modules/@definitelytyped/header-parser": { - "version": "0.0.159", - "resolved": "https://registry.npmjs.org/@definitelytyped/header-parser/-/header-parser-0.0.159.tgz", - "integrity": "sha512-y+zr9ahjiFz7BLW1HeMWrx7xNxfBTDU0loJqzRh9WPHVdSrMsk+JQBSlubed/EZ1hgFZ6m93FRzBRCGIj8kBYg==", - "dependencies": { - "@definitelytyped/typescript-versions": "^0.0.159", - "@types/parsimmon": "^1.10.1", - "parsimmon": "^1.13.0" - } - }, - "node_modules/@definitelytyped/typescript-versions": { - "version": "0.0.159", - "resolved": "https://registry.npmjs.org/@definitelytyped/typescript-versions/-/typescript-versions-0.0.159.tgz", - "integrity": "sha512-9TWRPpOo3CWYUyS3QCu8goJbAhS3qAE/LWFc+Qy6Wb8vsUAwMTioCtPPsYyqrPDbatXvPFrOr182hE1OFvEFSA==" - }, - "node_modules/@definitelytyped/utils": { - "version": "0.0.159", - "resolved": "https://registry.npmjs.org/@definitelytyped/utils/-/utils-0.0.159.tgz", - "integrity": "sha512-zm+Gsw39sD2EANlJmmNXgtpIzXO3QmBq5nZx6Y95RD/s2AypDaBw0eauO1wWji6I45tJOAgPZEvfmjjaxfoyhA==", - "dependencies": { - "@definitelytyped/typescript-versions": "^0.0.159", - "@qiwi/npm-registry-client": "^8.9.1", - "@types/node": "^14.14.35", - "charm": "^1.0.2", - "fs-extra": "^8.1.0", - "fstream": "^1.0.12", - "tar": "^6.1.11", - "tar-stream": "^2.1.4" - } - }, - "node_modules/@definitelytyped/utils/node_modules/@types/node": { - "version": "14.18.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.43.tgz", - "integrity": "sha512-n3eFEaoem0WNwLux+k272P0+aq++5o05bA9CfiwKPdYPB5ZambWKdWoeHy7/OJiizMhzg27NLaZ6uzjLTzXceQ==" - }, - "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/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@definitelytyped/utils/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/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -1997,6 +1819,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", + "dev": true, "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.1" @@ -2006,6 +1829,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", + "dev": true, "dependencies": { "@ethereumjs/common": "^2.5.0", "ethereumjs-util": "^7.1.2" @@ -2015,6 +1839,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "dev": true, "funding": [ { "type": "individual", @@ -2041,6 +1866,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "dev": true, "funding": [ { "type": "individual", @@ -2065,6 +1891,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "dev": true, "funding": [ { "type": "individual", @@ -2087,6 +1914,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "dev": true, "funding": [ { "type": "individual", @@ -2109,6 +1937,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "dev": true, "funding": [ { "type": "individual", @@ -2147,6 +1976,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "dev": true, "funding": [ { "type": "individual", @@ -2167,6 +1997,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "dev": true, "funding": [ { "type": "individual", @@ -2185,6 +2016,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "dev": true, "funding": [ { "type": "individual", @@ -2231,6 +2063,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "dev": true, "funding": [ { "type": "individual", @@ -2318,6 +2151,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "dev": true, "funding": [ { "type": "individual", @@ -2336,12 +2170,14 @@ "node_modules/@ethersproject/keccak256/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==" + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true }, "node_modules/@ethersproject/logger": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "dev": true, "funding": [ { "type": "individual", @@ -2357,6 +2193,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "dev": true, "funding": [ { "type": "individual", @@ -2395,6 +2232,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "dev": true, "funding": [ { "type": "individual", @@ -2471,6 +2309,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "dev": true, "funding": [ { "type": "individual", @@ -2511,6 +2350,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "dev": true, "funding": [ { "type": "individual", @@ -2558,6 +2398,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "dev": true, "funding": [ { "type": "individual", @@ -2578,6 +2419,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "dev": true, "funding": [ { "type": "individual", @@ -2658,6 +2500,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "dev": true, "funding": [ { "type": "individual", @@ -2720,201 +2563,308 @@ "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", "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==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, "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" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "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==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=8" + "node": ">=6.0.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==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@lerna/add": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-6.1.0.tgz", + "integrity": "sha512-f2cAeS1mE/p7QvSRn5TCgdUXw6QVbu8PeRxaTOxTThhTdJIWdXZfY00QjAsU6jw1PdYXK1qGUSwWOPkdR16mBg==", + "dev": true, + "dependencies": { + "@lerna/bootstrap": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/npm-conf": "6.1.0", + "@lerna/validation-error": "6.1.0", + "dedent": "^0.7.0", + "npm-package-arg": "8.1.1", + "p-map": "^4.0.0", + "pacote": "^13.6.1", + "semver": "^7.3.4" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/add/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/@lerna/add/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/@lerna/add/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/@lerna/bootstrap": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-6.1.0.tgz", + "integrity": "sha512-aDxKqgxexVj/Z0B1aPu7P1iPbPqhk1FPkl/iayCmPlkAh90pYEH0uVytGzi1hFB5iXEfG7Pa6azGQywUodx/1g==", + "dev": true, "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" + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/has-npm-version": "6.1.0", + "@lerna/npm-install": "6.1.0", + "@lerna/package-graph": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/rimraf-dir": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/symlink-binary": "6.1.0", + "@lerna/symlink-dependencies": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@npmcli/arborist": "5.3.0", + "dedent": "^0.7.0", + "get-port": "^5.1.1", + "multimatch": "^5.0.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1", + "semver": "^7.3.4" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/bootstrap/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/bootstrap/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/bootstrap/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "lru-cache": "^6.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@lerna/bootstrap/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "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/@lerna/bootstrap/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "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==", + "node_modules/@lerna/bootstrap/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/@lerna/changed": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-6.1.0.tgz", + "integrity": "sha512-p7C2tf1scmvoUC1Osck/XIKVKXAQ8m8neL8/rfgKSYsvUVjsOB1LbF5HH1VUZntE6S4OxkRxUQGkAHVf5xrGqw==", + "dev": true, + "dependencies": { + "@lerna/collect-updates": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/listable": "6.1.0", + "@lerna/output": "6.1.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/check-working-tree": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-6.1.0.tgz", + "integrity": "sha512-hSciDmRqsNPevMhAD+SYbnhjatdb7UUu9W8vTyGtUXkrq2xtRZU0vAOgqovV8meirRkbC41pZePYKqyQtF0y3w==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@lerna/collect-uncommitted": "6.1.0", + "@lerna/describe-ref": "6.1.0", + "@lerna/validation-error": "6.1.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/child-process": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.1.0.tgz", + "integrity": "sha512-jhr3sCFeps6Y15SCrWEPvqE64i+QLOTSh+OzxlziCBf7ZEUu7sF0yA4n5bAqw8j43yCKhhjkf/ZLYxZe+pnl3Q==", + "dev": true, "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" + "chalk": "^4.1.0", + "execa": "^5.0.0", + "strong-log-transformer": "^2.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { + "node_modules/@lerna/child-process/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" }, @@ -2925,10 +2875,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/core/node_modules/chalk": { + "node_modules/@lerna/child-process/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2940,10 +2891,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/core/node_modules/color-convert": { + "node_modules/@lerna/child-process/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" }, @@ -2951,31 +2903,26 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/core/node_modules/color-name": { + "node_modules/@lerna/child-process/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/@jest/core/node_modules/has-flag": { + "node_modules/@lerna/child-process/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==", + "dev": true, "engines": { "node": ">=8" } }, - "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/supports-color": { + "node_modules/@lerna/child-process/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==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2983,90 +2930,45 @@ "node": ">=8" } }, - "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "node_modules/@lerna/clean": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-6.1.0.tgz", + "integrity": "sha512-LRK2hiNUiBhPe5tmJiefOVpkaX2Yob0rp15IFNIbuteRWUJg0oERFQo62WvnxwElfzKSOhr8OGuEq/vN4bMrRA==", + "dev": true, "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "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" - }, - "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" + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/rimraf-dir": "6.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/cli": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-6.1.0.tgz", + "integrity": "sha512-p4G/OSPIrHiNkEl8bXrQdFOh4ORAZp2+ljvbXmAxpdf2qmopaUdr+bZYtIAxd+Z42SxRnDNz9IEyR0kOsARRQQ==", + "dev": true, "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" + "@lerna/global-options": "6.1.0", + "dedent": "^0.7.0", + "npmlog": "^6.0.2", + "yargs": "^16.2.0" }, "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "node-notifier": "^8.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { + "node_modules/@lerna/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==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3077,25 +2979,35 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/@lerna/cli/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { + "node_modules/@lerna/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==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3103,204 +3015,109 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/reporters/node_modules/color-name": { + "node_modules/@lerna/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/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.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "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==", + "node_modules/@lerna/cli/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/cli/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/@lerna/cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/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/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/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/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" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "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" - }, + "node_modules/@lerna/cli/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "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==", + "node_modules/@lerna/cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "dependencies": { - "@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" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "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==", + "node_modules/@lerna/collect-uncommitted": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-6.1.0.tgz", + "integrity": "sha512-VvWvqDZG+OiF4PwV4Ro695r3+8ty4w+11Bnq8tbsbu5gq8qZiam8Fkc/TQLuNNqP0SPi4qmMPaIzWvSze3SmDg==", + "dev": true, "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" + "@lerna/child-process": "6.1.0", + "chalk": "^4.1.0", + "npmlog": "^6.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { + "node_modules/@lerna/collect-uncommitted/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" }, @@ -3311,10 +3128,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/chalk": { + "node_modules/@lerna/collect-uncommitted/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/collect-uncommitted/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3326,10 +3157,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/color-convert": { + "node_modules/@lerna/collect-uncommitted/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" }, @@ -3337,31 +3169,60 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/transform/node_modules/color-name": { + "node_modules/@lerna/collect-uncommitted/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@lerna/collect-uncommitted/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "node_modules/@jest/transform/node_modules/has-flag": { + "node_modules/@lerna/collect-uncommitted/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==", + "dev": true, "engines": { "node": ">=8" } }, - "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==", + "node_modules/@lerna/collect-uncommitted/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@jest/transform/node_modules/supports-color": { + "node_modules/@lerna/collect-uncommitted/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==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3369,173 +3230,200 @@ "node": ">=8" } }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/@lerna/collect-updates": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-6.1.0.tgz", + "integrity": "sha512-dgH7kgstwCXFctylQ4cxuCmhwSIE6VJZfHdh2bOaLuncs6ATMErKWN/mVuFHuUWEqPDRyy5Ky40Cu9S40nUq5w==", + "dev": true, "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" + "@lerna/child-process": "6.1.0", + "@lerna/describe-ref": "6.1.0", + "minimatch": "^3.0.4", + "npmlog": "^6.0.2", + "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/collect-updates/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/collect-updates/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/@lerna/collect-updates/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.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==", + "node_modules/@lerna/collect-updates/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/@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==", + "node_modules/@lerna/command": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-6.1.0.tgz", + "integrity": "sha512-OnMqBDaEBY0C8v9CXIWFbGGKgsiUtZrnKVvQRbupMSZDKMpVGWIUd3X98Is9j9MAmk1ynhBMWE9Fwai5ML/mcA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@lerna/child-process": "6.1.0", + "@lerna/package-graph": "6.1.0", + "@lerna/project": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@lerna/write-log-file": "6.1.0", + "clone-deep": "^4.0.1", + "dedent": "^0.7.0", + "execa": "^5.0.0", + "is-ci": "^2.0.0", + "npmlog": "^6.0.2" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "node_modules/@lerna/command/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@lerna/command/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, "engines": { - "node": ">=6.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "node_modules/@lerna/command/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "node_modules/@lerna/conventional-commits": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-6.1.0.tgz", + "integrity": "sha512-Tipo3cVr8mNVca4btzrCIzct59ZJWERT8/ZCZ/TQWuI4huUJZs6LRofLtB0xsGJAVZ7Vz2WRXAeH4XYgeUxutQ==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@lerna/validation-error": "6.1.0", + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-core": "^4.2.4", + "conventional-recommended-bump": "^6.1.0", + "fs-extra": "^9.1.0", + "get-stream": "^6.0.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "pify": "^5.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=6.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "node_modules/@lerna/conventional-commits/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/add": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-6.1.0.tgz", - "integrity": "sha512-f2cAeS1mE/p7QvSRn5TCgdUXw6QVbu8PeRxaTOxTThhTdJIWdXZfY00QjAsU6jw1PdYXK1qGUSwWOPkdR16mBg==", + "node_modules/@lerna/conventional-commits/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "@lerna/bootstrap": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/npm-conf": "6.1.0", - "@lerna/validation-error": "6.1.0", - "dedent": "^0.7.0", - "npm-package-arg": "8.1.1", - "p-map": "^4.0.0", - "pacote": "^13.6.1", - "semver": "^7.3.4" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/add/node_modules/hosted-git-info": { + "node_modules/@lerna/conventional-commits/node_modules/hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", @@ -3547,7 +3435,7 @@ "node": ">=10" } }, - "node_modules/@lerna/add/node_modules/npm-package-arg": { + "node_modules/@lerna/conventional-commits/node_modules/npm-package-arg": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", @@ -3561,8 +3449,35 @@ "node": ">=10" } }, - "node_modules/@lerna/add/node_modules/semver": { - "version": "7.3.8", + "node_modules/@lerna/conventional-commits/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/conventional-commits/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/conventional-commits/node_modules/semver": { + "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, @@ -3576,40 +3491,48 @@ "node": ">=10" } }, - "node_modules/@lerna/bootstrap": { + "node_modules/@lerna/create": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-6.1.0.tgz", - "integrity": "sha512-aDxKqgxexVj/Z0B1aPu7P1iPbPqhk1FPkl/iayCmPlkAh90pYEH0uVytGzi1hFB5iXEfG7Pa6azGQywUodx/1g==", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.1.0.tgz", + "integrity": "sha512-ZqlknXu0L29cV5mcfNgBLl+1RbKTWmNk8mj545zgXc7qQDgmrY+EVvrs8Cirey8C7bBpVkzP7Brzze0MSoB4rQ==", "dev": true, "dependencies": { + "@lerna/child-process": "6.1.0", "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/has-npm-version": "6.1.0", - "@lerna/npm-install": "6.1.0", - "@lerna/package-graph": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/rimraf-dir": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/symlink-binary": "6.1.0", - "@lerna/symlink-dependencies": "6.1.0", + "@lerna/npm-conf": "6.1.0", "@lerna/validation-error": "6.1.0", - "@npmcli/arborist": "5.3.0", "dedent": "^0.7.0", - "get-port": "^5.1.1", - "multimatch": "^5.0.0", + "fs-extra": "^9.1.0", + "init-package-json": "^3.0.2", "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1", - "semver": "^7.3.4" + "p-reduce": "^2.1.0", + "pacote": "^13.6.1", + "pify": "^5.0.0", + "semver": "^7.3.4", + "slash": "^3.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0", + "yargs-parser": "20.2.4" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/bootstrap/node_modules/are-we-there-yet": { + "node_modules/@lerna/create-symlink": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-6.1.0.tgz", + "integrity": "sha512-ulMa5OUJEwEWBHSgCUNGxrcsJllq1YMYWqhufvIigmMPJ0Zv3TV1Hha5i2MsqLJAakxtW0pNuwdutkUTtUdgxQ==", + "dev": true, + "dependencies": { + "cmd-shim": "^5.0.0", + "fs-extra": "^9.1.0", + "npmlog": "^6.0.2" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/create-symlink/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -3622,7 +3545,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/bootstrap/node_modules/gauge": { + "node_modules/@lerna/create-symlink/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -3641,33 +3564,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/bootstrap/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/bootstrap/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/bootstrap/node_modules/npmlog": { + "node_modules/@lerna/create-symlink/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -3682,184 +3579,112 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/bootstrap/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@lerna/create/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { "node": ">=10" } }, - "node_modules/@lerna/changed": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-6.1.0.tgz", - "integrity": "sha512-p7C2tf1scmvoUC1Osck/XIKVKXAQ8m8neL8/rfgKSYsvUVjsOB1LbF5HH1VUZntE6S4OxkRxUQGkAHVf5xrGqw==", - "dev": true, - "dependencies": { - "@lerna/collect-updates": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/listable": "6.1.0", - "@lerna/output": "6.1.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/check-working-tree": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-6.1.0.tgz", - "integrity": "sha512-hSciDmRqsNPevMhAD+SYbnhjatdb7UUu9W8vTyGtUXkrq2xtRZU0vAOgqovV8meirRkbC41pZePYKqyQtF0y3w==", - "dev": true, - "dependencies": { - "@lerna/collect-uncommitted": "6.1.0", - "@lerna/describe-ref": "6.1.0", - "@lerna/validation-error": "6.1.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/child-process": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.1.0.tgz", - "integrity": "sha512-jhr3sCFeps6Y15SCrWEPvqE64i+QLOTSh+OzxlziCBf7ZEUu7sF0yA4n5bAqw8j43yCKhhjkf/ZLYxZe+pnl3Q==", + "node_modules/@lerna/create/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "execa": "^5.0.0", - "strong-log-transformer": "^2.1.0" + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/child-process/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==", + "node_modules/@lerna/create/node_modules/npm-package-arg/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": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "builtins": "^1.0.3" } }, - "node_modules/@lerna/child-process/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@lerna/create/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/child-process/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@lerna/create/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/@lerna/child-process/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/@lerna/child-process/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==", + "node_modules/@lerna/create/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/@lerna/child-process/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==", + "node_modules/@lerna/create/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "builtins": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/clean": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-6.1.0.tgz", - "integrity": "sha512-LRK2hiNUiBhPe5tmJiefOVpkaX2Yob0rp15IFNIbuteRWUJg0oERFQo62WvnxwElfzKSOhr8OGuEq/vN4bMrRA==", + "node_modules/@lerna/create/node_modules/validate-npm-package-name/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "dev": true, "dependencies": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/rimraf-dir": "6.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" + "semver": "^7.0.0" } }, - "node_modules/@lerna/cli": { + "node_modules/@lerna/describe-ref": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-6.1.0.tgz", - "integrity": "sha512-p4G/OSPIrHiNkEl8bXrQdFOh4ORAZp2+ljvbXmAxpdf2qmopaUdr+bZYtIAxd+Z42SxRnDNz9IEyR0kOsARRQQ==", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-6.1.0.tgz", + "integrity": "sha512-0RQAYnxBaMz1SrEb/rhfR+8VeZx5tvCNYKRee5oXIDZdQ2c6/EPyrKCp3WcqiuOWY50SfGOVfxJEcxpK8Y3FNA==", "dev": true, "dependencies": { - "@lerna/global-options": "6.1.0", - "dedent": "^0.7.0", - "npmlog": "^6.0.2", - "yargs": "^16.2.0" + "@lerna/child-process": "6.1.0", + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@lerna/cli/node_modules/are-we-there-yet": { + "node_modules/@lerna/describe-ref/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -3872,36 +3697,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/cli/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/@lerna/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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@lerna/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==", - "dev": true - }, - "node_modules/@lerna/cli/node_modules/gauge": { + "node_modules/@lerna/describe-ref/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -3920,7 +3716,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/cli/node_modules/npmlog": { + "node_modules/@lerna/describe-ref/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -3935,80 +3731,22 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@lerna/cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/cli/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/collect-uncommitted": { + "node_modules/@lerna/diff": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-6.1.0.tgz", - "integrity": "sha512-VvWvqDZG+OiF4PwV4Ro695r3+8ty4w+11Bnq8tbsbu5gq8qZiam8Fkc/TQLuNNqP0SPi4qmMPaIzWvSze3SmDg==", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-6.1.0.tgz", + "integrity": "sha512-GhP+jPDbcp9QcAMSAjFn4lzM8MKpLR1yt5jll+zUD831U1sL0I5t8HUosFroe5MoRNffEL/jHuI3SbC3jjqWjQ==", "dev": true, "dependencies": { "@lerna/child-process": "6.1.0", - "chalk": "^4.1.0", + "@lerna/command": "6.1.0", + "@lerna/validation-error": "6.1.0", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-uncommitted/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/@lerna/collect-uncommitted/node_modules/are-we-there-yet": { + "node_modules/@lerna/diff/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4021,41 +3759,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@lerna/collect-uncommitted/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/@lerna/collect-uncommitted/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/@lerna/collect-uncommitted/node_modules/gauge": { + "node_modules/@lerna/diff/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4074,16 +3778,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-uncommitted/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/collect-uncommitted/node_modules/npmlog": { + "node_modules/@lerna/diff/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4098,35 +3793,40 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-uncommitted/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==", + "node_modules/@lerna/exec": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-6.1.0.tgz", + "integrity": "sha512-Ej6WlPHXLF6hZHsfD+J/dxeuTrnc0HIfIXR1DU//msHW5RNCdi9+I7StwreCAQH/dLEsdBjPg5chNmuj2JLQRg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/profiler": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/validation-error": "6.1.0", + "p-map": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-updates": { + "node_modules/@lerna/filter-options": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-6.1.0.tgz", - "integrity": "sha512-dgH7kgstwCXFctylQ4cxuCmhwSIE6VJZfHdh2bOaLuncs6ATMErKWN/mVuFHuUWEqPDRyy5Ky40Cu9S40nUq5w==", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-6.1.0.tgz", + "integrity": "sha512-kPf92Z7uLsR6MUiXnyXWebaUWArLa15wLfpfTwIp5H3MNk1lTbuG7QnrxE7OxQj+ozFmBvXeV9fuwfLsYTfmOw==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/describe-ref": "6.1.0", - "minimatch": "^3.0.4", - "npmlog": "^6.0.2", - "slash": "^3.0.0" + "@lerna/collect-updates": "6.1.0", + "@lerna/filter-packages": "6.1.0", + "dedent": "^0.7.0", + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-updates/node_modules/are-we-there-yet": { + "node_modules/@lerna/filter-options/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4139,7 +3839,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-updates/node_modules/gauge": { + "node_modules/@lerna/filter-options/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4158,7 +3858,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-updates/node_modules/npmlog": { + "node_modules/@lerna/filter-options/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4173,37 +3873,21 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-updates/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/@lerna/command": { + "node_modules/@lerna/filter-packages": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-6.1.0.tgz", - "integrity": "sha512-OnMqBDaEBY0C8v9CXIWFbGGKgsiUtZrnKVvQRbupMSZDKMpVGWIUd3X98Is9j9MAmk1ynhBMWE9Fwai5ML/mcA==", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-6.1.0.tgz", + "integrity": "sha512-zW2avsZHs/ITE/37AEMhegGVHjiD0rgNk9bguNDfz6zaPa90UaW6PWDH6Tf4ThPRlbkl2Go48N3bFYHYSJKbcw==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/package-graph": "6.1.0", - "@lerna/project": "6.1.0", "@lerna/validation-error": "6.1.0", - "@lerna/write-log-file": "6.1.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^5.0.0", - "is-ci": "^2.0.0", + "multimatch": "^5.0.0", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/command/node_modules/are-we-there-yet": { + "node_modules/@lerna/filter-packages/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4216,7 +3900,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/command/node_modules/gauge": { + "node_modules/@lerna/filter-packages/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4235,7 +3919,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/command/node_modules/npmlog": { + "node_modules/@lerna/filter-packages/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4250,28 +3934,19 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits": { + "node_modules/@lerna/get-npm-exec-opts": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-6.1.0.tgz", - "integrity": "sha512-Tipo3cVr8mNVca4btzrCIzct59ZJWERT8/ZCZ/TQWuI4huUJZs6LRofLtB0xsGJAVZ7Vz2WRXAeH4XYgeUxutQ==", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-6.1.0.tgz", + "integrity": "sha512-10Pdf+W0z7RT34o0SWlf+WVzz2/WbnTIJ1tQqXvXx6soj2L/xGLhOPvhJiKNtl4WlvUiO/zQ91yb83ESP4TZaA==", "dev": true, "dependencies": { - "@lerna/validation-error": "6.1.0", - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-core": "^4.2.4", - "conventional-recommended-bump": "^6.1.0", - "fs-extra": "^9.1.0", - "get-stream": "^6.0.0", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "pify": "^5.0.0", - "semver": "^7.3.4" + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/are-we-there-yet": { + "node_modules/@lerna/get-npm-exec-opts/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4284,7 +3959,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/gauge": { + "node_modules/@lerna/get-npm-exec-opts/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4303,116 +3978,124 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "node_modules/@lerna/get-npm-exec-opts/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "node_modules/@lerna/get-packed": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-6.1.0.tgz", + "integrity": "sha512-lg0wPpV0wPekcD0mebJp619hMxsOgbZDOH5AkL/bCR217391eha0iPhQ0dU/G0Smd2vv6Cg443+J5QdI4LGRTg==", "dev": true, "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "fs-extra": "^9.1.0", + "ssri": "^9.0.1", + "tar": "^6.1.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@lerna/get-packed/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "minipass": "^3.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "node_modules/@lerna/github-client": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-6.1.0.tgz", + "integrity": "sha512-+/4PtDgsjt0VRRZtOCN2Piyu0asU/16gSZZy/opVb8dlT44lTrH/ZghrJLE4tSL8Nuv688kx0kSgbUG8BY54jQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@lerna/child-process": "6.1.0", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^19.0.3", + "git-url-parse": "^13.1.0", + "npmlog": "^6.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@lerna/github-client/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/github-client/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.1.0.tgz", - "integrity": "sha512-ZqlknXu0L29cV5mcfNgBLl+1RbKTWmNk8mj545zgXc7qQDgmrY+EVvrs8Cirey8C7bBpVkzP7Brzze0MSoB4rQ==", + "node_modules/@lerna/github-client/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/npm-conf": "6.1.0", - "@lerna/validation-error": "6.1.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "init-package-json": "^3.0.2", - "npm-package-arg": "8.1.1", - "p-reduce": "^2.1.0", - "pacote": "^13.6.1", - "pify": "^5.0.0", - "semver": "^7.3.4", - "slash": "^3.0.0", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0", - "yargs-parser": "20.2.4" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create-symlink": { + "node_modules/@lerna/gitlab-client": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-6.1.0.tgz", - "integrity": "sha512-ulMa5OUJEwEWBHSgCUNGxrcsJllq1YMYWqhufvIigmMPJ0Zv3TV1Hha5i2MsqLJAakxtW0pNuwdutkUTtUdgxQ==", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-6.1.0.tgz", + "integrity": "sha512-fUI/ppXzxJafN9ceSl+FDgsYvu3iTsO6UW0WTD63pS32CfM+PiCryLQHzuc4RkyVW8WQH3aCR/GbaKCqbu52bw==", "dev": true, "dependencies": { - "cmd-shim": "^5.0.0", - "fs-extra": "^9.1.0", + "node-fetch": "^2.6.1", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create-symlink/node_modules/are-we-there-yet": { + "node_modules/@lerna/gitlab-client/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4425,7 +4108,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create-symlink/node_modules/gauge": { + "node_modules/@lerna/gitlab-client/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4444,7 +4127,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create-symlink/node_modules/npmlog": { + "node_modules/@lerna/gitlab-client/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4459,69 +4142,111 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "node_modules/@lerna/global-options": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-6.1.0.tgz", + "integrity": "sha512-1OyJ/N1XJh3ZAy8S20c6th9C4yBm/k3bRIdC+z0XxpDaHwfNt8mT9kUIDt6AIFCUvVKjSwnIsMHwhzXqBnwYSA==", + "dev": true, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/has-npm-version": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-6.1.0.tgz", + "integrity": "sha512-up5PVuP6BmKQ5/UgH/t2c5B1q4HhjwW3/bqbNayX6V0qNz8OijnMYvEUbxFk8fOdeN41qVnhAk0Tb5kbdtYh2A==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@lerna/child-process": "6.1.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "node_modules/@lerna/has-npm-version/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/@lerna/create/node_modules/npm-package-arg/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": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "node_modules/@lerna/import": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-6.1.0.tgz", + "integrity": "sha512-xsBhiKLUavATR32dAFL+WFY0yuab0hsM1eztKtRKk4wy7lSyxRfA5EIUcNCsLXx2xaDOKoMncCTXgNcpeYuqcQ==", "dev": true, "dependencies": { - "builtins": "^1.0.3" + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/validation-error": "6.1.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "p-map-series": "^2.1.0" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "node_modules/@lerna/info": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-6.1.0.tgz", + "integrity": "sha512-CsrWdW/Wyb4kcvHSnrsm7KYWFvjUNItu+ryeyWBZJtWYQOv45jNmWix6j2L4/w1+mMlWMjsfLmBscg82UBrF5w==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@lerna/command": "6.1.0", + "@lerna/output": "6.1.0", + "envinfo": "^7.7.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@lerna/init": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-6.1.0.tgz", + "integrity": "sha512-z8oUeVjn+FQYAtepAw6G47cGodLyBAyNoEjO3IsJjQLWE1yH3r83L2sjyD/EckgR3o2VTEzrKo4ArhxLp2mNmg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/project": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "write-json-file": "^4.3.0" }, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/link": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-6.1.0.tgz", + "integrity": "sha512-7OD2lYNQHl6Kl1KYmplt8KoWjVHdiaqpYqwD38AwcB09YN58nGmo4aJgC12Fdx8DSNjkumgM0ROg/JOjMCTIzQ==", + "dev": true, + "dependencies": { + "@lerna/command": "6.1.0", + "@lerna/package-graph": "6.1.0", + "@lerna/symlink-dependencies": "6.1.0", + "@lerna/validation-error": "6.1.0", + "p-map": "^4.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/slash": { + "node_modules/@lerna/link/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", @@ -4530,103 +4255,121 @@ "node": ">=8" } }, - "node_modules/@lerna/create/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "node_modules/@lerna/list": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-6.1.0.tgz", + "integrity": "sha512-7/g2hjizkvVnBGpVm+qC7lUFGhZ/0GIMUbGQwnE6yXDGm8yP9aEcNVkU4JGrDWW+uIklf9oodnMHaLXd/FJe6Q==", "dev": true, "dependencies": { - "builtins": "^5.0.0" + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/listable": "6.1.0", + "@lerna/output": "6.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/validate-npm-package-name/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/@lerna/listable": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-6.1.0.tgz", + "integrity": "sha512-3KZ9lQ9AtNfGNH/mYJYaMKCiF2EQvLLBGYkWHeIzIs6foegcZNXe0Cyv3LNXuo5WslMNr5RT4wIgy3BOoAxdtg==", "dev": true, "dependencies": { - "semver": "^7.0.0" + "@lerna/query-graph": "6.1.0", + "chalk": "^4.1.0", + "columnify": "^1.6.0" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/describe-ref": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-6.1.0.tgz", - "integrity": "sha512-0RQAYnxBaMz1SrEb/rhfR+8VeZx5tvCNYKRee5oXIDZdQ2c6/EPyrKCp3WcqiuOWY50SfGOVfxJEcxpK8Y3FNA==", + "node_modules/@lerna/listable/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": { - "@lerna/child-process": "6.1.0", - "npmlog": "^6.0.2" + "color-convert": "^2.0.1" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/describe-ref/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@lerna/listable/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/describe-ref/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@lerna/listable/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": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=7.0.0" } }, - "node_modules/@lerna/describe-ref/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@lerna/listable/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/@lerna/listable/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/listable/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==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/@lerna/diff": { + "node_modules/@lerna/log-packed": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-6.1.0.tgz", - "integrity": "sha512-GhP+jPDbcp9QcAMSAjFn4lzM8MKpLR1yt5jll+zUD831U1sL0I5t8HUosFroe5MoRNffEL/jHuI3SbC3jjqWjQ==", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-6.1.0.tgz", + "integrity": "sha512-Sq2HZJAcPuoNeEHeIutcPYQCyWBxLyVGvEhgsP3xTe6XkBGQCG8piCp9wX+sc2zT+idPdpI6qLqdh85yYIMMhA==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/validation-error": "6.1.0", + "byte-size": "^7.0.0", + "columnify": "^1.6.0", + "has-unicode": "^2.0.1", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/diff/node_modules/are-we-there-yet": { + "node_modules/@lerna/log-packed/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4639,7 +4382,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/diff/node_modules/gauge": { + "node_modules/@lerna/log-packed/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4658,7 +4401,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/diff/node_modules/npmlog": { + "node_modules/@lerna/log-packed/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4673,40 +4416,47 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/exec": { + "node_modules/@lerna/npm-conf": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-6.1.0.tgz", - "integrity": "sha512-Ej6WlPHXLF6hZHsfD+J/dxeuTrnc0HIfIXR1DU//msHW5RNCdi9+I7StwreCAQH/dLEsdBjPg5chNmuj2JLQRg==", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-6.1.0.tgz", + "integrity": "sha512-+RD3mmJe9XSQj7Diibs0+UafAHPcrFCd29ODpDI+tzYl4MmYZblfrlL6mbSCiVYCZQneQ8Uku3P0r+DlbYBaFw==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/profiler": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/validation-error": "6.1.0", - "p-map": "^4.0.0" + "config-chain": "^1.1.12", + "pify": "^5.0.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options": { + "node_modules/@lerna/npm-conf/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/npm-dist-tag": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-6.1.0.tgz", - "integrity": "sha512-kPf92Z7uLsR6MUiXnyXWebaUWArLa15wLfpfTwIp5H3MNk1lTbuG7QnrxE7OxQj+ozFmBvXeV9fuwfLsYTfmOw==", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-6.1.0.tgz", + "integrity": "sha512-1zo+Yww/lvWJWZnEXpke9dZSb5poDzhUM/pQNqAQYSlbZ96o18SuCR6TEi5isMPiw63Aq1MMzbUqttQfJ11EOA==", "dev": true, "dependencies": { - "@lerna/collect-updates": "6.1.0", - "@lerna/filter-packages": "6.1.0", - "dedent": "^0.7.0", + "@lerna/otplease": "6.1.0", + "npm-package-arg": "8.1.1", + "npm-registry-fetch": "^13.3.0", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options/node_modules/are-we-there-yet": { + "node_modules/@lerna/npm-dist-tag/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4719,7 +4469,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options/node_modules/gauge": { + "node_modules/@lerna/npm-dist-tag/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4738,7 +4488,33 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options/node_modules/npmlog": { + "node_modules/@lerna/npm-dist-tag/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-dist-tag/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-dist-tag/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4753,21 +4529,40 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-packages": { + "node_modules/@lerna/npm-dist-tag/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-install": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-6.1.0.tgz", - "integrity": "sha512-zW2avsZHs/ITE/37AEMhegGVHjiD0rgNk9bguNDfz6zaPa90UaW6PWDH6Tf4ThPRlbkl2Go48N3bFYHYSJKbcw==", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-6.1.0.tgz", + "integrity": "sha512-1SHmOHZA1YJuUctLQBRjA2+yMp+UNYdOBsFb3xUVT7MjWnd1Zl0toT3jxGu96RNErD9JKkk/cGo/Aq+DU3s9pg==", "dev": true, "dependencies": { - "@lerna/validation-error": "6.1.0", - "multimatch": "^5.0.0", - "npmlog": "^6.0.2" + "@lerna/child-process": "6.1.0", + "@lerna/get-npm-exec-opts": "6.1.0", + "fs-extra": "^9.1.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "signal-exit": "^3.0.3", + "write-pkg": "^4.0.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-packages/node_modules/are-we-there-yet": { + "node_modules/@lerna/npm-install/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4780,7 +4575,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-packages/node_modules/gauge": { + "node_modules/@lerna/npm-install/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4799,66 +4594,33 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-packages/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/get-npm-exec-opts": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-6.1.0.tgz", - "integrity": "sha512-10Pdf+W0z7RT34o0SWlf+WVzz2/WbnTIJ1tQqXvXx6soj2L/xGLhOPvhJiKNtl4WlvUiO/zQ91yb83ESP4TZaA==", - "dev": true, - "dependencies": { - "npmlog": "^6.0.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@lerna/npm-install/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@lerna/npm-install/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/npmlog": { + "node_modules/@lerna/npm-install/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -4873,49 +4635,41 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-packed": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-6.1.0.tgz", - "integrity": "sha512-lg0wPpV0wPekcD0mebJp619hMxsOgbZDOH5AkL/bCR217391eha0iPhQ0dU/G0Smd2vv6Cg443+J5QdI4LGRTg==", + "node_modules/@lerna/npm-install/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "fs-extra": "^9.1.0", - "ssri": "^9.0.1", - "tar": "^6.1.0" + "lru-cache": "^6.0.0" }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/get-packed/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/github-client": { + "node_modules/@lerna/npm-publish": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-6.1.0.tgz", - "integrity": "sha512-+/4PtDgsjt0VRRZtOCN2Piyu0asU/16gSZZy/opVb8dlT44lTrH/ZghrJLE4tSL8Nuv688kx0kSgbUG8BY54jQ==", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-6.1.0.tgz", + "integrity": "sha512-N0LdR1ImZQw1r4cYaKtVbBhBPtj4Zu9NbvygzizEP5HuTfxZmE1Ans3w93Kks9VTXZXob8twNbXnzBwzTyEpEA==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^19.0.3", - "git-url-parse": "^13.1.0", - "npmlog": "^6.0.2" + "@lerna/otplease": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "fs-extra": "^9.1.0", + "libnpmpublish": "^6.0.4", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "pify": "^5.0.0", + "read-package-json": "^5.0.1" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/github-client/node_modules/are-we-there-yet": { + "node_modules/@lerna/npm-publish/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -4928,7 +4682,16 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/github-client/node_modules/gauge": { + "node_modules/@lerna/npm-publish/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@lerna/npm-publish/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -4947,67 +4710,109 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/github-client/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@lerna/npm-publish/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@lerna/gitlab-client": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-6.1.0.tgz", - "integrity": "sha512-fUI/ppXzxJafN9ceSl+FDgsYvu3iTsO6UW0WTD63pS32CfM+PiCryLQHzuc4RkyVW8WQH3aCR/GbaKCqbu52bw==", + "node_modules/@lerna/npm-publish/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, "dependencies": { - "node-fetch": "^2.6.1", - "npmlog": "^6.0.2" + "lru-cache": "^6.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/gitlab-client/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@lerna/npm-publish/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-publish/node_modules/normalize-package-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/gitlab-client/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@lerna/npm-publish/node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "lru-cache": "^7.5.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/gitlab-client/node_modules/npmlog": { + "node_modules/@lerna/npm-publish/node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@lerna/npm-publish/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/npm-publish/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-publish/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5022,29 +4827,34 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/global-options": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-6.1.0.tgz", - "integrity": "sha512-1OyJ/N1XJh3ZAy8S20c6th9C4yBm/k3bRIdC+z0XxpDaHwfNt8mT9kUIDt6AIFCUvVKjSwnIsMHwhzXqBnwYSA==", + "node_modules/@lerna/npm-publish/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/has-npm-version": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-6.1.0.tgz", - "integrity": "sha512-up5PVuP6BmKQ5/UgH/t2c5B1q4HhjwW3/bqbNayX6V0qNz8OijnMYvEUbxFk8fOdeN41qVnhAk0Tb5kbdtYh2A==", + "node_modules/@lerna/npm-publish/node_modules/read-package-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", + "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "semver": "^7.3.4" + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/has-npm-version/node_modules/semver": { + "node_modules/@lerna/npm-publish/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", @@ -5059,197 +4869,157 @@ "node": ">=10" } }, - "node_modules/@lerna/import": { + "node_modules/@lerna/npm-run-script": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-6.1.0.tgz", - "integrity": "sha512-xsBhiKLUavATR32dAFL+WFY0yuab0hsM1eztKtRKk4wy7lSyxRfA5EIUcNCsLXx2xaDOKoMncCTXgNcpeYuqcQ==", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-6.1.0.tgz", + "integrity": "sha512-7p13mvdxdY5+VqWvvtMsMDeyCRs0PrrTmSHRO+FKuLQuGhBvUo05vevcMEOQNDvEvl/tXPrOVbeGCiGubYTCLg==", "dev": true, "dependencies": { "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/validation-error": "6.1.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "p-map-series": "^2.1.0" + "@lerna/get-npm-exec-opts": "6.1.0", + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/info": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-6.1.0.tgz", - "integrity": "sha512-CsrWdW/Wyb4kcvHSnrsm7KYWFvjUNItu+ryeyWBZJtWYQOv45jNmWix6j2L4/w1+mMlWMjsfLmBscg82UBrF5w==", + "node_modules/@lerna/npm-run-script/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { - "@lerna/command": "6.1.0", - "@lerna/output": "6.1.0", - "envinfo": "^7.7.4" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/init": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-6.1.0.tgz", - "integrity": "sha512-z8oUeVjn+FQYAtepAw6G47cGodLyBAyNoEjO3IsJjQLWE1yH3r83L2sjyD/EckgR3o2VTEzrKo4ArhxLp2mNmg==", + "node_modules/@lerna/npm-run-script/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/project": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "write-json-file": "^4.3.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/link": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-6.1.0.tgz", - "integrity": "sha512-7OD2lYNQHl6Kl1KYmplt8KoWjVHdiaqpYqwD38AwcB09YN58nGmo4aJgC12Fdx8DSNjkumgM0ROg/JOjMCTIzQ==", + "node_modules/@lerna/npm-run-script/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "@lerna/command": "6.1.0", - "@lerna/package-graph": "6.1.0", - "@lerna/symlink-dependencies": "6.1.0", - "@lerna/validation-error": "6.1.0", - "p-map": "^4.0.0", - "slash": "^3.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/link/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": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/list": { + "node_modules/@lerna/otplease": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-6.1.0.tgz", - "integrity": "sha512-7/g2hjizkvVnBGpVm+qC7lUFGhZ/0GIMUbGQwnE6yXDGm8yP9aEcNVkU4JGrDWW+uIklf9oodnMHaLXd/FJe6Q==", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-6.1.0.tgz", + "integrity": "sha512-gqSE6IbaD4IeNJePkaDLaFLoGp0Ceu35sn7z0AHAOoHiQGGorOmvM+h1Md3xZZRSXQmY9LyJVhG5eRa38SoG4g==", "dev": true, "dependencies": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/listable": "6.1.0", - "@lerna/output": "6.1.0" + "@lerna/prompt": "6.1.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/listable": { + "node_modules/@lerna/output": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-6.1.0.tgz", - "integrity": "sha512-3KZ9lQ9AtNfGNH/mYJYaMKCiF2EQvLLBGYkWHeIzIs6foegcZNXe0Cyv3LNXuo5WslMNr5RT4wIgy3BOoAxdtg==", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-6.1.0.tgz", + "integrity": "sha512-mgCIzLKIuroytXuxjTB689ERtpfgyNXW0rMv9WHOa6ufQc+QJPjh3L4jVsOA0l+/OxZyi97PUXotduNj+0cbnA==", "dev": true, "dependencies": { - "@lerna/query-graph": "6.1.0", - "chalk": "^4.1.0", - "columnify": "^1.6.0" + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/listable/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/@lerna/listable/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@lerna/output/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/listable/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@lerna/output/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@lerna/listable/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/@lerna/listable/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==", - "dev": true, - "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/listable/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==", + "node_modules/@lerna/output/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed": { + "node_modules/@lerna/pack-directory": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-6.1.0.tgz", - "integrity": "sha512-Sq2HZJAcPuoNeEHeIutcPYQCyWBxLyVGvEhgsP3xTe6XkBGQCG8piCp9wX+sc2zT+idPdpI6qLqdh85yYIMMhA==", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-6.1.0.tgz", + "integrity": "sha512-Xsixqm2nkGXs9hvq08ClbGpRlCYnlBV4TwSrLttIDL712RlyXoPe2maJzTUqo9OXBbOumFSahUEInCMT2OS05g==", "dev": true, "dependencies": { - "byte-size": "^7.0.0", - "columnify": "^1.6.0", - "has-unicode": "^2.0.1", - "npmlog": "^6.0.2" + "@lerna/get-packed": "6.1.0", + "@lerna/package": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/temp-write": "6.1.0", + "npm-packlist": "^5.1.1", + "npmlog": "^6.0.2", + "tar": "^6.1.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/are-we-there-yet": { + "node_modules/@lerna/pack-directory/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5262,7 +5032,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/gauge": { + "node_modules/@lerna/pack-directory/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -5281,7 +5051,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/npmlog": { + "node_modules/@lerna/pack-directory/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5296,47 +5066,37 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-conf": { + "node_modules/@lerna/package": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-6.1.0.tgz", - "integrity": "sha512-+RD3mmJe9XSQj7Diibs0+UafAHPcrFCd29ODpDI+tzYl4MmYZblfrlL6mbSCiVYCZQneQ8Uku3P0r+DlbYBaFw==", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-6.1.0.tgz", + "integrity": "sha512-PyNFtdH2IcLasp/nyMDshmeXotriOSlhbeFIxhdl1XuGj5v1so3utMSOrJMO5kzZJQg5zyx8qQoxL+WH/hkrVQ==", "dev": true, "dependencies": { - "config-chain": "^1.1.12", - "pify": "^5.0.0" + "load-json-file": "^6.2.0", + "npm-package-arg": "8.1.1", + "write-pkg": "^4.0.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-conf/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/npm-dist-tag": { + "node_modules/@lerna/package-graph": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-6.1.0.tgz", - "integrity": "sha512-1zo+Yww/lvWJWZnEXpke9dZSb5poDzhUM/pQNqAQYSlbZ96o18SuCR6TEi5isMPiw63Aq1MMzbUqttQfJ11EOA==", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-6.1.0.tgz", + "integrity": "sha512-yGyxd/eHTDjkpnBbDhTV0hwKF+i01qZc+6/ko65wOsh8xtgqpQeE6mtdgbvsLKcuMcIQ7PDy1ntyIv9phg14gQ==", "dev": true, "dependencies": { - "@lerna/otplease": "6.1.0", + "@lerna/prerelease-id-from-version": "6.1.0", + "@lerna/validation-error": "6.1.0", "npm-package-arg": "8.1.1", - "npm-registry-fetch": "^13.3.0", - "npmlog": "^6.0.2" + "npmlog": "^6.0.2", + "semver": "^7.3.4" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/are-we-there-yet": { + "node_modules/@lerna/package-graph/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5349,7 +5109,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/gauge": { + "node_modules/@lerna/package-graph/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -5368,7 +5128,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/hosted-git-info": { + "node_modules/@lerna/package-graph/node_modules/hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", @@ -5380,7 +5140,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/npm-package-arg": { + "node_modules/@lerna/package-graph/node_modules/npm-package-arg": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", @@ -5394,7 +5154,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/npmlog": { + "node_modules/@lerna/package-graph/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5409,7 +5169,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/semver": { + "node_modules/@lerna/package-graph/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", @@ -5424,57 +5184,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-6.1.0.tgz", - "integrity": "sha512-1SHmOHZA1YJuUctLQBRjA2+yMp+UNYdOBsFb3xUVT7MjWnd1Zl0toT3jxGu96RNErD9JKkk/cGo/Aq+DU3s9pg==", - "dev": true, - "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/get-npm-exec-opts": "6.1.0", - "fs-extra": "^9.1.0", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "signal-exit": "^3.0.3", - "write-pkg": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-install/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-install/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-install/node_modules/hosted-git-info": { + "node_modules/@lerna/package/node_modules/hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", @@ -5486,7 +5196,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/npm-package-arg": { + "node_modules/@lerna/package/node_modules/npm-package-arg": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", @@ -5500,22 +5210,34 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@lerna/package/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/semver": { + "node_modules/@lerna/prerelease-id-from-version": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-6.1.0.tgz", + "integrity": "sha512-ngC4I6evvZztB6aOaSDEnhUgRTlqX3TyBXwWwLGTOXCPaCQBTPaLNokhmRdJ+ZVdZ4iHFbzEDSL07ubZrYUcmQ==", + "dev": true, + "dependencies": { + "semver": "^7.3.4" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/prerelease-id-from-version/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", @@ -5530,26 +5252,21 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish": { + "node_modules/@lerna/profiler": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-6.1.0.tgz", - "integrity": "sha512-N0LdR1ImZQw1r4cYaKtVbBhBPtj4Zu9NbvygzizEP5HuTfxZmE1Ans3w93Kks9VTXZXob8twNbXnzBwzTyEpEA==", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-6.1.0.tgz", + "integrity": "sha512-WFDQNpuqPqMJLg8llvrBHF8Ib5Asgp23lMeNUe89T62NUX6gkjVBTYdjsduxM0tZH6Pa0GAGaQcha97P6fxfdQ==", "dev": true, "dependencies": { - "@lerna/otplease": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", "fs-extra": "^9.1.0", - "libnpmpublish": "^6.0.4", - "npm-package-arg": "8.1.1", "npmlog": "^6.0.2", - "pify": "^5.0.0", - "read-package-json": "^5.0.1" + "upath": "^2.0.1" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/are-we-there-yet": { + "node_modules/@lerna/profiler/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5562,16 +5279,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@lerna/npm-publish/node_modules/gauge": { + "node_modules/@lerna/profiler/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -5590,109 +5298,137 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/@lerna/profiler/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "node_modules/@lerna/project": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-6.1.0.tgz", + "integrity": "sha512-EOkfjjrTM16c3GUxGqcfYD2stV35p9mBEmkF41NPmyjfbzjol/irDF1r6Q7BsQSRsdClMJRCeZ168xdSxC2X0A==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@lerna/package": "6.1.0", + "@lerna/validation-error": "6.1.0", + "cosmiconfig": "^7.0.0", + "dedent": "^0.7.0", + "dot-prop": "^6.0.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.2", + "js-yaml": "^4.1.0", + "load-json-file": "^6.2.0", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "resolve-from": "^5.0.0", + "write-json-file": "^4.3.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/@lerna/project/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "node_modules/@lerna/project/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@lerna/project/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "@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" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/@lerna/project/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "node_modules/@lerna/project/node_modules/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, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/npm-publish/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "node_modules/@lerna/project/node_modules/import-fresh/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": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/@lerna/npm-publish/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "node_modules/@lerna/project/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=10" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@lerna/npm-publish/node_modules/npmlog": { + "node_modules/@lerna/project/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5707,63 +5443,56 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "node_modules/@lerna/project/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": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/npm-publish/node_modules/read-package-json": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", - "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "node_modules/@lerna/project/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, - "dependencies": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/@lerna/npm-publish/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@lerna/project/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==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/npm-run-script": { + "node_modules/@lerna/prompt": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-6.1.0.tgz", - "integrity": "sha512-7p13mvdxdY5+VqWvvtMsMDeyCRs0PrrTmSHRO+FKuLQuGhBvUo05vevcMEOQNDvEvl/tXPrOVbeGCiGubYTCLg==", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-6.1.0.tgz", + "integrity": "sha512-981J/C53TZ2l2mFVlWJN7zynSzf5GEHKvKQa12Td9iknhASZOuwTAWb6eq46246Ant6W5tWwb0NSPu3I5qtcrA==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", - "@lerna/get-npm-exec-opts": "6.1.0", + "inquirer": "^8.2.4", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-run-script/node_modules/are-we-there-yet": { + "node_modules/@lerna/prompt/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5776,7 +5505,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-run-script/node_modules/gauge": { + "node_modules/@lerna/prompt/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -5795,7 +5524,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-run-script/node_modules/npmlog": { + "node_modules/@lerna/prompt/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5810,31 +5539,46 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/otplease": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-6.1.0.tgz", - "integrity": "sha512-gqSE6IbaD4IeNJePkaDLaFLoGp0Ceu35sn7z0AHAOoHiQGGorOmvM+h1Md3xZZRSXQmY9LyJVhG5eRa38SoG4g==", - "dev": true, - "dependencies": { - "@lerna/prompt": "6.1.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/output": { + "node_modules/@lerna/publish": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-6.1.0.tgz", - "integrity": "sha512-mgCIzLKIuroytXuxjTB689ERtpfgyNXW0rMv9WHOa6ufQc+QJPjh3L4jVsOA0l+/OxZyi97PUXotduNj+0cbnA==", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-6.1.0.tgz", + "integrity": "sha512-XtvuydtU0IptbAapLRgoN1AZj/WJR+e3UKnx9BQ1Dwc+Fpg2oqPxR/vi+6hxAsr95pdQ5CnWBdgS+dg2wEUJ7Q==", "dev": true, "dependencies": { - "npmlog": "^6.0.2" + "@lerna/check-working-tree": "6.1.0", + "@lerna/child-process": "6.1.0", + "@lerna/collect-updates": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/describe-ref": "6.1.0", + "@lerna/log-packed": "6.1.0", + "@lerna/npm-conf": "6.1.0", + "@lerna/npm-dist-tag": "6.1.0", + "@lerna/npm-publish": "6.1.0", + "@lerna/otplease": "6.1.0", + "@lerna/output": "6.1.0", + "@lerna/pack-directory": "6.1.0", + "@lerna/prerelease-id-from-version": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@lerna/version": "6.1.0", + "fs-extra": "^9.1.0", + "libnpmaccess": "^6.0.3", + "npm-package-arg": "8.1.1", + "npm-registry-fetch": "^13.3.0", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "pacote": "^13.6.1", + "semver": "^7.3.4" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output/node_modules/are-we-there-yet": { + "node_modules/@lerna/publish/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5847,7 +5591,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output/node_modules/gauge": { + "node_modules/@lerna/publish/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -5866,7 +5610,33 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output/node_modules/npmlog": { + "node_modules/@lerna/publish/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/publish/node_modules/npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/publish/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5881,25 +5651,34 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pack-directory": { + "node_modules/@lerna/publish/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/pulse-till-done": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-6.1.0.tgz", - "integrity": "sha512-Xsixqm2nkGXs9hvq08ClbGpRlCYnlBV4TwSrLttIDL712RlyXoPe2maJzTUqo9OXBbOumFSahUEInCMT2OS05g==", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-6.1.0.tgz", + "integrity": "sha512-a2RVT82E4R9nVXtehzp2TQL6iXp0QfEM3bu8tBAR/SfI1A9ggZWQhuuUqtRyhhVCajdQDOo7rS0UG7R5JzK58w==", "dev": true, "dependencies": { - "@lerna/get-packed": "6.1.0", - "@lerna/package": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/temp-write": "6.1.0", - "npm-packlist": "^5.1.1", - "npmlog": "^6.0.2", - "tar": "^6.1.0" + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pack-directory/node_modules/are-we-there-yet": { + "node_modules/@lerna/pulse-till-done/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5912,7 +5691,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pack-directory/node_modules/gauge": { + "node_modules/@lerna/pulse-till-done/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -5931,7 +5710,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pack-directory/node_modules/npmlog": { + "node_modules/@lerna/pulse-till-done/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -5946,37 +5725,33 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package": { + "node_modules/@lerna/query-graph": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-6.1.0.tgz", - "integrity": "sha512-PyNFtdH2IcLasp/nyMDshmeXotriOSlhbeFIxhdl1XuGj5v1so3utMSOrJMO5kzZJQg5zyx8qQoxL+WH/hkrVQ==", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-6.1.0.tgz", + "integrity": "sha512-YkyCc+6aR7GlCOcZXEKPcl5o5L2v+0YUNs59JrfAS0mctFosZ/2tP7pkdu2SI4qXIi5D0PMNsh/0fRni56znsQ==", "dev": true, "dependencies": { - "load-json-file": "^6.2.0", - "npm-package-arg": "8.1.1", - "write-pkg": "^4.0.0" + "@lerna/package-graph": "6.1.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package-graph": { + "node_modules/@lerna/resolve-symlink": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-6.1.0.tgz", - "integrity": "sha512-yGyxd/eHTDjkpnBbDhTV0hwKF+i01qZc+6/ko65wOsh8xtgqpQeE6mtdgbvsLKcuMcIQ7PDy1ntyIv9phg14gQ==", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-6.1.0.tgz", + "integrity": "sha512-8ILO+h5fsE0q8MSLfdL+MT1GEsNhAB1fDyMkSsYgLRCsssN/cViZbffpclZyT/EfAhpyKfBCHZ0CmT1ZGofU1A==", "dev": true, "dependencies": { - "@lerna/prerelease-id-from-version": "6.1.0", - "@lerna/validation-error": "6.1.0", - "npm-package-arg": "8.1.1", + "fs-extra": "^9.1.0", "npmlog": "^6.0.2", - "semver": "^7.3.4" + "read-cmd-shim": "^3.0.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package-graph/node_modules/are-we-there-yet": { + "node_modules/@lerna/resolve-symlink/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -5989,7 +5764,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package-graph/node_modules/gauge": { + "node_modules/@lerna/resolve-symlink/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6008,33 +5783,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package-graph/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/package-graph/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/package-graph/node_modules/npmlog": { + "node_modules/@lerna/resolve-symlink/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -6049,104 +5798,22 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package-graph/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@lerna/rimraf-dir": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-6.1.0.tgz", + "integrity": "sha512-J9YeGHkCCeAIzsnKURYeGECBexiIii6HA+Bbd+rAgoKPsNCOj6ql4+qJE8Jbd7fQEFNDPQeBCYvM7JcdMc0WSA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@lerna/child-process": "6.1.0", + "npmlog": "^6.0.2", + "path-exists": "^4.0.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/package/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/package/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/package/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/prerelease-id-from-version": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-6.1.0.tgz", - "integrity": "sha512-ngC4I6evvZztB6aOaSDEnhUgRTlqX3TyBXwWwLGTOXCPaCQBTPaLNokhmRdJ+ZVdZ4iHFbzEDSL07ubZrYUcmQ==", - "dev": true, - "dependencies": { - "semver": "^7.3.4" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/prerelease-id-from-version/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/profiler": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-6.1.0.tgz", - "integrity": "sha512-WFDQNpuqPqMJLg8llvrBHF8Ib5Asgp23lMeNUe89T62NUX6gkjVBTYdjsduxM0tZH6Pa0GAGaQcha97P6fxfdQ==", - "dev": true, - "dependencies": { - "fs-extra": "^9.1.0", - "npmlog": "^6.0.2", - "upath": "^2.0.1" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/profiler/node_modules/are-we-there-yet": { + "node_modules/@lerna/rimraf-dir/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -6159,7 +5826,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/profiler/node_modules/gauge": { + "node_modules/@lerna/rimraf-dir/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6178,7 +5845,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/profiler/node_modules/npmlog": { + "node_modules/@lerna/rimraf-dir/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -6193,31 +5860,43 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project": { + "node_modules/@lerna/run": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-6.1.0.tgz", - "integrity": "sha512-EOkfjjrTM16c3GUxGqcfYD2stV35p9mBEmkF41NPmyjfbzjol/irDF1r6Q7BsQSRsdClMJRCeZ168xdSxC2X0A==", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-6.1.0.tgz", + "integrity": "sha512-vlEEKPcTloiob6EK7gxrjEdB6fQQ/LNfWhSJCGxJlvNVbrMpoWIu0Kpp20b0nE+lzX7rRJ4seWr7Wdo/Fjub4Q==", "dev": true, "dependencies": { - "@lerna/package": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/npm-run-script": "6.1.0", + "@lerna/output": "6.1.0", + "@lerna/profiler": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/timer": "6.1.0", "@lerna/validation-error": "6.1.0", - "cosmiconfig": "^7.0.0", - "dedent": "^0.7.0", - "dot-prop": "^6.0.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.2", - "js-yaml": "^4.1.0", - "load-json-file": "^6.2.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/run-lifecycle": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-6.1.0.tgz", + "integrity": "sha512-GbTdKxL+hWHEPgyBEKtqY9Nf+jFlt6YLtP5VjEVc5SdLkm+FeRquar9/YcZVUbzr3c+NJwWNgVjHuePfowdpUA==", + "dev": true, + "dependencies": { + "@lerna/npm-conf": "6.1.0", + "@npmcli/run-script": "^4.1.7", "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "resolve-from": "^5.0.0", - "write-json-file": "^4.3.0" + "p-queue": "^6.6.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/node_modules/are-we-there-yet": { + "node_modules/@lerna/run-lifecycle/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -6230,29 +5909,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@lerna/project/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/project/node_modules/gauge": { + "node_modules/@lerna/run-lifecycle/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6271,68 +5928,86 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/@lerna/run-lifecycle/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/node_modules/import-fresh/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==", + "node_modules/@lerna/run-topologically": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-6.1.0.tgz", + "integrity": "sha512-kpTaSBKdKjtf61be8Z1e7TIaMt/aksfxswQtpFxEuKDsPsdHfR8htSkADO4d/3SZFtmcAHIHNCQj9CaNj4O4Xw==", "dev": true, + "dependencies": { + "@lerna/query-graph": "6.1.0", + "p-queue": "^6.6.2" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/@lerna/symlink-binary": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-6.1.0.tgz", + "integrity": "sha512-DaiRNZk/dvomNxgEaTW145PyL7vIGP7rvnfXV2FO+rjX8UUSNUOjmVmHlYfs64gV9Eqx/dLfQClIbKcwYMD83A==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "@lerna/create-symlink": "6.1.0", + "@lerna/package": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@lerna/symlink-dependencies": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-6.1.0.tgz", + "integrity": "sha512-hrTvtY1Ek+fLA4JjXsKsvwPjuJD0rwB/+K4WY57t00owj//BpCsJ37w3kkkS7f/PcW/5uRjCuHcY67LOEwsRxw==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "@lerna/create-symlink": "6.1.0", + "@lerna/resolve-symlink": "6.1.0", + "@lerna/symlink-binary": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/project/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==", + "node_modules/@lerna/temp-write": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-6.1.0.tgz", + "integrity": "sha512-ZcQl88H9HbQ/TeWUOVt+vDYwptm7kwprGvj9KkZXr9S5Bn6SiKRQOeydCCfCrQT+9Q3dm7QZXV6rWzLsACcAlQ==", "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" + "graceful-fs": "^4.1.15", + "is-stream": "^2.0.0", + "make-dir": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^8.3.2" + } + }, + "node_modules/@lerna/temp-write/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" @@ -6341,38 +6016,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/project/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==", + "node_modules/@lerna/temp-write/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==", "dev": true, - "engines": { - "node": ">=8" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@lerna/project/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==", + "node_modules/@lerna/timer": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-6.1.0.tgz", + "integrity": "sha512-du+NQ9q7uO4d2nVU4AD2DSPuAZqUapA/bZKuVpFVxvY9Qhzb8dQKLsFISe4A9TjyoNAk8ZeWK0aBc/6N+Qer9A==", "dev": true, "engines": { - "node": ">=8" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/prompt": { + "node_modules/@lerna/validation-error": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-6.1.0.tgz", - "integrity": "sha512-981J/C53TZ2l2mFVlWJN7zynSzf5GEHKvKQa12Td9iknhASZOuwTAWb6eq46246Ant6W5tWwb0NSPu3I5qtcrA==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-6.1.0.tgz", + "integrity": "sha512-q0c3XCi5OpyTr8AcfbisS6e3svZaJF/riCvBDqRMaQUT4A8QOPzB4fVF3/+J2u54nidBuTlIk0JZu9aOdWTUkQ==", "dev": true, "dependencies": { - "inquirer": "^8.2.4", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/prompt/node_modules/are-we-there-yet": { + "node_modules/@lerna/validation-error/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -6385,7 +6059,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/prompt/node_modules/gauge": { + "node_modules/@lerna/validation-error/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6404,7 +6078,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/prompt/node_modules/npmlog": { + "node_modules/@lerna/validation-error/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -6419,46 +6093,60 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/publish": { + "node_modules/@lerna/version": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-6.1.0.tgz", - "integrity": "sha512-XtvuydtU0IptbAapLRgoN1AZj/WJR+e3UKnx9BQ1Dwc+Fpg2oqPxR/vi+6hxAsr95pdQ5CnWBdgS+dg2wEUJ7Q==", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-6.1.0.tgz", + "integrity": "sha512-RUxVFdzHt0739lRNMrAbo6HWcFrcyG7atM1pn+Eo61fUoA5R/9N4bCk4m9xUGkJ/mOcROjuwAGe+wT1uOs58Bg==", "dev": true, "dependencies": { "@lerna/check-working-tree": "6.1.0", "@lerna/child-process": "6.1.0", "@lerna/collect-updates": "6.1.0", "@lerna/command": "6.1.0", - "@lerna/describe-ref": "6.1.0", - "@lerna/log-packed": "6.1.0", - "@lerna/npm-conf": "6.1.0", - "@lerna/npm-dist-tag": "6.1.0", - "@lerna/npm-publish": "6.1.0", - "@lerna/otplease": "6.1.0", + "@lerna/conventional-commits": "6.1.0", + "@lerna/github-client": "6.1.0", + "@lerna/gitlab-client": "6.1.0", "@lerna/output": "6.1.0", - "@lerna/pack-directory": "6.1.0", "@lerna/prerelease-id-from-version": "6.1.0", "@lerna/prompt": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", "@lerna/run-lifecycle": "6.1.0", "@lerna/run-topologically": "6.1.0", + "@lerna/temp-write": "6.1.0", "@lerna/validation-error": "6.1.0", - "@lerna/version": "6.1.0", - "fs-extra": "^9.1.0", - "libnpmaccess": "^6.0.3", - "npm-package-arg": "8.1.1", - "npm-registry-fetch": "^13.3.0", + "@nrwl/devkit": ">=14.8.6 < 16", + "chalk": "^4.1.0", + "dedent": "^0.7.0", + "load-json-file": "^6.2.0", + "minimatch": "^3.0.4", "npmlog": "^6.0.2", "p-map": "^4.0.0", "p-pipe": "^3.1.0", - "pacote": "^13.6.1", - "semver": "^7.3.4" + "p-reduce": "^2.1.0", + "p-waterfall": "^2.1.1", + "semver": "^7.3.4", + "slash": "^3.0.0", + "write-json-file": "^4.3.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/publish/node_modules/are-we-there-yet": { + "node_modules/@lerna/version/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/@lerna/version/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -6471,7 +6159,41 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/publish/node_modules/gauge": { + "node_modules/@lerna/version/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/@lerna/version/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/@lerna/version/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/@lerna/version/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6490,33 +6212,16 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/publish/node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/publish/node_modules/npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "node_modules/@lerna/version/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==", "dev": true, - "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/publish/node_modules/npmlog": { + "node_modules/@lerna/version/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -6531,7 +6236,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/publish/node_modules/semver": { + "node_modules/@lerna/version/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", @@ -6546,19 +6251,41 @@ "node": ">=10" } }, - "node_modules/@lerna/pulse-till-done": { + "node_modules/@lerna/version/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/@lerna/version/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/write-log-file": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-6.1.0.tgz", - "integrity": "sha512-a2RVT82E4R9nVXtehzp2TQL6iXp0QfEM3bu8tBAR/SfI1A9ggZWQhuuUqtRyhhVCajdQDOo7rS0UG7R5JzK58w==", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-6.1.0.tgz", + "integrity": "sha512-09omu2w4NCt8mJH/X9ZMuToQQ3xu/KpC7EU4yDl2Qy8nxKf8HiG8Oe+YYNprngmkdsq60F5eUZvoiFDZ5JeGIg==", "dev": true, "dependencies": { - "npmlog": "^6.0.2" + "npmlog": "^6.0.2", + "write-file-atomic": "^4.0.1" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pulse-till-done/node_modules/are-we-there-yet": { + "node_modules/@lerna/write-log-file/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -6571,7 +6298,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pulse-till-done/node_modules/gauge": { + "node_modules/@lerna/write-log-file/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6590,7 +6317,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/pulse-till-done/node_modules/npmlog": { + "node_modules/@lerna/write-log-file/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -6605,95 +6332,110 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/query-graph": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-6.1.0.tgz", - "integrity": "sha512-YkyCc+6aR7GlCOcZXEKPcl5o5L2v+0YUNs59JrfAS0mctFosZ/2tP7pkdu2SI4qXIi5D0PMNsh/0fRni56znsQ==", + "node_modules/@lerna/write-log-file/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { - "@lerna/package-graph": "6.1.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/resolve-symlink": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-6.1.0.tgz", - "integrity": "sha512-8ILO+h5fsE0q8MSLfdL+MT1GEsNhAB1fDyMkSsYgLRCsssN/cViZbffpclZyT/EfAhpyKfBCHZ0CmT1ZGofU1A==", + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "fs-extra": "^9.1.0", - "npmlog": "^6.0.2", - "read-cmd-shim": "^3.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/@lerna/resolve-symlink/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/@lerna/resolve-symlink/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/@lerna/resolve-symlink/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/rimraf-dir": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-6.1.0.tgz", - "integrity": "sha512-J9YeGHkCCeAIzsnKURYeGECBexiIii6HA+Bbd+rAgoKPsNCOj6ql4+qJE8Jbd7fQEFNDPQeBCYvM7JcdMc0WSA==", + "node_modules/@npmcli/arborist": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz", + "integrity": "sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==", "dev": true, "dependencies": { - "@lerna/child-process": "6.1.0", + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^4.1.3", + "bin-links": "^3.0.0", + "cacache": "^16.0.6", + "common-ancestor-path": "^1.0.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^5.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", "npmlog": "^6.0.2", - "path-exists": "^4.0.0", - "rimraf": "^3.0.2" + "pacote": "^13.6.1", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/rimraf-dir/node_modules/are-we-there-yet": { + "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", @@ -6706,7 +6448,16 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/rimraf-dir/node_modules/gauge": { + "node_modules/@npmcli/arborist/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", @@ -6725,90 +6476,55 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/rimraf-dir/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@npmcli/arborist/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "lru-cache": "^7.5.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/run": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-6.1.0.tgz", - "integrity": "sha512-vlEEKPcTloiob6EK7gxrjEdB6fQQ/LNfWhSJCGxJlvNVbrMpoWIu0Kpp20b0nE+lzX7rRJ4seWr7Wdo/Fjub4Q==", - "dev": true, - "dependencies": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/npm-run-script": "6.1.0", - "@lerna/output": "6.1.0", - "@lerna/profiler": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/timer": "6.1.0", - "@lerna/validation-error": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run-lifecycle": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-6.1.0.tgz", - "integrity": "sha512-GbTdKxL+hWHEPgyBEKtqY9Nf+jFlt6YLtP5VjEVc5SdLkm+FeRquar9/YcZVUbzr3c+NJwWNgVjHuePfowdpUA==", + "node_modules/@npmcli/arborist/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, - "dependencies": { - "@lerna/npm-conf": "6.1.0", - "@npmcli/run-script": "^4.1.7", - "npmlog": "^6.0.2", - "p-queue": "^6.6.2" - }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@lerna/run-lifecycle/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@npmcli/arborist/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/run-lifecycle/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/run-lifecycle/node_modules/npmlog": { + "node_modules/@npmcli/arborist/node_modules/npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", @@ -6823,300 +6539,243 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/run-topologically": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-6.1.0.tgz", - "integrity": "sha512-kpTaSBKdKjtf61be8Z1e7TIaMt/aksfxswQtpFxEuKDsPsdHfR8htSkADO4d/3SZFtmcAHIHNCQj9CaNj4O4Xw==", + "node_modules/@npmcli/arborist/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "@lerna/query-graph": "6.1.0", - "p-queue": "^6.6.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/symlink-binary": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-6.1.0.tgz", - "integrity": "sha512-DaiRNZk/dvomNxgEaTW145PyL7vIGP7rvnfXV2FO+rjX8UUSNUOjmVmHlYfs64gV9Eqx/dLfQClIbKcwYMD83A==", + "node_modules/@npmcli/arborist/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "dependencies": { - "@lerna/create-symlink": "6.1.0", - "@lerna/package": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0" + "minipass": "^3.1.1" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/symlink-dependencies": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-6.1.0.tgz", - "integrity": "sha512-hrTvtY1Ek+fLA4JjXsKsvwPjuJD0rwB/+K4WY57t00owj//BpCsJ37w3kkkS7f/PcW/5uRjCuHcY67LOEwsRxw==", + "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dev": true, "dependencies": { - "@lerna/create-symlink": "6.1.0", - "@lerna/resolve-symlink": "6.1.0", - "@lerna/symlink-binary": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0" + "builtins": "^5.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/temp-write": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-6.1.0.tgz", - "integrity": "sha512-ZcQl88H9HbQ/TeWUOVt+vDYwptm7kwprGvj9KkZXr9S5Bn6SiKRQOeydCCfCrQT+9Q3dm7QZXV6rWzLsACcAlQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "is-stream": "^2.0.0", - "make-dir": "^3.0.0", - "temp-dir": "^1.0.0", - "uuid": "^8.3.2" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/temp-write/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==", + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/temp-write/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==", + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@lerna/timer": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-6.1.0.tgz", - "integrity": "sha512-du+NQ9q7uO4d2nVU4AD2DSPuAZqUapA/bZKuVpFVxvY9Qhzb8dQKLsFISe4A9TjyoNAk8ZeWK0aBc/6N+Qer9A==", - "dev": true, + "semver": "bin/semver.js" + }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/validation-error": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-6.1.0.tgz", - "integrity": "sha512-q0c3XCi5OpyTr8AcfbisS6e3svZaJF/riCvBDqRMaQUT4A8QOPzB4fVF3/+J2u54nidBuTlIk0JZu9aOdWTUkQ==", + "node_modules/@npmcli/git": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", + "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", "dev": true, "dependencies": { - "npmlog": "^6.0.2" + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/validation-error/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@lerna/validation-error/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@npmcli/git/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/validation-error/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/version": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-6.1.0.tgz", - "integrity": "sha512-RUxVFdzHt0739lRNMrAbo6HWcFrcyG7atM1pn+Eo61fUoA5R/9N4bCk4m9xUGkJ/mOcROjuwAGe+wT1uOs58Bg==", + "node_modules/@npmcli/git/node_modules/semver/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": { - "@lerna/check-working-tree": "6.1.0", - "@lerna/child-process": "6.1.0", - "@lerna/collect-updates": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/conventional-commits": "6.1.0", - "@lerna/github-client": "6.1.0", - "@lerna/gitlab-client": "6.1.0", - "@lerna/output": "6.1.0", - "@lerna/prerelease-id-from-version": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/temp-write": "6.1.0", - "@lerna/validation-error": "6.1.0", - "@nrwl/devkit": ">=14.8.6 < 16", - "chalk": "^4.1.0", - "dedent": "^0.7.0", - "load-json-file": "^6.2.0", - "minimatch": "^3.0.4", - "npmlog": "^6.0.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", - "write-json-file": "^4.3.0" + "yallist": "^4.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/version/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==", + "node_modules/@npmcli/git/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "node-which": "bin/node-which" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">= 8" } }, - "node_modules/@lerna/version/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@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, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 10" } }, - "node_modules/@lerna/version/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@npmcli/map-workspaces": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz", + "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/version/node_modules/color-convert": { + "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { "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/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@lerna/version/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/@lerna/version/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@npmcli/map-workspaces/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@lerna/version/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==", + "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@lerna/version/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@npmcli/metavuln-calculator": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz", + "integrity": "sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/version/node_modules/semver": { + "node_modules/@npmcli/metavuln-calculator/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", @@ -7131,1758 +6790,1902 @@ "node": ">=10" } }, - "node_modules/@lerna/version/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/version/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==", + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@lerna/write-log-file": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-6.1.0.tgz", - "integrity": "sha512-09omu2w4NCt8mJH/X9ZMuToQQ3xu/KpC7EU4yDl2Qy8nxKf8HiG8Oe+YYNprngmkdsq60F5eUZvoiFDZ5JeGIg==", - "dev": true, - "dependencies": { - "npmlog": "^6.0.2", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } + "node_modules/@npmcli/name-from-folder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", + "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==", + "dev": true }, - "node_modules/@lerna/write-log-file/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", + "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/write-log-file/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@npmcli/package-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz", + "integrity": "sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "json-parse-even-better-errors": "^2.3.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/write-log-file/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", + "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "infer-owner": "^1.0.4" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/write-log-file/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/@npmcli/run-script": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", + "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "dev": true, - "optional": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@nrwl/cli": { + "version": "15.4.4", + "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.4.tgz", + "integrity": "sha512-29f1No6eJAZczwVsJTjujyE40Lav6iwkfwTxnoiTUWaHHw9S95a8dMXelUB/BT2Tyf7OOFpwWZMXtDcRktrgGA==", "dev": true, - "engines": { - "node": ">= 8" + "dependencies": { + "nx": "15.4.4" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@nrwl/devkit": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.3.0.tgz", + "integrity": "sha512-1O9QLB/eYS6ddw4MZnV4yj4CEqLIbpleZZiG/9w1TaiVO/jfNfXVaxc8EA87XSzMpk2W+/4Qggmabt6gAQaabA==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@phenomnomnominal/tsquery": "4.1.1", + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.3.4", + "tslib": "^2.3.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "nx": ">= 14 <= 16" } }, - "node_modules/@npmcli/arborist": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz", - "integrity": "sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==", + "node_modules/@nrwl/devkit/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^3.0.1", - "@npmcli/move-file": "^2.0.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/package-json": "^2.0.0", - "@npmcli/run-script": "^4.1.3", - "bin-links": "^3.0.0", - "cacache": "^16.0.6", - "common-ancestor-path": "^1.0.1", - "json-parse-even-better-errors": "^2.3.1", - "json-stringify-nice": "^1.1.4", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^5.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.0.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.0", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "parse-conflict-json": "^2.0.1", - "proc-log": "^2.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^9.0.0", - "treeverse": "^2.0.0", - "walk-up-path": "^1.0.0" + "lru-cache": "^6.0.0" }, "bin": { - "arborist": "bin/index.js" + "semver": "bin/semver.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "node_modules/@nrwl/devkit/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true }, - "node_modules/@npmcli/arborist/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/@nrwl/tao": { + "version": "15.4.4", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.4.tgz", + "integrity": "sha512-ekPYVpz1y3XlCPu6UkQfcpwyNHQ0SsXMN8omB4MPTSknvEhKmcVOPG3Kr4W9fk1UjmBr58ItAGmtx2sjVMH7XQ==", "dev": true, "dependencies": { - "semver": "^7.0.0" + "nx": "15.4.4" + }, + "bin": { + "tao": "index.js" } }, - "node_modules/@npmcli/arborist/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/@octokit/auth-token": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", + "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "@octokit/types": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" } }, - "node_modules/@npmcli/arborist/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/@octokit/core": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", + "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" } }, - "node_modules/@npmcli/arborist/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "node_modules/@octokit/endpoint": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", + "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", "dev": true, + "dependencies": { + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 14" } }, - "node_modules/@npmcli/arborist/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/@octokit/graphql": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", + "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^8.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">= 14" } }, - "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "node_modules/@octokit/openapi-types": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", + "dev": true + }, + "node_modules/@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": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz", + "integrity": "sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "@octokit/types": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" } }, - "node_modules/@npmcli/arborist/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/@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, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "peerDependencies": { + "@octokit/core": ">=3" } }, - "node_modules/@npmcli/arborist/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz", + "integrity": "sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@octokit/types": "^8.0.0", + "deprecation": "^2.3.1" }, "engines": { - "node": ">=10" + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" } }, - "node_modules/@npmcli/arborist/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "node_modules/@octokit/request": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", + "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" } }, - "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "node_modules/@octokit/request-error": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", + "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", "dev": true, "dependencies": { - "builtins": "^5.0.0" + "@octokit/types": "^8.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" } }, - "node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "node_modules/@octokit/rest": { + "version": "19.0.5", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz", + "integrity": "sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==", "dev": true, "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^5.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^6.7.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" } }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@octokit/types": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@octokit/openapi-types": "^14.0.0" } }, - "node_modules/@npmcli/git": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", - "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true }, - "node_modules/@npmcli/git/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/@phenomnomnominal/tsquery": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz", + "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "esquery": "^1.0.1" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "typescript": "^3 || ^4" } }, - "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@npmcli/git/node_modules/semver/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==", + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=14.16" } }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } + "node_modules/@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/@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==", + "node_modules/@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", "dev": true, "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" - }, - "engines": { - "node": ">= 10" + "@types/node": "*" } }, - "node_modules/@npmcli/map-workspaces": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz", - "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==", + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", "dev": true, "dependencies": { - "@npmcli/name-from-folder": "^1.0.1", - "glob": "^8.0.1", - "minimatch": "^5.0.1", - "read-package-json-fast": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" } }, - "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } + "node_modules/@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 }, - "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@types/node": "*" } }, - "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/@types/eslint": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.3.tgz", + "integrity": "sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/@npmcli/metavuln-calculator": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz", - "integrity": "sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==", + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "dependencies": { - "cacache": "^16.0.0", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^13.0.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "dev": true, "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "@types/node": "*" } }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true }, - "node_modules/@npmcli/name-from-folder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", - "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==", + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, - "node_modules/@npmcli/node-gyp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", - "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "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 + }, + "node_modules/@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 + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/@npmcli/package-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz", - "integrity": "sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==", + "node_modules/@types/prettier": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==", + "dev": true + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^2.3.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "@types/node": "*" } }, - "node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", - "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", "dev": true, "dependencies": { - "infer-owner": "^1.0.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "@types/node": "*" } }, - "node_modules/@npmcli/run-script": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", - "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "dependencies": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/@nrwl/cli": { - "version": "15.4.4", - "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.4.tgz", - "integrity": "sha512-29f1No6eJAZczwVsJTjujyE40Lav6iwkfwTxnoiTUWaHHw9S95a8dMXelUB/BT2Tyf7OOFpwWZMXtDcRktrgGA==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "dependencies": { - "nx": "15.4.4" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "node_modules/@nrwl/devkit": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.3.0.tgz", - "integrity": "sha512-1O9QLB/eYS6ddw4MZnV4yj4CEqLIbpleZZiG/9w1TaiVO/jfNfXVaxc8EA87XSzMpk2W+/4Qggmabt6gAQaabA==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "dependencies": { - "@phenomnomnominal/tsquery": "4.1.1", - "ejs": "^3.1.7", - "ignore": "^5.0.4", - "semver": "7.3.4", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "nx": ">= 14 <= 16" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@nrwl/devkit/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@xtuc/long": "4.2.2" } }, - "node_modules/@nrwl/devkit/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, - "node_modules/@nrwl/tao": { - "version": "15.4.4", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.4.tgz", - "integrity": "sha512-ekPYVpz1y3XlCPu6UkQfcpwyNHQ0SsXMN8omB4MPTSknvEhKmcVOPG3Kr4W9fk1UjmBr58ItAGmtx2sjVMH7XQ==", + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "dependencies": { - "nx": "15.4.4" - }, - "bin": { - "tao": "index.js" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, - "node_modules/@octokit/auth-token": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", - "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "dependencies": { - "@octokit/types": "^8.0.0" - }, - "engines": { - "node": ">= 14" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "node_modules/@octokit/core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", - "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^8.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, - "node_modules/@octokit/endpoint": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", - "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "dependencies": { - "@octokit/types": "^8.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "node_modules/@octokit/graphql": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", - "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^8.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/@octokit/openapi-types": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", - "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", - "dev": true - }, - "node_modules/@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": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz", - "integrity": "sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==", + "node_modules/@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", "dev": true, - "dependencies": { - "@octokit/types": "^8.0.0" - }, "engines": { - "node": ">= 14" + "node": ">=14.15.0" }, "peerDependencies": { - "@octokit/core": ">=4" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/@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==", + "node_modules/@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", "dev": true, + "engines": { + "node": ">=14.15.0" + }, "peerDependencies": { - "@octokit/core": ">=3" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz", - "integrity": "sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==", + "node_modules/@webpack-cli/serve": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", + "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", "dev": true, - "dependencies": { - "@octokit/types": "^8.0.0", - "deprecation": "^2.3.1" - }, "engines": { - "node": ">= 14" + "node": ">=14.15.0" }, "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/request": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", - "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@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": { + "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/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.34", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.34.tgz", + "integrity": "sha512-NhEA0BusInyk7EiJ7i7qF1Mkrb6gGjZcQQ/W1xxGazxapubEmGO7v5WSll6hWxFXE2ngtLj8lflq1Ff5VtqEww==", "dev": true, "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^8.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" }, "engines": { - "node": ">= 14" + "node": ">=14.15.0" } }, - "node_modules/@octokit/request-error": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", - "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", + "node_modules/@yarnpkg/parsers/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "node_modules/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/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { - "@octokit/types": "^8.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 14" + "node": ">= 0.6" } }, - "node_modules/@octokit/rest": { - "version": "19.0.5", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz", - "integrity": "sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==", + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, - "dependencies": { - "@octokit/core": "^4.1.0", - "@octokit/plugin-paginate-rest": "^5.0.0", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^6.7.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 14" + "node": ">=0.4.0" } }, - "node_modules/@octokit/types": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", - "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, - "dependencies": { - "@octokit/openapi-types": "^14.0.0" + "peerDependencies": { + "acorn": "^8" } }, - "node_modules/@parcel/watcher": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", - "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "node_modules/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, - "hasInstallScript": true, "dependencies": { - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.4.0" } }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", "dev": true }, - "node_modules/@phenomnomnominal/tsquery": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz", - "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==", + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "dev": true + }, + "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==", "dev": true, "dependencies": { - "esquery": "^1.0.1" + "debug": "4" }, - "peerDependencies": { - "typescript": "^3 || ^4" + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/@qiwi/npm-registry-client": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/@qiwi/npm-registry-client/-/npm-registry-client-8.9.1.tgz", - "integrity": "sha512-rZF+mG+NfijR0SHphhTLHRr4aM4gtfdwoAMY6we2VGQam8vkN1cxGG1Lg/Llrj8Dd0Mu6VjdFQRyMMRZxtZR2A==", + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, "dependencies": { - "concat-stream": "^2.0.0", - "graceful-fs": "^4.2.4", - "normalize-package-data": "~1.0.1 || ^2.0.0 || ^3.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^8.0.0", - "once": "^1.4.0", - "request": "^2.88.2", - "retry": "^0.12.0", - "safe-buffer": "^5.2.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5 || 7", - "slide": "^1.1.6", - "ssri": "^8.0.0" + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" }, - "optionalDependencies": { - "npmlog": "2 || ^3.1.0 || ^4.0.0" + "engines": { + "node": ">= 8.0.0" } }, - "node_modules/@qiwi/npm-registry-client/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==", - "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/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@qiwi/npm-registry-client/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "node_modules/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, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "engines": { - "node": ">=10" + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "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": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dependencies": { - "type-detect": "4.0.8" + "node_modules/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" } }, - "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" + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "dev": true - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "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==", + "dev": true, "dependencies": { - "defer-to-connect": "^2.0.1" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=14.16" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "node_modules/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==", + "dev": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "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==", + "node_modules/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": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "default-require-extensions": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/babel__traverse": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", - "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", - "dependencies": { - "@babel/types": "^7.3.0" - } + "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/@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==", + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, - "node_modules/@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "node_modules/are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, "dependencies": { - "@types/node": "*" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "node_modules/are-we-there-yet/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==", + "dev": true, "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "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/@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==", + "node_modules/are-we-there-yet/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "@types/node": "*" + "safe-buffer": "~5.1.0" } }, - "node_modules/@types/eslint": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.3.tgz", - "integrity": "sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "sprintf-js": "~1.0.2" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true + "node_modules/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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dependencies": { - "@types/node": "*" + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true }, - "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/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/@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/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "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/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.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": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, "dependencies": { - "@types/node": "*" + "safer-buffer": "~2.1.0" } }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - }, - "node_modules/@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 - }, - "node_modules/@types/parsimmon": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.6.tgz", - "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, "dependencies": { - "@types/node": "*" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/@types/prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==" + "node_modules/asn1.js/node_modules/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==", + "dev": true }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "node_modules/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": { - "@types/node": "*" + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" } }, - "node_modules/@types/stack-utils": { + "node_modules/assert/node_modules/inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true }, - "node_modules/@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "inherits": "2.0.1" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "node_modules/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": "*" + } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true + }, + "node_modules/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==", "dev": true }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "node_modules/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, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "node_modules/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, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "peer": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" + "engines": { + "node": "*" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "follow-redirects": "^1.14.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.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/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "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": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", - "dev": true, - "engines": { - "node": ">=14.15.0" + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, - "engines": { - "node": ">=14.15.0" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, - "engines": { - "node": ">=14.15.0" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@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": { - "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/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.34", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.34.tgz", - "integrity": "sha512-NhEA0BusInyk7EiJ7i7qF1Mkrb6gGjZcQQ/W1xxGazxapubEmGO7v5WSll6hWxFXE2ngtLj8lflq1Ff5VtqEww==", + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, + "peer": true, "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "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" }, "engines": { - "node": ">=14.15.0" + "node": ">=0.10.0" } }, - "node_modules/@yarnpkg/parsers/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "node_modules/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/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "peer": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/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": ">=0.4.0" + "node": "^4.5.0 || >= 5.9" } }, - "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==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "tweetnacl": "^0.14.3" } }, - "node_modules/acorn-globals/node_modules/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" - }, + "node_modules/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": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true + }, + "node_modules/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": ">=0.4.0" + "node": "*" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "node_modules/bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", "dev": true, - "peerDependencies": { - "acorn": "^8" + "engines": { + "node": "*" } }, - "node_modules/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==", + "node_modules/bin-links": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz", + "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==", "dev": true, "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/bin-links/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/bin-links/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=0.4.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/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==", + "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": ">=0.4.0" + "node": ">=8" } }, - "node_modules/add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "node_modules/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, + "peer": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "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==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", "dev": true }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "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==", + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, "dependencies": { - "debug": "4" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" + "ms": "2.0.0" } }, - "node_modules/agentkeepalive/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "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": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/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": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "duplexer": "^0.1.1", + "iltorb": "^2.4.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=0.12.0" } }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "node_modules/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, - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "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/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/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, - "engines": { - "node": ">=6" + "dependencies": { + "resolve": "^1.17.0" } }, - "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==", + "node_modules/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": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "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" }, - "engines": { - "node": ">=8" + "bin": { + "browserify": "bin/cmd.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "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/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==", + "node_modules/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==", + "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/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==", + "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "dependencies": { - "default-require-extensions": "^2.0.0" - }, - "engines": { - "node": ">=4" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "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/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "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" + } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "node_modules/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": { + "pako": "~1.0.5" + } }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "devOptional": true, + "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": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { + "node_modules/browserify/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/browserify/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==", - "devOptional": true, + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8893,646 +8696,637 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { + "node_modules/browserify/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==", - "devOptional": true + "dev": true }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { + "node_modules/browserify/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/browserify/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==", - "devOptional": true, + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "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": { - "sprintf-js": "~1.0.2" + "inherits": "2.0.3" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/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" + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dev": true, + "dependencies": { + "base-x": "^3.0.2" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "engines": { - "node": ">=0.10.0" + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dev": true, + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "node_modules/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, - "engines": { - "node": ">=8" + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "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/buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", + "dev": true }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "node_modules/bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.14.2" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/bundlesize": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.1.tgz", + "integrity": "sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "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" + }, + "bin": { + "bundlesize": "index.js", + "bundlesize-init": "src/init-status.js", + "bundlesize-pipe": "pipe.js" } }, - "node_modules/asn1.js/node_modules/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==", + "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/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/byte-size": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", + "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "engines": { + "node": ">=10" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, "engines": { - "node": ">=0.8" + "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": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, "dependencies": { - "inherits": "2.0.1" + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "node_modules/cacache/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "peer": true - }, - "node_modules/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==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/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==", + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">=12" } }, - "node_modules/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" + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 4.5.0" + "node": ">=10" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "node_modules/cacache/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, "dependencies": { - "follow-redirects": "^1.14.0" + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.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": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "peer": true, "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": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "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" + }, "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": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "node_modules/cacheable-lookup": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", + "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10.6.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": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, "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" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" - }, - "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": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "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==", + "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "pump": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-code-frame/node_modules/supports-color": { + "node_modules/cacheable-request/node_modules/lowercase-keys": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=8" } }, - "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==", + "node_modules/cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, + "node_modules/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": { - "@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" + "hasha": "^3.0.0", + "make-dir": "^2.0.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.4.2" }, "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=6" } }, - "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==", + "node_modules/caching-transform/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": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "callsites": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "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==", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "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==", + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "dev": true, "engines": { - "node": ">=8" + "node": "*" } }, - "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==", + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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" - }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "node_modules/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": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">= 8.9" + "node": ">=8" }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/caniuse-lite": { + "version": "1.0.30001436", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", + "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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==", + "node_modules/chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "check-error": "^1.0.2" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "chai": ">= 2.1.2 < 5" } }, - "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==", + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=4" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/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/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "*" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.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" + "engines": { + "node": ">= 8.10.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "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" - }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=10" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "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" - }, + "node_modules/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": ">=0.10.0" + "node": ">=6.0" } }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } + "node_modules/ci-env": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.17.0.tgz", + "integrity": "sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==", + "dev": true }, - "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0.0", + "npm": ">=3.0.0" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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==", + "dev": true, "funding": [ { "type": "github", @@ -9546,1624 +9340,1632 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "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==", + "deprecated": "This module has been superseded by the multiformats module", "dev": true, - "engines": { - "node": "^4.5.0 || >= 5.9" + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" } }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "node_modules/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==", + "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/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": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "node_modules/class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", "dev": true }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/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==", "dev": true, + "peer": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/bignumber.js": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/bin-links": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz", - "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==", + "node_modules/class-utils/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "peer": true, "dependencies": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/bin-links/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "node_modules/class-utils/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/bin-links/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/class-utils/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "peer": true, "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "kind-of": "^3.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "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==", + "node_modules/class-utils/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/class-utils/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==", "dev": true, - "optional": true, "peer": true, "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "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/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=0.10.0" } }, - "node_modules/body-parser/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/class-utils/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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/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, + "engines": { + "node": ">=6" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "exit": "0.1.2", + "glob": "^7.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.2.5" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/brotli-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.1.0.tgz", - "integrity": "sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { - "duplexer": "^0.1.1", - "iltorb": "^2.4.3" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true, - "dependencies": { - "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" + "engines": { + "node": ">=6" }, - "bin": { - "browser-pack": "bin/cmd.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/cli-width": { + "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, + "engines": { + "node": ">= 10" + } }, - "node_modules/browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "dependencies": { - "resolve": "^1.17.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "node_modules/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": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "dependencies": { - "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" - }, - "bin": { - "browserify": "bin/cmd.js" - }, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/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": { - "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/cliui/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/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==", + "node_modules/cliui/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/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==", + "node_modules/cliui/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": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/cliui/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": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, - "dependencies": { - "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" + "engines": { + "node": ">=0.8" } }, - "node_modules/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==", + "node_modules/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": { - "pako": "~1.0.5" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/clone-deep/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==", "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserify/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/browserify/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==", + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/browserify/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==", + "node_modules/clone-response/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==", "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "engines": { + "node": ">=4" } }, - "node_modules/browserify/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==", + "node_modules/cmd-shim": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", + "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "dev": true, - "dependencies": { - "inherits": "2.0.3" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=0.10.0" } }, - "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==", + "node_modules/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==", + "dev": true, "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" + "color-name": "1.1.3" } }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" } }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/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" } }, - "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==", + "node_modules/columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dev": true, "dependencies": { - "node-int64": "^0.4.0" + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==" + "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": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + "node_modules/combine-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "hasInstallScript": true, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { - "node-gyp-build": "^4.3.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=6.14.2" + "node": ">= 0.8" } }, - "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", + "node_modules/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": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", "dev": true }, - "node_modules/builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, - "node_modules/bundlesize": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.1.tgz", - "integrity": "sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==", + "node_modules/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": { - "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" - }, - "bin": { - "bundlesize": "index.js", - "bundlesize-init": "src/init-status.js", - "bundlesize-pipe": "pipe.js" + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "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/byte-size": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", - "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", + "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": ">=10" + "node": ">=8" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } + "node_modules/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, + "peer": true }, - "node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, + "engines": [ + "node >= 0.8" + ], "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/concat-stream/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==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "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/cacache/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "safe-buffer": "~5.1.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "node_modules/config-chain": { + "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, - "engines": { - "node": ">=12" + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 0.10.0" } }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/cacache/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/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": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "safe-buffer": "5.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.6" } }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "node_modules/content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "dev": true, "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" } }, - "node_modules/cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", + "node_modules/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==", + "dev": true, "engines": { - "node": ">=10.6.0" + "node": ">= 0.6" } }, - "node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "compare-func": "^2.0.0", + "q": "^1.5.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, "dependencies": { - "pump": "^3.0.0" + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "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": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "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" + "node_modules/conventional-changelog-core/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/cached-path-relative": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", - "dev": true + "node_modules/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" + } }, - "node_modules/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==", + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, "dependencies": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "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" + }, + "bin": { + "conventional-changelog-writer": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/caching-transform/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==", + "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": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "readable-stream": "3" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "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==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, "dependencies": { - "callsites": "^2.0.0" + "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" + }, + "bin": { + "conventional-commits-parser": "cli.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "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": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" + "readable-stream": "3" } }, - "node_modules/callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "node_modules/conventional-recommended-bump": { + "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, + "dependencies": { + "concat-stream": "^2.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" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/callsites": { + "node_modules/conventional-recommended-bump/node_modules/concat-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, - "engines": { - "node": ">=4" + "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/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/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==", + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, + "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001436", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", - "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] + "node_modules/core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "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==", + "node_modules/core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, "dependencies": { - "rsvp": "^4.8.4" + "browserslist": "^4.21.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" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, - "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "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==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">=4" + "node": ">= 0.10" } }, - "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "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": { - "check-error": "^1.0.2" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, - "peerDependencies": { - "chai": ">= 2.1.2 < 5" + "engines": { + "node": ">=4" } }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "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": ">=4" + "node": ">=6" } }, - "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==", + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, "engines": { - "node": ">=10" + "node": ">=0.8" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "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==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/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==", "dev": true }, - "node_modules/charm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", - "integrity": "sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==", + "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==", + "dev": true, "dependencies": { - "inherits": "^2.0.1" + "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/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "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==", "dev": true, - "engines": { - "node": "*" + "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/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "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==", + "dev": true + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node-fetch": "2.6.7" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/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==", + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": ">=6.0" + "node": ">= 8" } }, - "node_modules/ci-env": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.17.0.tgz", - "integrity": "sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==", - "dev": true - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", + "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==", + "dev": true, "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" + "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": ">=4.0.0", - "npm": ">=3.0.0" + "node": "*" } }, - "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/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/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==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true }, - "node_modules/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==", + "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==", + "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "es5-ext": "^0.10.50", + "type": "^1.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/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "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/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==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/class-utils/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", + "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": ">=0.10.0" + "node": "*" } }, - "node_modules/class-utils/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "ms": "2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/class-utils/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/class-utils/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/decache": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.1.tgz", + "integrity": "sha512-ohApBM8u9ygepJCjgBrEZSSxPjc0T/PJkD+uNyxXPkqudyUpdXpwJYp0VISm2WrPVzASU6DZyIi6BWdyw7uJ2Q==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, + "callsite": "^1.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/class-utils/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==", + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/class-utils/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==", + "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": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "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": { - "exit": "0.1.2", - "glob": "^7.1.1" + "mimic-response": "^2.0.0" }, "engines": { - "node": ">=0.2.5" + "node": ">=8" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "type-detect": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "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": ">=6" + "node": ">=4.0.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": "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==", + "dev": true, + "dependencies": { + "strip-bom": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/cli-width": { + "node_modules/default-require-extensions/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/cliui/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/cliui/node_modules/is-fullwidth-code-point": { + "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cliui/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, + "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==", + "dev": true, + "peer": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/cliui/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==", + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, "engines": { - "node": ">=6" + "node": ">=0.4.0" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">=0.8" + "node": ">= 0.8" } }, - "node_modules/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==", + "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": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.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" + }, + "bin": { + "dependency-check": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "node_modules/clone-deep/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==", + "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": { - "isobject": "^3.0.1" + "@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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "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/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": { - "mimic-response": "^1.0.0" + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "deps-sort": "bin/cmd.js" } }, - "node_modules/clone-response/node_modules/mimic-response": { + "node_modules/des.js": { "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" + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/cmd-shim": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", - "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "dependencies": { - "mkdirp-infer-owner": "^2.0.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=8" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "devOptional": true, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "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==" - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/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==", + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, "dependencies": { - "color-name": "1.1.3" + "asap": "^2.0.0", + "wrappy": "1" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, - "bin": { - "color-support": "bin.js" + "engines": { + "node": ">=0.3.1" } }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "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==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/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==", "dev": true }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "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": ">=0.1.90" + "node": ">=8" } }, - "node_modules/columnify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", - "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "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, - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", "dev": true, "dependencies": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, - "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": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", - "dev": true - }, - "node_modules/combine-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "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, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" } }, - "node_modules/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": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "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/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/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 }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "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": ">= 6" + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "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/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "node_modules/domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", "dev": true, "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" + "dom-serializer": "0", + "domelementtype": "1" } }, - "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==", + "node_modules/dot-prop": { + "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, "dependencies": { "is-obj": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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==" + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "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/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, - "engines": [ - "node >= 0.8" - ], "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "readable-stream": "^2.0.2" } }, - "node_modules/concat-stream/node_modules/readable-stream": { + "node_modules/duplexer2/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==", @@ -11178,13 +10980,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/concat-stream/node_modules/safe-buffer": { + "node_modules/duplexer2/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/concat-stream/node_modules/string_decoder": { + "node_modules/duplexer2/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==", @@ -11193,2336 +10995,2119 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/config-chain": { - "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==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", "dev": true, "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, "engines": { - "node": ">= 0.10.0" + "node": ">=0.10.0" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "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==", "dev": true, "dependencies": { - "ms": "2.0.0" + "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/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/elliptic/node_modules/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==", "dev": true }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "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/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "devOptional": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "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/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "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, + "optional": true, "dependencies": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" + "iconv-lite": "^0.6.2" } }, - "node_modules/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==", + "node_modules/encoding/node_modules/iconv-lite": { + "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, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "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==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" + "once": "^1.4.0" } }, - "node_modules/conventional-changelog-core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "node_modules/engine.io": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", + "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", "dev": true, "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "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": "^4.0.0" + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" }, "engines": { - "node": ">=10" + "node": ">=10.0.0" } }, - "node_modules/conventional-changelog-core/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", "dev": true, - "dependencies": { - "readable-stream": "3" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/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==", + "node_modules/engine.io/node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/conventional-changelog-writer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "dev": true, "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "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" - }, - "bin": { - "conventional-changelog-writer": "cli.js" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" } }, - "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==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "dependencies": { - "readable-stream": "3" + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" } }, - "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==", + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "node_modules/entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "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, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true, - "dependencies": { - "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" - }, "bin": { - "conventional-commits-parser": "cli.js" + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "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==", + "node_modules/err-code": { + "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 + }, + "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==", "dev": true, "dependencies": { - "readable-stream": "3" + "is-arrayish": "^0.2.1" } }, - "node_modules/conventional-recommended-bump": { - "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==", + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", "dev": true, + "hasInstallScript": true, "dependencies": { - "concat-stream": "^2.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" - }, - "bin": { - "conventional-recommended-bump": "cli.js" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" }, "engines": { - "node": ">=10" + "node": ">=0.10" } }, - "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==", + "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": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "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" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "node_modules/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/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "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==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/core-js-compat": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", - "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "browserslist": "^4.21.4" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "devOptional": true - }, - "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" + "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==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">= 0.10" + "node": ">=4" } }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "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==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "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": { - "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" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": ">=4.0" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { - "node": ">=0.8" + "node": ">=4.0" } }, - "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==", + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "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": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" } }, - "node_modules/create-ecdh/node_modules/bn.js": { + "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==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/eth-lib/node_modules/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==", "dev": true }, - "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==", + "node_modules/ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "js-sha3": "^0.8.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/ethereum-bloom-filters/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==", + "dev": true }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "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==", + "dev": true, "dependencies": { - "node-fetch": "2.6.7" + "@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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" }, "engines": { - "node": ">= 8" + "node": ">=10.0.0" } }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "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": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" } }, - "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==", + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", "dev": true, "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" + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" }, "engines": { - "node": "*" + "node": ">=6.5.0", + "npm": ">=3" } }, - "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==", + "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": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", "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/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "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": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "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": ">=8" + "node": ">=0.4.x" } }, - "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": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "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==", + "dev": true, "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "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==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "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" }, "engines": { "node": ">=10" - } - }, - "node_modules/data-urls/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "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" + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "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==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, "engines": { - "node": ">=10.4" + "node": ">= 0.8.0" } }, - "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==", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "peer": true, "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "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": ">=10" + "node": ">=0.10.0" } }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">=4.0" + "peer": true, + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", - "dev": true - }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, "dependencies": { - "ms": "2.1.2" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/decache": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.1.tgz", - "integrity": "sha512-ohApBM8u9ygepJCjgBrEZSSxPjc0T/PJkD+uNyxXPkqudyUpdXpwJYp0VISm2WrPVzASU6DZyIi6BWdyw7uJ2Q==", + "node_modules/expand-brackets/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "peer": 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": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "node_modules/expand-brackets/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "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": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "node_modules/expand-brackets/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "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==", + "node_modules/expand-brackets/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "mimic-response": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/expand-brackets/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==", "dev": true, + "peer": true, "dependencies": { - "type-detect": "^4.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "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==", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "peer": true, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/expand-brackets/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==", + "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/default-require-extensions": { + "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "dependencies": { - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "peer": true }, - "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": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "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": ">=4" + "node": ">=6" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "dependencies": { - "clone": "^1.0.2" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "engines": { - "node": ">=10" + "node": ">= 0.10.0" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "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/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "devOptional": true - }, - "node_modules/depd": { + "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/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": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, "engines": { "node": ">= 0.8" } }, - "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==", + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "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" + "type": "^2.7.2" } }, - "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==", + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "peer": 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" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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": ">=8" + "node": ">=4" } }, - "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==", + "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": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" + "os-tmpdir": "~1.0.2" }, - "bin": { - "deps-sort": "bin/cmd.js" + "engines": { + "node": ">=0.6.0" } }, - "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==", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, + "peer": true, "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "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.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=0.10.0" } }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "bin": { - "detect-libc": "bin/detect-libc.js" + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "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==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=0.8.0" + "node": ">=8.6.0" } }, - "node_modules/dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dev": true, - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } + "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==", + "dev": true }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "dev": true }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, "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": ">= 4.9.1" } }, - "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==", + "node_modules/fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "reusify": "^1.0.4" } }, - "node_modules/diffie-hellman/node_modules/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==", - "dev": true - }, - "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==", + "node_modules/fetch-mock": { + "version": "9.11.0", + "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz", + "integrity": "sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "@babel/core": "^7.0.0", + "@babel/runtime": "^7.0.0", + "core-js": "^3.0.0", + "debug": "^4.1.1", + "glob-to-regexp": "^0.4.0", + "is-subset": "^0.1.1", + "lodash.isequal": "^4.5.0", + "path-to-regexp": "^2.2.1", + "querystring": "^0.2.0", + "whatwg-url": "^6.5.0" }, "engines": { - "node": ">=8" + "node": ">=4.0.0" + }, + "funding": { + "type": "charity", + "url": "https://www.justgiving.com/refugee-support-europe" + }, + "peerDependencies": { + "node-fetch": "*" + }, + "peerDependenciesMeta": { + "node-fetch": { + "optional": true + } } }, - "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==", + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "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, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } + "optional": true, + "peer": true }, - "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==", + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "minimatch": "^5.0.1" } }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "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==", + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "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==", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "node": ">=10" } }, - "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==", + "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": { - "webidl-conversions": "^5.0.0" + "to-regex-range": "^5.0.1" }, "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==", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "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": ">=8" + "node": ">= 0.8" } }, - "node_modules/domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "domelementtype": "1" + "ms": "2.0.0" } }, - "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "dependencies": { - "is-obj": "^2.0.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/dts-critic": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/dts-critic/-/dts-critic-3.3.11.tgz", - "integrity": "sha512-HMO2f9AO7ge44YO8OK18f+cxm/IaE1CFuyNFbfJRCEbyazWj5X5wWDF6W4CGdo5Ax0ILYVfJ7L/rOwuUN1fzWw==", "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-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" + "semver": "^6.0.0" }, "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" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "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": "^5.0.0", - "path-exists": "^4.0.0" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "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/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" } }, - "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/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true }, - "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" - }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "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" + "node": ">=4.0" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "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==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" + "is-callable": "^1.1.3" } }, - "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" - }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "peer": true, "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": ">=0.10.0" } }, - "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==", + "node_modules/foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, - "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==", + "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": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", + "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, - "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==", + "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": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "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/foreground-child/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true }, - "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" - }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, "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/json-stable-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", - "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", - "dependencies": { - "jsonify": "^0.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "*" } }, - "node_modules/dtslint/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } + "node_modules/form-data-encoder": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", + "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", + "dev": true }, - "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" - }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "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==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "peer": true, "dependencies": { - "p-limit": "^2.2.0" + "map-cache": "^0.2.2" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/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": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { "node": ">=0.10.0" } }, - "node_modules/dtslint/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==", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 0.6" } }, - "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/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 }, - "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==", + "node_modules/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, "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" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/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, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "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/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/duplexer2/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==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexer2/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/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/duplexer2/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==", + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/ee-first": { + "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "node_modules/ganache": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.5.0.tgz", + "integrity": "sha512-afNTJYBEaFrLPRrn7eUxH39TgnrffvHn/4T6THzQrc3rpfe4DOxw2nY2XEQxfsq1t4OqKSXtxomzyo26RZiOzw==", + "bundleDependencies": [ + "@trufflesuite/bigint-buffer", + "emittery", + "keccak", + "leveldown", + "secp256k1", + "@types/bn.js", + "@types/lru-cache", + "@types/seedrandom" + ], "dev": true, + "hasShrinkwrap": true, "dependencies": { - "jake": "^10.8.5" + "@trufflesuite/bigint-buffer": "1.1.10", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "5.1.1", + "@types/seedrandom": "3.0.1", + "emittery": "0.10.0", + "keccak": "3.0.2", + "leveldown": "6.1.0", + "secp256k1": "4.0.3" }, "bin": { - "ejs": "bin/cli.js" + "ganache": "dist/node/cli.js", + "ganache-cli": "dist/node/cli.js" }, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "bufferutil": "4.0.5", + "utf-8-validate": "5.0.7" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - }, - "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==", + "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", + "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "Apache-2.0", "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/elliptic/node_modules/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==" - }, - "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" + "node-gyp-build": "4.4.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "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/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": ">= 14.0.0" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" + "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer/node_modules/node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "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/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "iconv-lite": "^0.6.2" + "@types/node": "*" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/ganache/node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "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": "6.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", - "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", + "node_modules/ganache/node_modules/@types/node": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", "dev": true, - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "node_modules/ganache/node_modules/@types/seedrandom": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", + "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", "dev": true, - "engines": { - "node": ">=10.0.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "node_modules/ganache/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "utf-8-validate": { - "optional": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ], + "inBundle": true, + "license": "MIT" }, - "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "node_modules/ganache/node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/ganache/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "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", "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", - "dev": true - }, - "node_modules/entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", - "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==", + "node_modules/ganache/node_modules/bufferutil": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", + "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "dev": true, - "engines": { - "node": ">=6" + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" } }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "node_modules/ganache/node_modules/catering": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", + "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", "dev": true, - "bin": { - "envinfo": "dist/cli.js" + "inBundle": true, + "license": "MIT", + "dependencies": { + "queue-tick": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/err-code": { - "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 - }, - "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==", + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "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/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true + "node_modules/ganache/node_modules/elliptic/node_modules/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==", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, + "node_modules/ganache/node_modules/emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "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": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.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==" - }, - "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==", + "node_modules/ganache/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=", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "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/ganache/node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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": "BSD-3-Clause" }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "node_modules/ganache/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "inBundle": true, + "license": "ISC" }, - "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/ganache/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" + } + ], + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=4" } }, - "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==", + "node_modules/ganache/node_modules/keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", "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" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">=4.0" + "node": ">=10.0.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/ganache/node_modules/leveldown": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", + "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "abstract-leveldown": "^7.2.0", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.12.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" + "node_modules/ganache/node_modules/leveldown/node_modules/abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3", + "catering": "^2.0.0", + "is-buffer": "^2.0.5", + "level-concat-iterator": "^3.0.0", + "level-supports": "^2.0.1", + "queue-microtask": "^1.2.3" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "node_modules/ganache/node_modules/leveldown/node_modules/level-concat-iterator": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", + "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "catering": "^2.1.0" }, "engines": { - "node": ">=0.10" + "node": ">=10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/ganache/node_modules/leveldown/node_modules/level-supports": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", + "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=10" } }, - "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==", + "node_modules/ganache/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==", "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } + "inBundle": true, + "license": "ISC" }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/ganache/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=", "dev": true, - "engines": { - "node": ">=4.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/ganache/node_modules/napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", "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" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "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": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" + "node_modules/ganache/node_modules/node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "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/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/eth-lib/node_modules/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==" - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-bloom-filters/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/ganache/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" + } + ], + "inBundle": true, + "license": "MIT" }, - "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/ganache/node_modules/queue-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", + "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "node_modules/ganache/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, + "inBundle": true, + "license": "MIT", "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">= 6" } }, - "node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "node_modules/ganache/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==", "dev": true, "funding": [ { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "node_modules/ganache/node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=10.0.0" } }, - "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": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "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==", + "node_modules/ganache/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "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==", + "inBundle": true, + "license": "MIT", "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "safe-buffer": "~5.2.0" } }, - "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": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/ganache/node_modules/utf-8-validate": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", + "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "dev": true, + "optional": true, "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" + "node-gyp-build": "^4.3.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "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/ganache/node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, "dependencies": { - "ms": "2.0.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" } }, - "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.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": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/gauge/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, - "node_modules/expand-brackets/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "number-is-nan": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "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": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "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/expand-brackets/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "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": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "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==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/expand-brackets/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/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/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "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==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/expand-brackets/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==", + "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": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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==", + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, "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" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=6.9.0" } }, - "node_modules/expect/node_modules/ansi-styles": { + "node_modules/get-pkg-repo/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" }, @@ -13533,10 +13118,22 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/expect/node_modules/color-convert": { + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/get-pkg-repo/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" }, @@ -13544,1112 +13141,875 @@ "node": ">=7.0.0" } }, - "node_modules/expect/node_modules/color-name": { + "node_modules/get-pkg-repo/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "node_modules/get-pkg-repo/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/get-pkg-repo/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/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": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/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, "engines": { - "node": ">= 0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" + "node_modules/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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, - "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": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "peer": true, "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==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" + "assert-plus": "^1.0.0" } }, - "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==", + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" }, - "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" + "bin": { + "git-raw-commits": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/git-raw-commits/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": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "readable-stream": "3" } }, - "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "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": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "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.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "node_modules/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, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" }, "engines": { - "node": ">=8.6.0" + "node": ">=10" } }, - "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": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "node_modules/git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "dev": true, + "dependencies": { + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" + } }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true + "node_modules/git-url-parse": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "dev": true, + "dependencies": { + "git-up": "^7.0.0" + } }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", "dev": true, - "engines": { - "node": ">= 4.9.1" + "dependencies": { + "ini": "^1.3.2" } }, - "node_modules/fastq": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", - "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "node_modules/github-build": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.3.tgz", + "integrity": "sha512-57zUA9ZbaKQHxoUATq3dkr+gUeaOWGGC/3Vw/AJNIUkiUmd7DnYM9TMTmUknbkuvx6+SeSqWpLBunZZzCPLUMg==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "axios": "0.21.3" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/github-build/node_modules/axios": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", + "dev": true, "dependencies": { - "bser": "2.1.1" + "follow-redirects": "^1.14.0" } }, - "node_modules/fetch-mock": { - "version": "9.11.0", - "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz", - "integrity": "sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==", + "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": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "@babel/core": "^7.0.0", - "@babel/runtime": "^7.0.0", - "core-js": "^3.0.0", - "debug": "^4.1.1", - "glob-to-regexp": "^0.4.0", - "is-subset": "^0.1.1", - "lodash.isequal": "^4.5.0", - "path-to-regexp": "^2.2.1", - "querystring": "^0.2.0", - "whatwg-url": "^6.5.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=4.0.0" + "node": "*" }, "funding": { - "type": "charity", - "url": "https://www.justgiving.com/refugee-support-europe" - }, - "peerDependencies": { - "node-fetch": "*" - }, - "peerDependenciesMeta": { - "node-fetch": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "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": { - "escape-string-regexp": "^1.0.5" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "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, - "peer": true + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dev": true, "dependencies": { - "minimatch": "^5.0.1" + "min-document": "^2.19.0", + "process": "^0.11.10" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/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, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { "node": ">=10" - } - }, - "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" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "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": ">=8" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "dependencies": { - "ms": "2.0.0" + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "node_modules/got": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", + "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", "dev": true, "dependencies": { - "ee-first": "1.1.1" + "@sindresorhus/is": "^4.6.0", + "@szmarczak/http-timer": "^5.0.1", + "@types/cacheable-request": "^6.0.2", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^6.0.4", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "form-data-encoder": "1.7.1", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/got/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { + "node_modules/got/node_modules/mimic-response": { "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==", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha512-1g6EPVvIHuPmpAdBBpsIVYLgjzGV/QqcFRJXpMyrqEWG10JhOaTjQeCcjMDyX0Iqfm/Q5M9twR/mbDk5f5MqkA==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "duplexer": "^0.1.1", + "pify": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "node_modules/gzip-size/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "bin": { - "flat": "cli.js" + "engines": { + "node": ">=4" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "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": { - "is-callable": "^1.1.3" + "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/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==", + "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", "dev": true, "dependencies": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "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": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", + "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, - "dependencies": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/foreground-child/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/form-data-encoder": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", - "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==" - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "peer": true, "dependencies": { - "map-cache": "^0.2.2" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { + "node_modules/has-values": { "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": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, + "peer": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "peer": true, "dependencies": { - "minipass": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 8" + "node": ">=0.10.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.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "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" - ], + "node_modules/has-values/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=0.10.0" } }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "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": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "peer": true, "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=0.6" + "node": ">=0.10.0" } }, - "node_modules/fstream/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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==", + "dev": true, "dependencies": { - "glob": "^7.1.3" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=4" } }, - "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": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.5.0.tgz", - "integrity": "sha512-afNTJYBEaFrLPRrn7eUxH39TgnrffvHn/4T6THzQrc3rpfe4DOxw2nY2XEQxfsq1t4OqKSXtxomzyo26RZiOzw==", - "bundleDependencies": [ - "@trufflesuite/bigint-buffer", - "emittery", - "keccak", - "leveldown", - "secp256k1", - "@types/bn.js", - "@types/lru-cache", - "@types/seedrandom" - ], + "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==", "dev": true, - "hasShrinkwrap": true, "dependencies": { - "@trufflesuite/bigint-buffer": "1.1.10", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "5.1.1", - "@types/seedrandom": "3.0.1", - "emittery": "0.10.0", - "keccak": "3.0.2", - "leveldown": "6.1.0", - "secp256k1": "4.0.3" - }, - "bin": { - "ganache": "dist/node/cli.js", - "ganache-cli": "dist/node/cli.js" - }, - "optionalDependencies": { - "bufferutil": "4.0.5", - "utf-8-validate": "5.0.7" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", - "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", + "node_modules/hasha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", + "integrity": "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==", "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "Apache-2.0", "dependencies": { - "node-gyp-build": "4.4.0" + "is-stream": "^1.0.1" }, "engines": { - "node": ">= 14.0.0" + "node": ">=4" } }, - "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer/node_modules/node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "node_modules/hasha/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "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" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ganache/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==", + "node_modules/hat": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", + "integrity": "sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": "*" } }, - "node_modules/ganache/node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "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, - "inBundle": true, - "license": "MIT" + "bin": { + "he": "bin/he" + } }, - "node_modules/ganache/node_modules/@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "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/node_modules/@types/seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, - "inBundle": true, - "license": "MIT" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/ganache/node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/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 }, - "node_modules/ganache/node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", "dev": true, - "inBundle": true, - "license": "MIT" + "engines": { + "node": ">=0.10" + } }, - "node_modules/ganache/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "node_modules/htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", "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", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" } }, - "node_modules/ganache/node_modules/bufferutil": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", - "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", + "node_modules/htmlparser2/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, - "optional": true, "dependencies": { - "node-gyp-build": "^4.3.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/ganache/node_modules/catering": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", - "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", + "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": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "queue-tick": "^1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/ganache/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==", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "inBundle": true, - "license": "MIT", - "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" + "engines": { + "node": ">= 0.8" } }, - "node_modules/ganache/node_modules/elliptic/node_modules/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==", - "dev": true, - "inBundle": true, - "license": "MIT" + "node_modules/http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", + "dev": true }, - "node_modules/ganache/node_modules/emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "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, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/ganache/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==", + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/ganache/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=", + "node_modules/http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" } }, - "node_modules/ganache/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "node_modules/http2-wrapper/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "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": "BSD-3-Clause" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/ganache/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "inBundle": true, - "license": "ISC" + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true }, - "node_modules/ganache/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==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "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", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/ganache/node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "node_modules/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, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, "engines": { - "node": ">=10.0.0" + "node": ">=10.17.0" } }, - "node_modules/ganache/node_modules/leveldown": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", - "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "abstract-leveldown": "^7.2.0", - "napi-macros": "~2.0.0", - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=10.12.0" + "ms": "^2.0.0" } }, - "node_modules/ganache/node_modules/leveldown/node_modules/abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", + "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==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "buffer": "^6.0.3", - "catering": "^2.0.0", - "is-buffer": "^2.0.5", - "level-concat-iterator": "^3.0.0", - "level-supports": "^2.0.1", - "queue-microtask": "^1.2.3" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/ganache/node_modules/leveldown/node_modules/level-concat-iterator": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", - "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", + "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==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "catering": "^2.1.0" + "punycode": "2.1.0" }, "engines": { - "node": ">=10" + "node": ">=4.0.0" } }, - "node_modules/ganache/node_modules/leveldown/node_modules/level-supports": { + "node_modules/idna-uts46-hx/node_modules/punycode": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", - "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=10" - } - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache/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=", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache/node_modules/napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache/node_modules/node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "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": ">=6" } }, - "node_modules/ganache/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==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -14664,770 +14024,695 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache/node_modules/queue-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", - "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", - "dev": true, - "inBundle": true, - "license": "MIT" + ] }, - "node_modules/ganache/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==", + "node_modules/ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", "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": ">= 4" } }, - "node_modules/ganache/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==", - "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/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "node_modules/ignore-walk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "minimatch": "^5.0.1" }, "engines": { - "node": ">=10.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/ganache/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "balanced-match": "^1.0.0" } }, - "node_modules/ganache/node_modules/utf-8-validate": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", - "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", "dev": true, - "optional": true, "dependencies": { - "node-gyp-build": "^4.3.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/ganache/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/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, - "inBundle": true, - "license": "MIT" - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "devOptional": true, + "hasInstallScript": 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": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" + "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/gauge/node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "devOptional": true - }, - "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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "devOptional": true, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, "dependencies": { - "number-is-nan": "^1.0.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "devOptional": true, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "devOptional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.19" } }, - "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==", + "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": ">=6.9.0" + "node": ">=8" } }, - "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==", + "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/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": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, - "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/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/get-pkg-repo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "node_modules/init-package-json": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz", + "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==", "dev": true, "dependencies": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "get-pkg-repo": "src/cli.js" + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/get-pkg-repo/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==", + "node_modules/init-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "balanced-match": "^1.0.0" } }, - "node_modules/get-pkg-repo/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/init-package-json/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "semver": "^7.0.0" } }, - "node_modules/get-pkg-repo/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/init-package-json/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/get-pkg-repo/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/get-pkg-repo/node_modules/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==", + "node_modules/init-package-json/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/get-pkg-repo/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/init-package-json/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/get-pkg-repo/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/init-package-json/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/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==", + "node_modules/init-package-json/node_modules/normalize-package-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/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==", + "node_modules/init-package-json/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "node_modules/init-package-json/node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/init-package-json/node_modules/read-package-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", + "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "node_modules/init-package-json/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "lru-cache": "^6.0.0" }, "bin": { - "git-raw-commits": "cli.js" + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/git-raw-commits/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/init-package-json/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dev": true, "dependencies": { - "readable-stream": "3" + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "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": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", "dev": true, "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "engines": { - "node": ">=4" + "source-map": "~0.5.3" } }, - "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/inline-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", "dev": true, "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=12.0.0" } }, - "node_modules/git-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", - "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "node_modules/inquirer/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": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/git-url-parse": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", - "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "git-up": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "node_modules/inquirer/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": { - "ini": "^1.3.2" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/github-build": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.3.tgz", - "integrity": "sha512-57zUA9ZbaKQHxoUATq3dkr+gUeaOWGGC/3Vw/AJNIUkiUmd7DnYM9TMTmUknbkuvx6+SeSqWpLBunZZzCPLUMg==", + "node_modules/inquirer/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/inquirer/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==", "dev": true, - "dependencies": { - "axios": "0.21.3" + "engines": { + "node": ">=8" } }, - "node_modules/github-build/node_modules/axios": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", - "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", + "node_modules/inquirer/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==", "dev": true, "dependencies": { - "follow-redirects": "^1.14.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "dev": true - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/inquirer/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/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": { - "is-glob": "^4.0.1" + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", "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/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, + "engines": { + "node": ">= 0.10" } }, - "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==", + "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==", + "dev": true, + "peer": true, + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "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/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" + "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==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/got": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", - "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", + "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==", + "dev": true, "dependencies": { - "@sindresorhus/is": "^4.6.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "1.7.1", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=14.16" + "ci-info": "^2.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/got/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" + "has": "^1.0.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/got/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" + "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==", + "dev": true, + "peer": true, + "dependencies": { + "kind-of": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "optional": true - }, - "node_modules/gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", - "integrity": "sha512-1g6EPVvIHuPmpAdBBpsIVYLgjzGV/QqcFRJXpMyrqEWG10JhOaTjQeCcjMDyX0Iqfm/Q5M9twR/mbDk5f5MqkA==", + "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==", "dev": true, + "peer": true, "dependencies": { - "duplexer": "^0.1.1", - "pify": "^3.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/gzip-size/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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==", + "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==", "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" + "is-docker": "cli.js" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "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" + "node": ">=8" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==", "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==", + "peer": true, "dependencies": { - "function-bind": "^1.1.1" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">= 0.4.0" + "node": ">=0.10.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "node_modules/is-extendable/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==", + "dev": true, + "peer": true, "dependencies": { - "ansi-regex": "^2.0.0" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-ansi/node_modules/ansi-regex": { + "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-flag": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "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": ">=4" + "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "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==", + "dev": true }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -15436,741 +14721,813 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "devOptional": true - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-values": { + "node_modules/is-hex-prefixed": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/has-values/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "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.10.0" + "node": ">=0.12.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": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "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": ">=0.10.0" + "node": ">=8" } }, - "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" - }, + "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": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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/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/hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==", + "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-stream": "^1.0.1" + "is-unc-path": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/hasha/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "protocols": "^2.0.1" } }, - "node_modules/hat": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", - "integrity": "sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==", + "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==", "dev": true, "engines": { - "node": "*" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "dev": true }, - "node_modules/hmac-drbg": { + "node_modules/is-text-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "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": { - "whatwg-encoding": "^1.0.5" + "unc-path-regex": "^0.1.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "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==", "dev": true, + "peer": true, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "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==", "dev": true, "dependencies": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/htmlparser2/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "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": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==" + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true }, - "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==", + "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, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "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==", + "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": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "append-transform": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "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": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "@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": ">=0.8", - "npm": ">=1.3.7" + "node": ">=6" } }, - "node_modules/http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "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": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" }, "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/http2-wrapper/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "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": { - "agent-base": "6", - "debug": "4" + "has-flag": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/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==", + "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": ">=10.17.0" + "node": ">=6" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "ms": "^2.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "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==", + "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": { - "safer-buffer": ">= 2.1.2 < 3" + "html-escaper": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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==", + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dev": true, "dependencies": { - "punycode": "2.1.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=10" } }, - "node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", + "node_modules/jake/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": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ignore-walk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", - "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "node_modules/jake/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": { - "minimatch": "^5.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=7.0.0" } }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/jake/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/jake/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==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/jake/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==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "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", + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "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" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "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==", "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } + "node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true }, - "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==", + "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": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "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==", + "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==", "dev": true }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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==", + "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "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==", + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, - "node_modules/init-package-json": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz", - "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "dependencies": { - "npm-package-arg": "^9.0.1", - "promzard": "^0.3.0", - "read": "^1.0.7", - "read-package-json": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/init-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/jshint": { + "version": "2.13.6", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz", + "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.21", + "minimatch": "~3.0.2", + "strip-json-comments": "1.0.x" + }, + "bin": { + "jshint": "bin/jshint" } }, - "node_modules/init-package-json/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "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": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", "dev": true, "dependencies": { - "semver": "^7.0.0" + "date-now": "^0.1.4" } }, - "node_modules/init-package-json/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/jshint/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, - "node_modules/init-package-json/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-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==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "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": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "jsonify": "~0.0.0" } }, - "node_modules/init-package-json/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", "dev": true, - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/init-package-json/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "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": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/init-package-json/node_modules/normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/init-package-json/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/init-package-json/node_modules/npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "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": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "*" } }, - "node_modules/init-package-json/node_modules/read-package-json": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", - "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "dependencies": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.6.0" } }, - "node_modules/init-package-json/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/just-diff": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.1.1.tgz", + "integrity": "sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==", + "dev": true + }, + "node_modules/just-diff-apply": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.4.1.tgz", + "integrity": "sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==", + "dev": true + }, + "node_modules/karma": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", + "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" }, "bin": { - "semver": "bin/semver.js" + "karma": "bin/karma" }, "engines": { - "node": ">=10" + "node": ">= 10" } }, - "node_modules/init-package-json/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "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": { - "builtins": "^5.0.0" + "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": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "peerDependencies": { + "browserify": ">=10 <17", + "karma": ">=4.3.0", + "watchify": ">=3 <4" } }, - "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": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "node_modules/karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", "dev": true, "dependencies": { - "source-map": "~0.5.3" + "which": "^1.2.1" } }, - "node_modules/inline-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "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, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "is-wsl": "^2.1.0" } }, - "node_modules/inquirer": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", - "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "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": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" + "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": "sha512-ZXsYERZJMTNRR2F3QN11OWF5kgnT/K2dzhM+oY3CDyMrDI3TjIWqYGG7c15rR9wjmy9lvdC+CCshqn3YZqnNrA==", + "dev": true, + "dependencies": { + "colors": "^1.1.2" }, - "engines": { - "node": ">=12.0.0" + "peerDependencies": { + "karma": ">=0.9" } }, - "node_modules/inquirer/node_modules/ansi-styles": { + "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==", @@ -16185,23 +15542,18 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/inquirer/node_modules/color-convert": { + "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==", @@ -16213,34 +15565,13 @@ "node": ">=7.0.0" } }, - "node_modules/inquirer/node_modules/color-name": { + "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/inquirer/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/wrap-ansi": { + "node_modules/karma/node_modules/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==", @@ -16257,839 +15588,852 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "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==", + "node_modules/karma/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "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" + "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" }, - "bin": { - "insert-module-globals": "bin/cmd.js" + "engines": { + "node": ">=10" } }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "node_modules/keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, "engines": { - "node": ">=10.13.0" + "node": ">=10.0.0" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "node_modules/keyv": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", + "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } }, - "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/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/is-accessor-descriptor": { + "node_modules/lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "invert-kv": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "node_modules/lerna": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-6.1.0.tgz", + "integrity": "sha512-3qAjIj8dgBwHtCAiLbq4VU/C1V9D1tvTLm2owZubdGAN72aB5TxuCu2mcw+yeEorOcXuR9YWx7EXIkAf+G0N2w==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@lerna/add": "6.1.0", + "@lerna/bootstrap": "6.1.0", + "@lerna/changed": "6.1.0", + "@lerna/clean": "6.1.0", + "@lerna/cli": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/create": "6.1.0", + "@lerna/diff": "6.1.0", + "@lerna/exec": "6.1.0", + "@lerna/import": "6.1.0", + "@lerna/info": "6.1.0", + "@lerna/init": "6.1.0", + "@lerna/link": "6.1.0", + "@lerna/list": "6.1.0", + "@lerna/publish": "6.1.0", + "@lerna/run": "6.1.0", + "@lerna/version": "6.1.0", + "@nrwl/devkit": ">=14.8.6 < 16", + "import-local": "^3.0.2", + "inquirer": "^8.2.4", + "npmlog": "^6.0.2", + "nx": ">=14.8.6 < 16", + "typescript": "^3 || ^4" }, - "engines": { - "node": ">= 0.4" + "bin": { + "lerna": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "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==", + "node_modules/lerna/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" + "node_modules/lerna/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/lerna/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "dependencies": { - "ci-info": "^2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "node_modules/libnpmaccess": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz", + "integrity": "sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==", + "dev": true, "dependencies": { - "has": "^1.0.3" + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/libnpmaccess/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "semver": "^7.0.0" } }, - "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==", + "node_modules/libnpmaccess/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "node_modules/libnpmaccess/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "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" + "node_modules/libnpmaccess/node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/libnpmaccess/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-extendable/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==", + "node_modules/libnpmaccess/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, "dependencies": { - "isobject": "^3.0.1" + "builtins": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/libnpmpublish": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.5.tgz", + "integrity": "sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg==", "dev": true, + "dependencies": { + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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/libnpmpublish/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" } }, - "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/libnpmpublish/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "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==", + "node_modules/libnpmpublish/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/libnpmpublish/node_modules/normalize-package-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/libnpmpublish/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "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": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "node_modules/libnpmpublish/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "node_modules/libnpmpublish/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "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==", + "node_modules/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, + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "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==", + "node_modules/load-json-file/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/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "node_modules/load-json-file/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": ">=0.10.0" + "node": ">=8" } }, - "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==", + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6.11.5" } }, - "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-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==", + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { - "is-unc-path": "^1.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9.0" } }, - "node_modules/is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "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": { - "protocols": "^2.0.1" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/locate-path/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "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": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "text-extensions": "^1.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "node_modules/log-symbols/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": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "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==", + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "unc-path-regex": "^0.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/log-symbols/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, - "engines": { - "node": ">=10" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "node_modules/log-symbols/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/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==", + "node_modules/log-symbols/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==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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, + "node_modules/log-symbols/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==", + "dev": true, "dependencies": { - "is-docker": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "node_modules/log4js": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz", + "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.3" + }, + "engines": { + "node": ">=8.0" + } }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, "engines": { - "node": ">= 8.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/gjtorikian/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "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==", + "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": ">=6" + "node": ">=10" } }, - "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==", + "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": { - "append-transform": "^1.0.0" + "pify": "^4.0.1", + "semver": "^5.6.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==", + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "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" + "bin": { + "semver": "bin/semver" } }, - "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==", + "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==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 10" } }, - "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==", + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "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" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0" + "minipass": "^3.1.1" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, + "peer": true, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/jake/node_modules/ansi-styles": { + "node_modules/map-obj": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "object-visit": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/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==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/jake/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/jake/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==", + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/jake/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==", + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" - } - }, - "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": ">= 0.10.0" } }, - "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==", + "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": { - "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" + "@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/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/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/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-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/find-up": { + "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" @@ -17098,18 +16442,17 @@ "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/meow/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/jest-cli/node_modules/locate-path": { + "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" }, @@ -17117,10 +16460,11 @@ "node": ">=8" } }, - "node_modules/jest-cli/node_modules/p-locate": { + "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" }, @@ -17128,552 +16472,513 @@ "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==", + "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": { - "has-flag": "^4.0.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" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@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-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==", + "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": { - "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" + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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" - }, + "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": ">=6" + "node": ">=8" } }, - "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==", + "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": { - "@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 - } + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "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" - }, + "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" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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" - }, + "node_modules/meow/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/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/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "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": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "source-map": "^0.6.1" } }, - "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/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/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 }, - "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-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" - }, + "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": ">= 10.14.2" + "node": ">= 8" } }, - "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" - }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.6" } }, - "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==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8.6" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "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/miller-rabin/node_modules/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==", + "dev": true }, - "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==", + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "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" - }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "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==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { - "detect-newline": "^3.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 0.6" } }, - "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" - }, + "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==", + "dev": true, "engines": { - "node": ">= 10.14.2" + "node": ">=6" } }, - "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" - }, + "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/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "dom-walk": "^0.1.0" } }, - "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" - }, + "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": ">=7.0.0" + "node": ">=4" } }, - "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/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==", + "dev": true }, - "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/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true }, - "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==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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": { - "@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" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 6" } }, - "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==", + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, "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" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "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==", + "node_modules/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, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">= 10.14.2" + "node": ">= 8" } }, - "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==", + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, "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" + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, "optionalDependencies": { - "fsevents": "^2.1.2" + "encoding": "^0.1.13" } }, - "node_modules/jest-haste-map/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==", + "node_modules/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, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/jest-haste-map/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==", + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/jest-haste-map/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==", + "node_modules/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, "dependencies": { - "has-flag": "^4.0.0" + "minipass": "^3.0.0" }, "engines": { "node": ">=8" } }, - "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==", + "node_modules/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, "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" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "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==", + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 8" } }, - "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==", + "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==", + "dev": true, + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "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==", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "minimist": "^1.2.6" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "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/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/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==", + "node_modules/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, + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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" + "node_modules/mkdirp-infer-owner/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "dev": true, "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "mkdirp": "*" }, "engines": { - "node": ">= 10.14.2" + "node": ">=4" } }, - "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==", + "node_modules/mocha": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", + "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "node_modules/mocha/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" }, @@ -17684,25 +16989,28 @@ "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==", + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { + "node_modules/mocha/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" }, @@ -17710,785 +17018,833 @@ "node": ">=7.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/color-name": { + "node_modules/mocha/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { + "node_modules/mocha/node_modules/escape-string-regexp": { "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" - }, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "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" + "node": ">=10" }, - "engines": { - "node": ">= 10.14.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "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==", + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=7.0.0" + "node": "*" } }, - "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/has-flag": { + "node_modules/mocha/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==", + "dev": true, "engines": { "node": ">=8" } }, - "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/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "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==", + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, - "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/mocha/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/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==", + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "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" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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" - }, + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/supports-color?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==", + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "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" + "node": ">=10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "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==", + "node_modules/mocha/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-resolve/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/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==", + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-resolve/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/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==", + "dev": true }, - "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" - }, + "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": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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": { - "@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" + "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" }, - "engines": { - "node": ">=8" + "bin": { + "module-deps": "bin/cmd.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8.0" } }, - "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==", + "node_modules/module-deps/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==", + "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" + "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/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==", + "node_modules/module-deps/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/module-deps/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "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" + "safe-buffer": "~5.1.0" } }, - "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/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/jest-resolve/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/multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" } }, - "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/multibase/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "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==", + "node_modules/multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "varint": "^5.0.0" } }, - "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/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" } }, - "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==", + "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==", + "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": { - "@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" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "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==", + "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==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "base-x": "^3.0.8", + "buffer": "^5.5.0" } }, - "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==", + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runner/node_modules/color-convert": { + "node_modules/multimatch/node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/multimatch/node_modules/arrify": { "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" - }, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "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/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true }, - "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/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true }, - "node_modules/jest-runner/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" + "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": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">= 10.13.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "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": ">=8" + "node": ">=0.10.0" } }, - "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/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/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" - }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.6" } }, - "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==", + "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.1", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", + "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", + "dev": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/node-abi": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", + "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "semver": "^5.4.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==", + "node_modules/node-abi/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/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==", + "dev": true + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "lodash": "^4.17.21" } }, - "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==", + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "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/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, - "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==", + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-gyp": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", + "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">=8" + "node": "^12.22 || ^14.13 || >=16" } }, - "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/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "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==", + "node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/node-gyp/node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "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" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "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==", + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "node_modules/noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ==", + "dev": true + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" }, "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==", + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "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==", + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "@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" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "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" - }, + "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==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "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" - }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "npm-normalize-package-bin": "^1.0.1" } }, - "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==", + "node_modules/npm-install-checks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", + "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -18499,209 +17855,406 @@ "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==", + "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-packlist": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz", + "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/npm-packlist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "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" + "balanced-match": "^1.0.0" } }, - "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==", + "node_modules/npm-packlist/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "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==", + "node_modules/npm-packlist/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-util/node_modules/color-convert": { + "node_modules/npm-packlist/node_modules/npm-bundled": { "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/npm-bundled/-/npm-bundled-2.0.1.tgz", + "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "npm-normalize-package-bin": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.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/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/npm-pick-manifest": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz", + "integrity": "sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.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==", + "node_modules/npm-pick-manifest/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, "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" + "semver": "^7.0.0" } }, - "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==", + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/npm-pick-manifest/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "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" - }, + "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" + } + }, + "node_modules/npm-pick-manifest/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "node_modules/npm-registry-fetch": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz", + "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.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/npm-registry-fetch/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/jest-validate/node_modules/has-flag": { + "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "path-key": "^3.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==", + "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==", + "dev": true, "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" + "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": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": 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": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "dev": true, + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" }, "engines": { - "node": ">= 10.14.2" + "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": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "dev": true + }, + "node_modules/nx": { + "version": "15.4.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.4.tgz", + "integrity": "sha512-JWYeGcKsQVHR6nlk7XSL1/dAuSo2eyW+ahmMmK3j3vSnqRlZiN0q53ALZ4nD8VemAwtZCJ3CiOi4D/HExi5wbw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nrwl/cli": "15.4.4", + "@nrwl/tao": "15.4.4", + "@parcel/watcher": "2.0.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "^3.0.0-rc.18", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.0.0", + "chalk": "4.1.0", + "chokidar": "^3.5.1", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^7.0.2", + "dotenv": "~10.0.0", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^10.1.0", + "glob": "7.1.4", + "ignore": "^5.0.4", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "minimatch": "3.0.5", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.3.4", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/nx/node_modules/@zkochan/js-yaml": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", + "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { + "node_modules/nx/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" }, @@ -18712,10 +18265,28 @@ "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==", + "node_modules/nx/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/nx/node_modules/axios": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/nx/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18727,10 +18298,22 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-watcher/node_modules/color-convert": { + "node_modules/nx/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/nx/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" }, @@ -18738,45 +18321,74 @@ "node": ">=7.0.0" } }, - "node_modules/jest-watcher/node_modules/color-name": { + "node_modules/nx/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "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==", + "node_modules/nx/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, "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==", + "node_modules/nx/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/nx/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=12" } }, - "node_modules/jest-worker/node_modules/has-flag": { + "node_modules/nx/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "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/nx/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==", @@ -18785,429 +18397,467 @@ "node": ">=8" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/nx/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" - }, - "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": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", + "node_modules/nx/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">= 0.8" + "node": "*" } }, - "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==", + "node_modules/nx/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "lru-cache": "^6.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": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "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.6", - "xml-name-validator": "^3.0.0" + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "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==", + "node_modules/nx/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==", + "dev": true, "dependencies": { - "punycode": "^2.1.1" + "has-flag": "^4.0.0" }, "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/nx/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true }, - "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==", + "node_modules/nx/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, + "node_modules/nx/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/jshint": { - "version": "2.13.6", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz", - "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", + "node_modules/nx/node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "dependencies": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.21", - "minimatch": "~3.0.2", - "strip-json-comments": "1.0.x" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, - "bin": { - "jshint": "bin/jshint" + "engines": { + "node": ">=12" } }, - "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": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "node_modules/nx/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "dependencies": { - "date-now": "^0.1.4" + "engines": { + "node": ">=12" } }, - "node_modules/jshint/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "node_modules/nx/node_modules/yargs/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "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/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/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/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/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "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/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/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/json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", + "node_modules/nyc/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "jsonify": "~0.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/json-stringify-nice": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", - "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", + "node_modules/nyc/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "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.", "dev": true, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "bin": { + "uuid": "bin/uuid" } }, - "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": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "node_modules/nyc/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/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, + "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==", + "dev": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, + "peer": true, "dependencies": { - "universalify": "^2.0.0" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "node_modules/object-copy/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "engines": [ - "node >= 0.2.0" - ] + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/object-copy/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "peer": true, "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" + "kind-of": "^3.0.2" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "node_modules/object-copy/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==", + "dev": true, + "peer": true, "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=0.10.0" } }, - "node_modules/just-diff": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.1.1.tgz", - "integrity": "sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==", - "dev": true - }, - "node_modules/just-diff-apply": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.4.1.tgz", - "integrity": "sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==", - "dev": true + "node_modules/object-copy/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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/karma": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", - "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.4.1", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" + "is-buffer": "^1.1.5" }, - "bin": { - "karma": "bin/karma" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "peer": true, + "dependencies": { + "isobject": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "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==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "peer": 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" + "isobject": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" + } + }, + "node_modules/oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", + "dev": true, + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" }, - "peerDependencies": { - "browserify": ">=10 <17", - "karma": ">=4.3.0", - "watchify": ">=3 <4" + "engines": { + "node": ">= 0.8" } }, - "node_modules/karma-chrome-launcher": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", - "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { - "which": "^1.2.1" + "wrappy": "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==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "is-wsl": "^2.1.0" + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dev": true, "dependencies": { - "minimist": "^1.2.3" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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": "sha512-ZXsYERZJMTNRR2F3QN11OWF5kgnT/K2dzhM+oY3CDyMrDI3TjIWqYGG7c15rR9wjmy9lvdC+CCshqn3YZqnNrA==", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "dependencies": { - "colors": "^1.1.2" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, - "peerDependencies": { - "karma": ">=0.9" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/karma/node_modules/ansi-styles": { + "node_modules/ora/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==", @@ -19222,18 +18872,23 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/karma/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/karma/node_modules/color-convert": { + "node_modules/ora/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==", @@ -19245,333 +18900,290 @@ "node": ">=7.0.0" } }, - "node_modules/karma/node_modules/color-name": { + "node_modules/ora/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/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/karma/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/ora/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==", "dev": true, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/ora/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==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, "dependencies": { - "json-buffer": "3.0.1" - } - }, - "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==", + "lcid": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "node_modules/os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.9" + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "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==", + "node_modules/outpipe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", + "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==", "dev": true, + "peer": true, "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" + "shell-quote": "^1.4.2" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "dev": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=12.20" } }, - "node_modules/lerna": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-6.1.0.tgz", - "integrity": "sha512-3qAjIj8dgBwHtCAiLbq4VU/C1V9D1tvTLm2owZubdGAN72aB5TxuCu2mcw+yeEorOcXuR9YWx7EXIkAf+G0N2w==", + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, - "dependencies": { - "@lerna/add": "6.1.0", - "@lerna/bootstrap": "6.1.0", - "@lerna/changed": "6.1.0", - "@lerna/clean": "6.1.0", - "@lerna/cli": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/create": "6.1.0", - "@lerna/diff": "6.1.0", - "@lerna/exec": "6.1.0", - "@lerna/import": "6.1.0", - "@lerna/info": "6.1.0", - "@lerna/init": "6.1.0", - "@lerna/link": "6.1.0", - "@lerna/list": "6.1.0", - "@lerna/publish": "6.1.0", - "@lerna/run": "6.1.0", - "@lerna/version": "6.1.0", - "@nrwl/devkit": ">=14.8.6 < 16", - "import-local": "^3.0.2", - "inquirer": "^8.2.4", - "npmlog": "^6.0.2", - "nx": ">=14.8.6 < 16", - "typescript": "^3 || ^4" - }, - "bin": { - "lerna": "cli.js" - }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/lerna/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "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==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "p-try": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lerna/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "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": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "p-limit": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6" } }, - "node_modules/lerna/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/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, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "aggregate-error": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/p-map-series": { + "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, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, + "node_modules/p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/libnpmaccess": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz", - "integrity": "sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==", + "node_modules/p-queue": { + "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, "dependencies": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0" + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/libnpmaccess/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/p-reduce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true, - "dependencies": { - "semver": "^7.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/libnpmaccess/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/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, "dependencies": { - "lru-cache": "^7.5.1" + "p-finally": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/libnpmaccess/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "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==", "dev": true, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/libnpmaccess/node_modules/npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "node_modules/p-waterfall": { + "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, "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "p-reduce": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/libnpmaccess/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/libnpmaccess/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "node_modules/pacote": { + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz", + "integrity": "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==", "dev": true, "dependencies": { - "builtins": "^5.0.0" + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/libnpmpublish": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.5.tgz", - "integrity": "sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg==", + "node_modules/pacote/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", - "semver": "^7.3.7", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/libnpmpublish/node_modules/builtins": { + "node_modules/pacote/node_modules/builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", @@ -19580,7 +19192,26 @@ "semver": "^7.0.0" } }, - "node_modules/libnpmpublish/node_modules/hosted-git-info": { + "node_modules/pacote/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pacote/node_modules/hosted-git-info": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", @@ -19592,7 +19223,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/libnpmpublish/node_modules/hosted-git-info/node_modules/lru-cache": { + "node_modules/pacote/node_modules/hosted-git-info/node_modules/lru-cache": { "version": "7.14.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", @@ -19601,7 +19232,31 @@ "node": ">=12" } }, - "node_modules/libnpmpublish/node_modules/normalize-package-data": { + "node_modules/pacote/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/normalize-package-data": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", @@ -19616,7 +19271,16 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "node_modules/pacote/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/pacote/node_modules/npm-package-arg": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", @@ -19631,7 +19295,22 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/libnpmpublish/node_modules/semver": { + "node_modules/pacote/node_modules/read-package-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", + "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/pacote/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", @@ -19646,7 +19325,7 @@ "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/ssri": { + "node_modules/pacote/node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", @@ -19658,7 +19337,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/libnpmpublish/node_modules/validate-npm-package-name": { + "node_modules/pacote/node_modules/validate-npm-package-name": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", @@ -19670,468 +19349,299 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "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/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==", + "node_modules/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, "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/load-json-file/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==", + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "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": ">=6" } }, - "node_modules/load-json-file/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==", + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "path-platform": "~0.11.15" } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "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==", "dev": true, - "engines": { - "node": ">=6.11.5" + "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/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/parse-conflict-json": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz", + "integrity": "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" }, "engines": { - "node": ">=8.9.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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/parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "dev": true }, - "node_modules/locate-path/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, "engines": { "node": ">=4" } }, - "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.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/parse-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "protocols": "^2.0.0" } }, - "node_modules/log-symbols/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==", + "node_modules/parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "parse-path": "^7.0.0" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "peer": true, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/log-symbols/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/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/log-symbols/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==", + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, - "engines": { - "node": ">=8" - } + "peer": true }, - "node_modules/log-symbols/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==", + "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, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/log4js": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz", - "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==", + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.3" - }, "engines": { - "node": ">=8.0" + "node": ">=0.10.0" } }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "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==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "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/path-parse": { + "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 }, - "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==", + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/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": ">= 0.8.0" } }, - "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/path-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==", + "dev": true }, - "node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "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": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "pify": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "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": ">=12" + "node": "*" } }, - "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { - "minipass": "^3.1.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" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.12" } }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dependencies": { - "tmpl": "1.0.5" - } + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dependencies": { - "object-visit": "^1.0.0" - }, + "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": ">=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": ">=6" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, "engines": { - "node": ">= 0.10.0" + "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==", + "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==", "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" + "find-up": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/meow/node_modules/find-up": { + "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==", @@ -20144,13 +19654,7 @@ "node": ">=8" } }, - "node_modules/meow/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/locate-path": { + "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==", @@ -20162,7 +19666,7 @@ "node": ">=8" } }, - "node_modules/meow/node_modules/p-locate": { + "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==", @@ -20174,2574 +19678,2241 @@ "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==", + "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": { - "@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" + "find-up": "^3.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "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" - }, + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "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" }, - "engines": { - "node": ">=8" + "bin": { + "prebuild-install": "bin.js" }, - "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": ">=6" } }, - "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==", + "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": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "chalk": "2.1.0" } }, - "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==", + "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": ">=8" + "node": ">=4" } }, - "node_modules/meow/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=0.10.0" } }, - "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==", + "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": "sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "has-flag": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "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==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "dependencies": { - "source-map": "^0.6.1" + "engines": { + "node": ">= 0.6.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/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", "dev": true, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" + "node_modules/promise-call-limit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz", + "integrity": "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "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, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": ">=8.6" + "node": ">=10" } }, - "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==", + "node_modules/promzard": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "read": "1" } }, - "node_modules/miller-rabin/node_modules/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==", + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "node_modules/protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=4.0.0" + "node": ">= 0.10" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true }, - "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/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, - "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==", + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "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/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "node_modules/public-encrypt/node_modules/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==", + "dev": true + }, + "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==", + "dev": true, "dependencies": { - "dom-walk": "^0.1.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "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==", + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "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": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "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/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "side-channel": "^1.0.4" }, "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "node": ">=0.6" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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==", "dev": true, "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4.x" } }, - "node_modules/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==", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, "engines": { - "node": ">= 8" + "node": ">=0.4.x" } }, - "node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "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, - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">=8" } }, - "node_modules/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==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" + "safe-buffer": "^5.1.0" } }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "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==", "dev": true, "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/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==", + "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==", "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "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": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": ">= 8" + "bin": { + "rc": "cli.js" } }, - "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" - }, + "node_modules/rc/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": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "dev": true, "dependencies": { - "minimist": "^1.2.6" + "mute-stream": "~0.0.4" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=0.8" } }, - "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/read-cmd-shim": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz", + "integrity": "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "node_modules/mkdirp-infer-owner": { + "node_modules/read-only-stream": { "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==", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", "dev": true, "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" - }, - "engines": { - "node": ">=10" + "readable-stream": "^2.0.2" } }, - "node_modules/mkdirp-infer-owner/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/read-only-stream/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==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "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/mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "node_modules/read-only-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "mkdirp": "*" - }, - "engines": { - "node": ">=4" + "safe-buffer": "~5.1.0" } }, - "node_modules/mocha": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", - "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", + "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": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "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/mocha/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==", + "node_modules/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, "dependencies": { - "color-convert": "^2.0.1" + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/read-package-json/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/mocha/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/mocha/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/read-package-json/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": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/mocha/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/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/read-package-json/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "semver": "bin/semver" } }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "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": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "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" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=4" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "locate-path": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/mocha/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==", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/read-pkg-up/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": { - "argparse": "^2.0.1" + "p-try": "^1.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=4" } }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/mocha/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==", + "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/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/read-pkg/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": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "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": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "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/read-pkg/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=4" } }, - "node_modules/mocha/node_modules/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==", + "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": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 6" } }, - "node_modules/mocha/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "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==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" } }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=10" + "node": ">=8.10.0" } }, - "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==", + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.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==", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "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" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/module-deps/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==", + "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": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, - "node_modules/module-deps/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/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, - "node_modules/module-deps/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==", + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "@babel/runtime": "^7.8.4" } }, - "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/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "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" - } - ], + "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==", + "dev": true, + "peer": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, "dependencies": { - "varint": "^5.0.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "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/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true }, - "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" - } - ], + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "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==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" + "es6-error": "^4.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/multimatch/node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "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": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "peer": true }, - "node_modules/multimatch/node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "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==", "dev": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "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": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==" + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10" + } }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "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", "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" + "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": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 6" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/request/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==", + "dev": true, "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" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.12" } }, - "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": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/request/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=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.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", - "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", - "dev": true - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "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/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "node_modules/node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "node_modules/request/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==", "dev": true, "dependencies": { - "semver": "^5.4.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/node-abi/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "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.", "dev": true, "bin": { - "semver": "bin/semver" + "uuid": "bin/uuid" } }, - "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.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "lodash": "^4.17.21" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.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": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", + "dev": true, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "dev": true, + "engines": { + "node": "*" + } }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "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==", + "dev": true }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, - "node_modules/node-gyp": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", - "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "node-gyp": "bin/node-gyp.js" + "resolve": "bin/resolve" }, - "engines": { - "node": "^12.22 || ^14.13 || >=16" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "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==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/resolve-cwd/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==", "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true, - "dependencies": { - "abbrev": "^1.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true, + "peer": true + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "lowercase-keys": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/responselike/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "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": ">=8" } }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "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==", + "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": ">=0.12" } }, - "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/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" } }, - "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" - }, + "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": { - "node": ">= 8" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "node_modules/noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ==", + "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/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "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": { - "abbrev": "1" + "glob": "^7.1.3" }, "bin": { - "nopt": "bin/nopt.js" + "rimraf": "bin.js" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "bn.js": "^5.2.0" }, "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "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" + "rlp": "bin/rlp" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "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": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.12.0" } }, - "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==", + "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": { - "npm-normalize-package-bin": "^1.0.1" + "queue-microtask": "^1.2.2" } }, - "node_modules/npm-install-checks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", - "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "node_modules/rxjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz", + "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==", "dev": true, "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "tslib": "^2.1.0" } }, - "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/rxjs/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "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==", + "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/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, + "peer": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "ret": "~0.1.10" } }, - "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==", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "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": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" + "require-like": "0.1.2", + "stack-trace": "0.0.9" } }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "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": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=10" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/npm-packlist": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz", - "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==", + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "dev": true, + "hasInstallScript": true, "dependencies": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "bin": { - "npm-packlist": "bin/index.js" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10.0.0" } }, - "node_modules/npm-packlist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/npm-packlist/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.8.0" } }, - "node_modules/npm-packlist/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "ms": "2.0.0" } }, - "node_modules/npm-packlist/node_modules/npm-bundled": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz", - "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^2.0.0" + "bin": { + "mime": "cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "node_modules/send/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/npm-pick-manifest": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz", - "integrity": "sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==", + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.8" } }, - "node_modules/npm-pick-manifest/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { - "semver": "^7.0.0" + "randombytes": "^2.1.0" } }, - "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.8.0" } }, - "node_modules/npm-pick-manifest/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "node_modules/servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", "dev": true, + "dependencies": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true }, - "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "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==", "dev": true, + "peer": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "peer": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/npm-pick-manifest/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, + "peer": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/npm-registry-fetch": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz", - "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==", + "node_modules/set-value/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==", "dev": true, + "peer": true, "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "isobject": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/npm-registry-fetch/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true }, - "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "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==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" + "bin": { + "sha.js": "bin.js" } }, - "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "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": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "kind-of": "^6.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/npm-registry-fetch/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" } }, - "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "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": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "fast-safe-stringify": "^2.0.7" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "path-key": "^3.0.0" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "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/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, + "engines": { + "node": ">=8" } }, - "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": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" + "node_modules/shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "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": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" - }, - "node_modules/nwsapi": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", - "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==" + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/nx": { - "version": "15.4.4", - "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.4.tgz", - "integrity": "sha512-JWYeGcKsQVHR6nlk7XSL1/dAuSo2eyW+ahmMmK3j3vSnqRlZiN0q53ALZ4nD8VemAwtZCJ3CiOi4D/HExi5wbw==", + "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==", "dev": true, - "hasInstallScript": true, - "dependencies": { - "@nrwl/cli": "15.4.4", - "@nrwl/tao": "15.4.4", - "@parcel/watcher": "2.0.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "^3.0.0-rc.18", - "@zkochan/js-yaml": "0.0.6", - "axios": "^1.0.0", - "chalk": "4.1.0", - "chokidar": "^3.5.1", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^7.0.2", - "dotenv": "~10.0.0", - "enquirer": "~2.3.6", - "fast-glob": "3.2.7", - "figures": "3.2.0", - "flat": "^5.0.2", - "fs-extra": "^10.1.0", - "glob": "7.1.4", - "ignore": "^5.0.4", - "js-yaml": "4.1.0", - "jsonc-parser": "3.2.0", - "minimatch": "3.0.5", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "semver": "7.3.4", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "v8-compile-cache": "2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js" - }, - "peerDependencies": { - "@swc-node/register": "^1.4.2", - "@swc/core": "^1.2.173" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "@swc/core": { - "optional": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ] }, - "node_modules/nx/node_modules/@zkochan/js-yaml": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", - "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", + "node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "node_modules/nx/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==", + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/nx/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/nx/node_modules/axios": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", - "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/nx/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "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==", "dev": true, + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "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==", "dev": true, + "peer": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/nx/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/nx/node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "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==", "dev": true, + "peer": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "kind-of": "^3.2.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "peer": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" + "ms": "2.0.0" } }, - "node_modules/nx/node_modules/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "peer": 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" + "is-descriptor": "^0.1.0" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/nx/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==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/snapdragon/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "peer": true, "dependencies": { - "argparse": "^2.0.1" + "kind-of": "^3.0.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "node_modules/snapdragon/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "brace-expansion": "^1.1.7" + "is-buffer": "^1.1.5" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "node_modules/snapdragon/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "peer": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/nx/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==", + "node_modules/snapdragon/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "node_modules/nx/node_modules/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==", + "node_modules/snapdragon/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==", "dev": true, + "peer": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "node_modules/snapdragon/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==", "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, + "peer": true, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/nx/node_modules/yargs/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, + "peer": true, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "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==", + "node_modules/socket.io": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", + "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", "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" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.1", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.1" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "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==", + "node_modules/socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "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==", + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=6" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "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==", + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">= 10" } }, - "node_modules/nyc/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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": { - "glob": "^7.1.3" + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" }, "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/nyc/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "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.", - "dev": true, - "bin": { - "uuid": "bin/uuid" + "solcjs": "solcjs" } }, - "node_modules/nyc/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==", + "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": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "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": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "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": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, + "node_modules/solc/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true, "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/solc/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, - "node_modules/object-copy/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/solc/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "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": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "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/object-copy/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==", + "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/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/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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "number-is-nan": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy/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/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/solc/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": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "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/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/solc/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/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "node_modules/solc/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, "dependencies": { - "isobject": "^3.0.0" + "error-ex": "^1.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "node_modules/solc/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, "dependencies": { - "isobject": "^3.0.1" + "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/solc/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, "dependencies": { - "ee-first": "1.1.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" + "node_modules/solc/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/solc/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "node_modules/solc/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": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "dev": true, "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "node_modules/solc/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "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" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "semver": "bin/semver" } }, - "node_modules/ora/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==", + "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": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/solc/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "is-utf8": "^0.2.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/ora/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/solc/node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", "dev": true }, - "node_modules/ora/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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==", + "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": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "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/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "dev": true, - "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": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "node_modules/solc/node_modules/yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", "dev": true, "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", - "dev": true, - "engines": { - "node": ">= 0.4.0" + "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/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "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": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" } }, - "node_modules/outpipe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", - "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==", + "node_modules/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, - "peer": true, "dependencies": { - "shell-quote": "^1.4.2" - } - }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "engines": { - "node": ">=12.20" - } - }, - "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==", + "is-plain-obj": "^2.0.0" + }, "engines": { "node": ">=8" }, @@ -22749,1193 +21920,1118 @@ "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": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "node_modules/sort-keys/node_modules/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, "engines": { - "node": ">=4" + "node": ">=8" } }, - "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" - }, + "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": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "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==", + "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==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, + "peer": true, "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "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/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==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/p-map-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", - "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", + "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==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true, - "engines": { - "node": ">=8" - } + "peer": true }, - "node_modules/p-pipe": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", - "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "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, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "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/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "node_modules/spawn-wrap/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - }, - "engines": { - "node": ">=8" + "glob": "^7.1.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/p-reduce": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", - "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/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==", + "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==", + "dev": true + }, + "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==", "dev": true, "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "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/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true }, - "node_modules/p-waterfall": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz", - "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==", + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, "dependencies": { - "p-reduce": "^2.0.0" + "through": "2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "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==", + "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==", "dev": true, + "peer": true, "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "extend-shallow": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pacote": { - "version": "13.6.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz", - "integrity": "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==", + "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": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11" + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "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": { - "pacote": "lib/bin.js" + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": "*" } }, - "node_modules/pacote/node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, + "peer": true, "dependencies": { - "semver": "^7.0.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "peer": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "node_modules/static-extend/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "peer": true, "dependencies": { - "lru-cache": "^7.5.1" + "kind-of": "^3.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "node_modules/static-extend/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "node_modules/static-extend/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "peer": true, "dependencies": { - "brace-expansion": "^2.0.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/static-extend/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "node_modules/static-extend/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==", "dev": true, + "peer": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "node_modules/static-extend/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==", "dev": true, + "peer": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/pacote/node_modules/npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.6" } }, - "node_modules/pacote/node_modules/read-package-json": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", - "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dev": true, "dependencies": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" } }, - "node_modules/pacote/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, - "node_modules/pacote/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "node_modules/stream-combiner2/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==", "dev": true, "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "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/pacote/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "safe-buffer": "~5.1.0" } }, - "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/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==", + "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": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" } }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "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, - "engines": { - "node": ">=6" + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "node_modules/stream-splicer/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==", "dev": true, "dependencies": { - "path-platform": "~0.11.15" + "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/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "node_modules/stream-splicer/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-splicer/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "safe-buffer": "~5.1.0" } }, - "node_modules/parse-conflict-json": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz", - "integrity": "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==", + "node_modules/streamroller": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz", + "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^2.3.1", - "just-diff": "^5.0.1", - "just-diff-apply": "^5.2.0" + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8.0" } }, - "node_modules/parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "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": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=6 <7 || >=8" } }, - "node_modules/parse-path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", - "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "node_modules/streamroller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "dependencies": { - "protocols": "^2.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/parse-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", - "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "node_modules/streamroller/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==", "dev": true, - "dependencies": { - "parse-path": "^7.0.0" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "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": ">= 4.0.0" } }, - "node_modules/parsimmon": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz", - "integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==" - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "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": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true, "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": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "peer": true + "dependencies": { + "safe-buffer": "~5.2.0" + } }, - "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==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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==", + "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==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "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==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/path-to-regexp": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", - "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==", - "dev": true - }, - "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==", + "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": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", "dev": true, "dependencies": { - "pify": "^3.0.0" + "is-hex-prefixed": "1.0.0" }, "engines": { - "node": ">=4" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/path-type/node_modules/pify": { + "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "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": ">=4" + "node": ">=8" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "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": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", "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" + "bin": { + "strip-json-comments": "cli.js" }, "engines": { - "node": ">=0.12" + "node": ">=0.8.0" } }, - "node_modules/performance-now": { + "node_modules/strong-log-transformer": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "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==", + "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": ">=6" + "node": ">=4" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "minimist": "^1.1.0" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "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==", "dev": true, "dependencies": { - "pinkie": "^2.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/swarm-js": { + "version": "0.1.42", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", + "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", + "dev": true, "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^11.8.5", + "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/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==", + "node_modules/swarm-js/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "defer-to-connect": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/swarm-js/node_modules/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==", + "dev": true + }, + "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==", + "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": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "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" - }, + "node_modules/swarm-js/node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10.6.0" } }, - "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==", + "node_modules/swarm-js/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/swarm-js/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "mimic-response": "^3.1.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": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==", "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" + "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/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" + "node_modules/swarm-js/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==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "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==", + "node_modules/swarm-js/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==", + "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" + "minipass": "^2.6.0" } }, - "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==", + "node_modules/swarm-js/node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.19.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sindresorhus/got?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==", + "node_modules/swarm-js/node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10.19.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==", + "node_modules/swarm-js/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "dependencies": { - "chalk": "2.1.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "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==", + "node_modules/swarm-js/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, - "dependencies": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "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": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", + "node_modules/swarm-js/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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": "sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==", + "node_modules/swarm-js/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==", "dev": true, "dependencies": { - "has-flag": "^2.0.0" - }, - "engines": { - "node": ">=4" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "node_modules/proc-log": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", - "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "node_modules/swarm-js/node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" + "dependencies": { + "minipass": "^2.9.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==", - "devOptional": true - }, - "node_modules/promise-all-reject-late": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", - "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "node_modules/swarm-js/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/promise-call-limit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz", - "integrity": "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==", + "node_modules/swarm-js/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "node_modules/swarm-js/node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", "dev": true, "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "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" }, "engines": { - "node": ">=10" + "node": ">=4.5" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, + "node_modules/swarm-js/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==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">= 4.0.0" } }, - "node_modules/promzard": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", - "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==", + "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==", "dev": true, "dependencies": { - "read": "1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "node_modules/swarm-js/node_modules/ws/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/protocols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", - "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "node_modules/swarm-js/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "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": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" + "acorn-node": "^1.2.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "node_modules/tar": { + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", + "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "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": { - "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" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, - "node_modules/public-encrypt/node_modules/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==", + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "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==", + "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==", + "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "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/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true, "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=4" } }, - "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==", + "node_modules/terser": { + "version": "5.16.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", + "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=0.9" + "node": ">=10" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" }, "engines": { - "node": ">=0.6" + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "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==", + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, - "engines": { - "node": ">=0.4.x" + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "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/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": ">=0.4.x" + "node": ">=6" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "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==", - "dev": true, - "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.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "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==", + "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": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/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": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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/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/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "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, - "dependencies": { - "mute-stream": "~0.0.4" - }, "engines": { - "node": ">=0.8" + "node": ">=0.10" } }, - "node_modules/read-cmd-shim": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz", - "integrity": "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, - "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": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "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.0.2" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/read-only-stream/node_modules/readable-stream": { + "node_modules/through2/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==", @@ -23950,13 +23046,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/read-only-stream/node_modules/safe-buffer": { + "node_modules/through2/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/read-only-stream/node_modules/string_decoder": { + "node_modules/through2/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -23965,204 +23061,197 @@ "safe-buffer": "~5.1.0" } }, - "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==", + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", "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" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "process": "~0.11.0" }, "engines": { - "node": ">=10" + "node": ">=0.6.0" } }, - "node_modules/read-package-json/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/read-package-json/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==", + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "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" + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" } }, - "node_modules/read-package-json/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=4" } }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "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": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, + "peer": true, "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "peer": true, "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "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==", "dev": true, + "peer": true, "dependencies": { - "locate-path": "^2.0.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "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": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=8.0" } }, - "node_modules/read-pkg-up/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==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, "engines": { - "node": ">=4" + "node": ">=0.6" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" + "punycode": "^2.1.0" } }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/tr46/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==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/treeverse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-2.0.0.tgz", + "integrity": "sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A==", "dev": true, "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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/read-pkg/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": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "node_modules/trim-newlines": { + "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, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "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==", + "node_modules/ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", "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" + "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/read-pkg/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "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==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.3.1" } }, - "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==", + "node_modules/tsconfig-paths": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.2.tgz", + "integrity": "sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/read-pkg/node_modules/strip-bom": { + "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", @@ -24171,594 +23260,659 @@ "node": ">=4" } }, - "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==", + "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": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">= 6" + "node": "*" } }, - "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==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "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==", "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">=4" } }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "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==", "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, "engines": { - "node": ">= 10.13.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "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==", "dev": true, "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "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==", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "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==", "dev": true, "dependencies": { - "regenerate": "^1.4.2" + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz", + "integrity": "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4" + "node": ">=4.2.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "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" - }, + "node_modules/ua-parser-js": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">=4" + "node": ">=0.8.0" } }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "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==", "dev": true }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "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, - "dependencies": { - "jsesc": "~0.5.0" - }, "bin": { - "regjsparser": "bin/parser" + "umd": "bin/cli.js" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "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": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "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": { - "es6-error": "^4.0.1" + "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" }, - "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": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" - }, - "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": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" + "bin": { + "undeclared-identifiers": "bin.js" } }, - "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" - }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/request/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==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">= 0.12" + "node": ">=4" } }, - "node_modules/request/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, "engines": { - "node": ">=0.6" + "node": ">=4" } }, - "node_modules/request/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==", + "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==", + "dev": true, + "peer": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "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/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "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": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "peer": 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": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "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": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "unique-slug": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, - "node_modules/resolve-cwd": { + "node_modules/unique-slug": { "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==", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, "dependencies": { - "resolve-from": "^5.0.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/resolve-cwd/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==", + "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/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 10.0.0" } }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "peer": true, "dependencies": { - "lowercase-keys": "^2.0.0" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/responselike/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" + "node": ">=0.10.0" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "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": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, + "peer": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "peer": true, + "dependencies": { + "isarray": "1.0.0" + }, "engines": { - "node": ">=0.12" + "node": ">=0.10.0" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "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": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "peer": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", "dev": true, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=4", + "yarn": "*" } }, - "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": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "glob": "^7.1.3" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "browserslist-lint": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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" + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { - "bn.js": "^5.2.0" - }, - "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.*" + "punycode": "^2.1.0" } }, - "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==", + "node_modules/uri-js/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==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "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==", + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", "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" - } + "peer": true }, - "node_modules/rxjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz", - "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==", + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "dev": true, "dependencies": { - "tslib": "^2.1.0" + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "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": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", "dev": true }, - "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/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "node_modules/url/node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "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==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "dev": true, + "hasInstallScript": true, "dependencies": { - "ret": "~0.1.10" + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" } }, - "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/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true }, - "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==", + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, "dependencies": { - "require-like": "0.1.2", - "stack-trace": "0.0.9" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "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", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/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/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, "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" + "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": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/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": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "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": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wait-port": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.14.tgz", + "integrity": "sha512-kIzjWcr6ykl7WFbZd0TMae8xovwqcqbx6FM9l+7agOgUByhzdjfzZBPK2CPufldTOMxbUivss//Sh9MFawmPRQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "commander": "^3.0.2", + "debug": "^4.1.1" }, "bin": { - "sane": "src/cli.js" + "wait-port": "bin/wait-port.js" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "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/walk-up-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", + "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==", + "dev": true + }, + "node_modules/watchify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", + "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==", + "dev": true, + "peer": true, + "dependencies": { + "anymatch": "^2.0.0", + "browserify": "^16.1.0", + "chokidar": "^2.1.1", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "watchify": "bin/cmd.js" } }, - "node_modules/sane/node_modules/anymatch": { + "node_modules/watchify/node_modules/anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "peer": true, "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" } }, - "node_modules/sane/node_modules/braces": { + "node_modules/watchify/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": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "peer": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "peer": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -24775,10 +23929,12 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "node_modules/watchify/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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -24786,42 +23942,36 @@ "node": ">=0.10.0" } }, - "node_modules/sane/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==", + "node_modules/watchify/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "peer": true, "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/sane/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" + "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" }, - "engines": { - "node": ">=6" + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "node_modules/sane/node_modules/fill-range": { + "node_modules/watchify/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "peer": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -24832,10 +23982,12 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "node_modules/watchify/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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -24843,29 +23995,79 @@ "node": ">=0.10.0" } }, - "node_modules/sane/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==", + "node_modules/watchify/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": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "dependencies": { - "pump": "^3.0.0" + "bindings": "^1.5.0", + "nan": "^2.12.1" }, "engines": { - "node": ">=6" + "node": ">= 4.0" + } + }, + "node_modules/watchify/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "peer": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchify/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": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/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": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "peer": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-extendable": { + "node_modules/watchify/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-number": { + "node_modules/watchify/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -24873,10 +24075,12 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "node_modules/watchify/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -24884,18 +24088,12 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/micromatch": { + "node_modules/watchify/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "peer": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -24915,67 +24113,60 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/watchify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "peer": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "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/sane/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": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "node_modules/watchify/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, + "peer": true, "dependencies": { - "path-key": "^2.0.0" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/sane/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/sane/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/watchify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "peer": true }, - "node_modules/sane/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/watchify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "peer": true, "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/sane/node_modules/to-regex-range": { + "node_modules/watchify/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": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "peer": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -24984,8942 +24175,3135 @@ "node": ">=0.10.0" } }, - "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" - }, + "node_modules/watchify/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, + "peer": true, "engines": { - "node": ">=10" + "node": ">=4", + "yarn": "*" } }, - "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==", + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=10.13.0" } }, - "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/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "node_modules/web3": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.9.0.tgz", + "integrity": "sha512-E9IvVy/d2ozfQQsCiV+zh/LmlZGv9fQxI0UedDVjm87yOKf4AYbBNEn1iWtHveiGzAk2CEMZMUzAZzaQNSSYog==", + "dev": true, "hasInstallScript": true, "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "web3-bzz": "1.9.0", + "web3-core": "1.9.0", + "web3-eth": "1.9.0", + "web3-eth-personal": "1.9.0", + "web3-net": "1.9.0", + "web3-shh": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=8.0.0" } }, - "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/web3-bzz": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.9.0.tgz", + "integrity": "sha512-9Zli9dikX8GdHwBb5/WPzpSVuy3EWMKY3P4EokCQra31fD7DLizqAAaTUsFwnK7xYkw5ogpHgelw9uKHHzNajg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/node": "^12.12.6", + "got": "12.1.0", + "swarm-js": "^0.1.40" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/web3-core": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.9.0.tgz", + "integrity": "sha512-DZ+TPmq/ZLlx4LSVzFgrHCP/QFpKDbGWO4HoquZSdu24cjk5SZ+FEU1SZB2OaK3/bgBh+25mRbmv8y56ysUu1w==", + "dev": true, "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "@types/bn.js": "^5.1.1", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.9.0", + "web3-core-method": "1.9.0", + "web3-core-requestmanager": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/web3-core-helpers": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.9.0.tgz", + "integrity": "sha512-NeJzylAp9Yj9xAt2uTT+kyug3X0DLnfBdnAcGZuY6HhoNPDIfQRA9CkJjLngVRlGTLZGjNp9x9eR+RyZQgUlXg==", + "dev": true, "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/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" + "web3-eth-iban": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/send/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==" - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" + "node": ">=8.0.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "node_modules/web3-core-method": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.9.0.tgz", + "integrity": "sha512-sswbNsY2xRBBhGeaLt9c/eDc+0yDDhi6keUBAkgIRa9ueSx/VKzUY9HMqiV6bXDcGT2fJyejq74FfEB4lc/+/w==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "@ethersproject/transactions": "^5.6.2", + "web3-core-helpers": "1.9.0", + "web3-core-promievent": "1.9.0", + "web3-core-subscriptions": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.0" } }, - "node_modules/servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "node_modules/web3-core-promievent": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.9.0.tgz", + "integrity": "sha512-PHG1Mn23IGwMZhnPDN8dETKypqsFbHfiyRqP+XsVMPmTHkVfzDQTCBU/c2r6hUktBDoGKut5xZQpGfhFk71KbQ==", + "dev": true, "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" + "eventemitter3": "4.0.4" }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "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==", + "node_modules/web3-core-requestmanager": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.9.0.tgz", + "integrity": "sha512-hcJ5PCtTIJpj+8qWxoseqlCovDo94JJjTX7dZOLXgwp8ah7E3WRYozhGyZocerx+KebKyg1mCQIhkDpMwjfo9Q==", + "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "util": "^0.12.5", + "web3-core-helpers": "1.9.0", + "web3-providers-http": "1.9.0", + "web3-providers-ipc": "1.9.0", + "web3-providers-ws": "1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/web3-core-subscriptions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.9.0.tgz", + "integrity": "sha512-MaIo29yz7hTV8X8bioclPDbHFOVuHmnbMv+D3PDH12ceJFJAXGyW8GL5KU1DYyWIj4TD1HM4WknyVA/YWBiiLA==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.9.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/set-value/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==", + "node_modules/web3-eth": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.9.0.tgz", + "integrity": "sha512-c5gSWk9bLNr6VPATHmZ1n7LTIefIZQnJMzfnvkoBcIFGKJbGmsuRhv6lEXsKdAO/FlqYnSbaw3fOq1fVFiIOFQ==", + "dev": true, "dependencies": { - "isobject": "^3.0.1" + "web3-core": "1.9.0", + "web3-core-helpers": "1.9.0", + "web3-core-method": "1.9.0", + "web3-core-subscriptions": "1.9.0", + "web3-eth-abi": "1.9.0", + "web3-eth-accounts": "1.9.0", + "web3-eth-contract": "1.9.0", + "web3-eth-ens": "1.9.0", + "web3-eth-iban": "1.9.0", + "web3-eth-personal": "1.9.0", + "web3-net": "1.9.0", + "web3-utils": "1.9.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": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "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": ">=8.0.0" } }, - "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==", + "node_modules/web3-eth-abi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.9.0.tgz", + "integrity": "sha512-0BLQ3FKMrzJkA930jOX3fMaybAyubk06HChclLpiR0NWmgWXm1tmBrJdkyRy2ZTZpmfuZc9xTFRfl0yZID1voA==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", - "dev": true, - "dependencies": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" + "node": ">=8.0.0" } }, - "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==", + "node_modules/web3-eth-accounts": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.9.0.tgz", + "integrity": "sha512-VeIZVevmnSll0AC1k5F/y398ZE89d1SRuYk8IewLUhL/tVAsFEsjl2SGgm0+aDcHmgPrkW+qsCJ+C7rWg/N4ZA==", "dev": true, "dependencies": { - "fast-safe-stringify": "^2.0.7" - } - }, - "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" + "@ethereumjs/common": "2.5.0", + "@ethereumjs/tx": "3.3.2", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.1.5", + "scrypt-js": "^3.0.1", + "uuid": "^9.0.0", + "web3-core": "1.9.0", + "web3-core-helpers": "1.9.0", + "web3-core-method": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=8" - } - }, - "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": ">=8.0.0" } }, - "node_modules/shell-quote": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", - "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "node_modules/web3-eth-contract": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.9.0.tgz", + "integrity": "sha512-+j26hpSaEtAdUed0TN5rnc+YZOcjPxMjFX4ZBKatvFkImdbVv/tzTvcHlltubSpgb2ZLyZ89lSL6phKYwd2zNQ==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "@types/bn.js": "^5.1.1", + "web3-core": "1.9.0", + "web3-core-helpers": "1.9.0", + "web3-core-method": "1.9.0", + "web3-core-promievent": "1.9.0", + "web3-core-subscriptions": "1.9.0", + "web3-eth-abi": "1.9.0", + "web3-utils": "1.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "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": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "node_modules/web3-eth-ens": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.9.0.tgz", + "integrity": "sha512-LOJZeN+AGe9arhuExnrPPFYQr4WSxXEkpvYIlst/joOEUNLDwfndHnJIK6PI5mXaYSROBtTx6erv+HupzGo7vA==", "dev": true, "dependencies": { - "decompress-response": "^4.2.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": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.9.0", + "web3-core-helpers": "1.9.0", + "web3-core-promievent": "1.9.0", + "web3-eth-abi": "1.9.0", + "web3-eth-contract": "1.9.0", + "web3-utils": "1.9.0" + }, "engines": { - "node": "*" + "node": ">=8.0.0" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/web3-eth-iban": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.9.0.tgz", + "integrity": "sha512-jPAm77PuEs1kE/UrrBFJdPD2PN42pwfXA0gFuuw35bZezhskYML9W4QCxcqnUtceyEA4FUn7K2qTMuCk+23fog==", "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" + "bn.js": "^5.2.1", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.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==", + "node_modules/web3-eth-personal": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.9.0.tgz", + "integrity": "sha512-r9Ldo/luBqJlv1vCUEQnUS+C3a3ZdbYxVHyfDkj6RWMyCqqo8JE41HWE+pfa0RmB1xnGL2g8TbYcHcqItck/qg==", + "dev": true, "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "@types/node": "^12.12.6", + "web3-core": "1.9.0", + "web3-core-helpers": "1.9.0", + "web3-core-method": "1.9.0", + "web3-net": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/web3-net": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.9.0.tgz", + "integrity": "sha512-L+fDZFgrLM5Y15aonl2q6L+RvfaImAngmC0Jv45hV2FJ5IfRT0/2ob9etxZmvEBWvOpbqSvghfOhJIT3XZ37Pg==", + "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "web3-core": "1.9.0", + "web3-core-method": "1.9.0", + "web3-utils": "1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.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==", + "node_modules/web3-providers-http": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.9.0.tgz", + "integrity": "sha512-5+dMNDAE0rRFz6SJpfnBqlVi2J5bB/Ivr2SanMt2YUrkxW5t8betZbzVwRkTbwtUvkqgj3xeUQzqpOttiv+IqQ==", + "dev": true, "dependencies": { - "kind-of": "^3.2.0" + "abortcontroller-polyfill": "^1.7.3", + "cross-fetch": "^3.1.4", + "es6-promise": "^4.2.8", + "web3-core-helpers": "1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/web3-providers-ipc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.9.0.tgz", + "integrity": "sha512-cPXU93Du40HCylvjaa5x62DbnGqH+86HpK/+kMcFIzF6sDUBhKpag2tSbYhGbj7GMpfkmDTUiiMLdWnFV6+uBA==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "oboe": "2.1.5", + "web3-core-helpers": "1.9.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/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": ">=8.0.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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/web3-providers-ws": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.9.0.tgz", + "integrity": "sha512-JRVsnQZ7j2k1a2yzBNHe39xqk1ijOv01dfIBFw52VeEkSRzvrOcsPIM/ttSyBuJqt70ntMxXY0ekCrqfleKH/w==", + "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.9.0", + "websocket": "^1.0.32" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/web3-shh": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.9.0.tgz", + "integrity": "sha512-bIBZlralgz4ICCrwkefB2nPPJWfx28NuHIpjB7d9ADKynElubQuqudYhKtSEkKXACuME/BJm0pIFJcJs/gDnMg==", + "dev": true, + "hasInstallScript": true, "dependencies": { - "is-extendable": "^0.1.0" + "web3-core": "1.9.0", + "web3-core-method": "1.9.0", + "web3-core-subscriptions": "1.9.0", + "web3-net": "1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/snapdragon/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/web3-utils": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", + "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/snapdragon/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.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/snapdragon/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/webpack": { + "version": "5.76.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", + "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/snapdragon/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/webpack-cli": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", + "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.0.1", + "@webpack-cli/info": "^2.0.1", + "@webpack-cli/serve": "^2.0.1", + "colorette": "^2.0.14", + "commander": "^9.4.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/snapdragon/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" - }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || >=14" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/snapdragon/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==", + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/webpack/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.10.0" + "node": ">=0.8.x" } }, - "node_modules/socket.io": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", - "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.1", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=10.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", - "dev": true - }, - "node_modules/socket.io-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", - "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "node_modules/websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", "dev": true, "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" + "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": ">=10.0.0" + "node": ">=4.0.0" } }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "node_modules/websocket/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "ms": "2.0.0" } }, - "node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "node_modules/websocket/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "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==", + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "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" + "isexe": "^2.0.0" }, "bin": { - "solcjs": "solcjs" + "which": "bin/which" } }, - "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": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/solc/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/solc/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "node_modules/solc/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "bin": { + "window-size": "cli.js" }, "engines": { - "node": ">=0.10.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": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "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": ">= 0.10.0" } }, - "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==", + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "node_modules/solc/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/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", "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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "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": { - "number-is-nan": "^1.0.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=6" } }, - "node_modules/solc/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": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "node_modules/wrap-ansi/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/wrap-ansi/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "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": ">=4" } }, - "node_modules/solc/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==", + "node_modules/wrap-ansi/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": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/solc/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "node_modules/wrap-ansi/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": { - "error-ex": "^1.2.0" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/solc/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/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, "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/solc/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "node_modules/write-json-file": { + "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, "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.3" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/solc/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/write-json-file/node_modules/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, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/solc/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "node_modules/write-json-file/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": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "semver": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/solc/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": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, + "node_modules/write-pkg": { + "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, "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true + "node_modules/write-pkg/node_modules/detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/solc/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/write-pkg/node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "is-plain-obj": "^1.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=4" } }, - "node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/write-pkg/node_modules/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, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=6" } }, - "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": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "node_modules/write-pkg/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": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "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": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/write-pkg/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": { - "ansi-regex": "^2.0.0" + "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": ">=0.10.0" + "node": ">=6" } }, - "node_modules/solc/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "node_modules/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, - "dependencies": { - "is-utf8": "^0.2.0" - }, "engines": { - "node": ">=0.10.0" + "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/solc/node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "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": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "dev": true, "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.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": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", + "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==", "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" + "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/solc/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", + "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==", "dev": true, "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" + "xhr-request": "^1.1.0" } }, - "node_modules/sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "node_modules/xhr-request/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "dev": true, "dependencies": { - "is-plain-obj": "^2.0.0" + "mimic-response": "^1.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/sort-keys/node_modules/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==", + "node_modules/xhr-request/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==", "dev": true, "engines": { - "node": ">=8" - } - }, - "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-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==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "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.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "node": ">=4" } }, - "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==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" - }, - "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==", + "node_modules/xhr-request/node_modules/simple-get": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", + "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", "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" + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.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" + "engines": { + "node": ">=0.4" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + "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==", + "dev": true }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "node_modules/yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", "dev": true, - "dependencies": { - "through": "2" - }, "engines": { - "node": "*" + "node": ">=0.10.32" } }, - "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" - }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "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": { - "readable-stream": "^3.0.0" + "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/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "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" - }, + "node_modules/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, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, "dependencies": { - "minipass": "^3.1.1" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/stack-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==", + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/yargs-unparser/node_modules/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, "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": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/yargs/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/static-extend/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": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/yargs/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/yargs/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": { - "is-buffer": "^1.1.5" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/static-extend/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": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/yargs/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": { - "kind-of": "^3.0.2" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/static-extend/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/yargs/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": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "node_modules/static-extend/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/static-extend/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==", + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "@babel/cli": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.19.3.tgz", + "integrity": "sha512-643/TybmaCAe101m2tSVHi9UKpETXP9c/Ff4mD2tAwkdP6esKIfaauZFc67vGEM6r9fekbEGid+sZhbEnSe3dg==", "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" + "requires": { + "@jridgewell/trace-mapping": "^0.3.8", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" } }, - "node_modules/stream-combiner2/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==", + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "requires": { + "@babel/highlight": "^7.18.6" } }, - "node_modules/stream-combiner2/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==", + "@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", "dev": true }, - "node_modules/stream-combiner2/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==", + "@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.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==", + "@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", "dev": true, + "requires": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, - "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==", + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/stream-splicer/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==", + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" } }, - "node_modules/stream-splicer/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/stream-splicer/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==", + "@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" } }, - "node_modules/streamroller": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz", - "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==", + "@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" } }, - "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==", + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" } }, - "node_modules/streamroller/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" } }, - "node_modules/streamroller/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==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "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": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", - "engines": { - "node": ">=0.10.0" + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.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" + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" } }, - "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" + "@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "engines": { - "node": ">=0.10.0" + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" } }, - "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" - } + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true }, - "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": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" } }, - "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==", + "@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, - "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": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, - "bin": { - "strip-json-comments": "cli.js" - }, - "engines": { - "node": ">=0.8.0" + "requires": { + "@babel/types": "^7.20.2" } }, - "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==", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "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" + "requires": { + "@babel/types": "^7.20.0" } }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "dependencies": { - "minimist": "^1.1.0" + "requires": { + "@babel/types": "^7.18.6" } }, - "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" - } + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true }, - "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" - } + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, - "node_modules/swarm-js": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", - "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^11.8.5", - "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" + "@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, - "node_modules/swarm-js/node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "node_modules/swarm-js/node_modules/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==" + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true }, - "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" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/swarm-js/node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "engines": { - "node": ">=10.6.0" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" } }, - "node_modules/swarm-js/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/swarm-js/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "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" + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/swarm-js/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" + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, - "node_modules/swarm-js/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" + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, - "node_modules/swarm-js/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "node_modules/swarm-js/node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, - "node_modules/swarm-js/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, - "node_modules/swarm-js/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" + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, - "node_modules/swarm-js/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, - "node_modules/swarm-js/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" + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" } }, - "node_modules/swarm-js/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" + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, - "node_modules/swarm-js/node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "engines": { - "node": ">=8" + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, - "node_modules/swarm-js/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/swarm-js/node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=4.5" + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, - "node_modules/swarm-js/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" + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "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" + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/swarm-js/node_modules/ws/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==" + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "node_modules/swarm-js/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "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==" + "@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" + } }, - "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==", + "@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": { - "acorn-node": "^1.2.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" } }, - "node_modules/tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "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==", + "@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==", "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "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/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" + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "@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==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.10.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" + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/terser": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", - "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", + "@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==", "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "@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==", "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "dependencies": { - "randombytes": "^2.1.0" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "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/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==", + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "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" + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" } }, - "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==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "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==", + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", "dev": true, - "engines": { - "node": ">=0.10" + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" } }, - "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": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "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==", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/through2/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==", + "@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" } }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "engines": { - "node": ">=0.10.0" + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", + "@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "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" + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "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": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.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" + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" } }, - "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" + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" + "@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" } }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" + "@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" + "@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" } }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", "dev": true, - "dependencies": { - "punycode": "^2.1.0" + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/tr46/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==", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/treeverse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-2.0.0.tgz", - "integrity": "sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A==", + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" } }, - "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" + "@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/ts-jest/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" + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" } }, - "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" + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "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" + "@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" } }, - "node_modules/tsconfig-paths": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.2.tgz", - "integrity": "sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" } }, - "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" + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "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/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" + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/tslint/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" + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "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" + "@babel/plugin-transform-typescript": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", + "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" } }, - "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": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "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": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "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" + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@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.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" } }, - "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" + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "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" } }, - "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" + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + "@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } }, - "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" + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" } }, - "node_modules/typescript": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz", - "integrity": "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" } }, - "node_modules/ua-parser-js": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", - "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", + "@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" } }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "@chainsafe/geth-dev-assistant": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@chainsafe/geth-dev-assistant/-/geth-dev-assistant-0.1.11.tgz", + "integrity": "sha512-FbkHhSD346q8RpZcUuyBLyUfCYqFK36lsWIaNmvsYdOF7X5I0sf1ztcXq+FA+Wvy3EeSO15GvrsCA73NDFQoDQ==", "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" + "requires": { + "colors": "^1.3.3", + "node-emoji": "^1.10.0", + "web3": "^1.4.0", + "yargs": "^13.2.2" } }, - "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==" + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "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==", + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@ensdomains/ens": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.6.2.tgz", + "integrity": "sha512-F3ALgp60HZq3rKqNig7H/rAlBB0zuz4C9q2weCoiPjSW91uvjetXhCGBU2YJCD1tyuKnO/KqTDzUN5Dc8HLlaQ==", "dev": true, - "bin": { - "umd": "bin/cli.js" + "requires": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1" } }, - "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": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "@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.5.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", + "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.1" } }, - "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==", + "@ethereumjs/tx": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", + "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", "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" + "requires": { + "@ethereumjs/common": "^2.5.0", + "ethereumjs-util": "^7.1.2" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" } }, - "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" + "@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" + "@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, - "node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "dev": true, - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" } }, - "node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "requires": { + "@ethersproject/logger": "^5.7.0" } }, - "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 + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", "dev": true, - "engines": { - "node": ">= 10.0.0" + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.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": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" } }, - "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": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dependencies": { - "isarray": "1.0.0" + "@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true + } } }, - "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": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "engines": { - "node": ">=0.10.0" - } + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "dev": true }, - "node_modules/upath": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" + "requires": { + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" } }, - "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" + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/uri-js/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" + "@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "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": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "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": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==" - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true - }, - "node_modules/url/node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "dev": true, - "engines": { - "node": ">=0.4.x" + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" } }, - "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" + "@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" + "@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.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.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "bin": { - "uuid": "dist/bin/uuid" + "@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "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" + "@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" } }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, - "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" + "@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.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": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", - "dependencies": { - "builtins": "^1.0.3" - } + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "@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 }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } + "@isaacs/string-locale-compare": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", + "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", + "dev": true }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/verror/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": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true }, - "node_modules/vm-browserify": { + "@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", "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==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "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" + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wait-port": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.14.tgz", - "integrity": "sha512-kIzjWcr6ykl7WFbZd0TMae8xovwqcqbx6FM9l+7agOgUByhzdjfzZBPK2CPufldTOMxbUivss//Sh9MFawmPRQ==", - "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" + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, - "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/walk-up-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", - "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==", + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", - "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==", + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, - "peer": true, - "dependencies": { - "anymatch": "^2.0.0", - "browserify": "^16.1.0", - "chokidar": "^2.1.1", - "defined": "^1.0.0", - "outpipe": "^1.1.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "watchify": "bin/cmd.js" + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/watchify/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@lerna/add": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-6.1.0.tgz", + "integrity": "sha512-f2cAeS1mE/p7QvSRn5TCgdUXw6QVbu8PeRxaTOxTThhTdJIWdXZfY00QjAsU6jw1PdYXK1qGUSwWOPkdR16mBg==", "dev": true, - "peer": true, + "requires": { + "@lerna/bootstrap": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/npm-conf": "6.1.0", + "@lerna/validation-error": "6.1.0", + "dedent": "^0.7.0", + "npm-package-arg": "8.1.1", + "p-map": "^4.0.0", + "pacote": "^13.6.1", + "semver": "^7.3.4" + }, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "node_modules/watchify/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": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "@lerna/bootstrap": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-6.1.0.tgz", + "integrity": "sha512-aDxKqgxexVj/Z0B1aPu7P1iPbPqhk1FPkl/iayCmPlkAh90pYEH0uVytGzi1hFB5iXEfG7Pa6azGQywUodx/1g==", "dev": true, - "peer": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" + "requires": { + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/has-npm-version": "6.1.0", + "@lerna/npm-install": "6.1.0", + "@lerna/package-graph": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/rimraf-dir": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/symlink-binary": "6.1.0", + "@lerna/symlink-dependencies": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@npmcli/arborist": "5.3.0", + "dedent": "^0.7.0", + "get-port": "^5.1.1", + "multimatch": "^5.0.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1", + "semver": "^7.3.4" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "node_modules/watchify/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "@lerna/changed": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-6.1.0.tgz", + "integrity": "sha512-p7C2tf1scmvoUC1Osck/XIKVKXAQ8m8neL8/rfgKSYsvUVjsOB1LbF5HH1VUZntE6S4OxkRxUQGkAHVf5xrGqw==", "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@lerna/collect-updates": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/listable": "6.1.0", + "@lerna/output": "6.1.0" } }, - "node_modules/watchify/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "@lerna/check-working-tree": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-6.1.0.tgz", + "integrity": "sha512-hSciDmRqsNPevMhAD+SYbnhjatdb7UUu9W8vTyGtUXkrq2xtRZU0vAOgqovV8meirRkbC41pZePYKqyQtF0y3w==", "dev": true, - "peer": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@lerna/collect-uncommitted": "6.1.0", + "@lerna/describe-ref": "6.1.0", + "@lerna/validation-error": "6.1.0" } }, - "node_modules/watchify/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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "@lerna/child-process": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.1.0.tgz", + "integrity": "sha512-jhr3sCFeps6Y15SCrWEPvqE64i+QLOTSh+OzxlziCBf7ZEUu7sF0yA4n5bAqw8j43yCKhhjkf/ZLYxZe+pnl3Q==", "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" + "requires": { + "chalk": "^4.1.0", + "execa": "^5.0.0", + "strong-log-transformer": "^2.1.0" }, - "engines": { - "node": ">=0.10.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 + }, + "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" + } + } } }, - "node_modules/watchify/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "peer": 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/watchify/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "peer": true, - "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/watchify/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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/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": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchify/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "peer": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchify/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": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "peer": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/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": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "peer": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "peer": true, - "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/watchify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "peer": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/watchify/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, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "peer": true - }, - "node_modules/watchify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/watchify/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": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "peer": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchify/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, - "peer": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web3": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.9.0.tgz", - "integrity": "sha512-E9IvVy/d2ozfQQsCiV+zh/LmlZGv9fQxI0UedDVjm87yOKf4AYbBNEn1iWtHveiGzAk2CEMZMUzAZzaQNSSYog==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.9.0", - "web3-core": "1.9.0", - "web3-eth": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-shh": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.9.0.tgz", - "integrity": "sha512-9Zli9dikX8GdHwBb5/WPzpSVuy3EWMKY3P4EokCQra31fD7DLizqAAaTUsFwnK7xYkw5ogpHgelw9uKHHzNajg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.9.0.tgz", - "integrity": "sha512-DZ+TPmq/ZLlx4LSVzFgrHCP/QFpKDbGWO4HoquZSdu24cjk5SZ+FEU1SZB2OaK3/bgBh+25mRbmv8y56ysUu1w==", - "dev": true, - "dependencies": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-requestmanager": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.9.0.tgz", - "integrity": "sha512-NeJzylAp9Yj9xAt2uTT+kyug3X0DLnfBdnAcGZuY6HhoNPDIfQRA9CkJjLngVRlGTLZGjNp9x9eR+RyZQgUlXg==", - "dev": true, - "dependencies": { - "web3-eth-iban": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.9.0.tgz", - "integrity": "sha512-sswbNsY2xRBBhGeaLt9c/eDc+0yDDhi6keUBAkgIRa9ueSx/VKzUY9HMqiV6bXDcGT2fJyejq74FfEB4lc/+/w==", - "dev": true, - "dependencies": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.9.0.tgz", - "integrity": "sha512-PHG1Mn23IGwMZhnPDN8dETKypqsFbHfiyRqP+XsVMPmTHkVfzDQTCBU/c2r6hUktBDoGKut5xZQpGfhFk71KbQ==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-requestmanager": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.9.0.tgz", - "integrity": "sha512-hcJ5PCtTIJpj+8qWxoseqlCovDo94JJjTX7dZOLXgwp8ah7E3WRYozhGyZocerx+KebKyg1mCQIhkDpMwjfo9Q==", - "dev": true, - "dependencies": { - "util": "^0.12.5", - "web3-core-helpers": "1.9.0", - "web3-providers-http": "1.9.0", - "web3-providers-ipc": "1.9.0", - "web3-providers-ws": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.9.0.tgz", - "integrity": "sha512-MaIo29yz7hTV8X8bioclPDbHFOVuHmnbMv+D3PDH12ceJFJAXGyW8GL5KU1DYyWIj4TD1HM4WknyVA/YWBiiLA==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.9.0.tgz", - "integrity": "sha512-c5gSWk9bLNr6VPATHmZ1n7LTIefIZQnJMzfnvkoBcIFGKJbGmsuRhv6lEXsKdAO/FlqYnSbaw3fOq1fVFiIOFQ==", - "dev": true, - "dependencies": { - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-accounts": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-eth-ens": "1.9.0", - "web3-eth-iban": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.9.0.tgz", - "integrity": "sha512-0BLQ3FKMrzJkA930jOX3fMaybAyubk06HChclLpiR0NWmgWXm1tmBrJdkyRy2ZTZpmfuZc9xTFRfl0yZID1voA==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.9.0.tgz", - "integrity": "sha512-VeIZVevmnSll0AC1k5F/y398ZE89d1SRuYk8IewLUhL/tVAsFEsjl2SGgm0+aDcHmgPrkW+qsCJ+C7rWg/N4ZA==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.1.5", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.9.0.tgz", - "integrity": "sha512-+j26hpSaEtAdUed0TN5rnc+YZOcjPxMjFX4ZBKatvFkImdbVv/tzTvcHlltubSpgb2ZLyZ89lSL6phKYwd2zNQ==", - "dev": true, - "dependencies": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.9.0.tgz", - "integrity": "sha512-LOJZeN+AGe9arhuExnrPPFYQr4WSxXEkpvYIlst/joOEUNLDwfndHnJIK6PI5mXaYSROBtTx6erv+HupzGo7vA==", - "dev": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.9.0.tgz", - "integrity": "sha512-jPAm77PuEs1kE/UrrBFJdPD2PN42pwfXA0gFuuw35bZezhskYML9W4QCxcqnUtceyEA4FUn7K2qTMuCk+23fog==", - "dev": true, - "dependencies": { - "bn.js": "^5.2.1", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.9.0.tgz", - "integrity": "sha512-r9Ldo/luBqJlv1vCUEQnUS+C3a3ZdbYxVHyfDkj6RWMyCqqo8JE41HWE+pfa0RmB1xnGL2g8TbYcHcqItck/qg==", - "dev": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.9.0.tgz", - "integrity": "sha512-L+fDZFgrLM5Y15aonl2q6L+RvfaImAngmC0Jv45hV2FJ5IfRT0/2ob9etxZmvEBWvOpbqSvghfOhJIT3XZ37Pg==", - "dev": true, - "dependencies": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-http": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.9.0.tgz", - "integrity": "sha512-5+dMNDAE0rRFz6SJpfnBqlVi2J5bB/Ivr2SanMt2YUrkxW5t8betZbzVwRkTbwtUvkqgj3xeUQzqpOttiv+IqQ==", - "dev": true, - "dependencies": { - "abortcontroller-polyfill": "^1.7.3", - "cross-fetch": "^3.1.4", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ipc": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.9.0.tgz", - "integrity": "sha512-cPXU93Du40HCylvjaa5x62DbnGqH+86HpK/+kMcFIzF6sDUBhKpag2tSbYhGbj7GMpfkmDTUiiMLdWnFV6+uBA==", - "dev": true, - "dependencies": { - "oboe": "2.1.5", - "web3-core-helpers": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.9.0.tgz", - "integrity": "sha512-JRVsnQZ7j2k1a2yzBNHe39xqk1ijOv01dfIBFw52VeEkSRzvrOcsPIM/ttSyBuJqt70ntMxXY0ekCrqfleKH/w==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-shh": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.9.0.tgz", - "integrity": "sha512-bIBZlralgz4ICCrwkefB2nPPJWfx28NuHIpjB7d9ADKynElubQuqudYhKtSEkKXACuME/BJm0pIFJcJs/gDnMg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-net": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", - "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", - "dev": true, - "dependencies": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "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": "5.76.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", - "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", - "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.1", - "colorette": "^2.0.14", - "commander": "^9.4.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/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/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "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/websocket/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/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "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-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "devOptional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "dev": true, - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "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": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/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/wrap-ansi/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/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/wrap-ansi/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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "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/write-json-file": { - "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, - "dependencies": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8.3" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/write-json-file/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/write-json-file/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/write-pkg": { - "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, - "dependencies": { - "sort-keys": "^2.0.0", - "type-fest": "^0.4.1", - "write-json-file": "^3.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/write-pkg/node_modules/detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-pkg/node_modules/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-pkg/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/write-pkg/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-pkg/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/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "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/xhr-request/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/xhr-request/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/xhr-request/node_modules/simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "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/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": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "engines": { - "node": ">=0.10.32" - } - }, - "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/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/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/yargs/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/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/yargs/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/yargs/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/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" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@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.19.3", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.19.3.tgz", - "integrity": "sha512-643/TybmaCAe101m2tSVHi9UKpETXP9c/Ff4mD2tAwkdP6esKIfaauZFc67vGEM6r9fekbEGid+sZhbEnSe3dg==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.8", - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.2.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", - "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==" - }, - "@babel/core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", - "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.5", - "@babel/parser": "^7.20.5", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", - "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", - "requires": { - "@babel/types": "^7.20.5", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", - "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/helpers": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", - "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", - "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@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.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", - "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", - "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@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.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "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.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", - "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", - "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.5", - "@babel/types": "^7.20.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "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.4", - "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.2.4.tgz", - "integrity": "sha512-rYfIOaQm0OlFcHdJFUu5VyYOA1HVeQXxOivUsawBjd7WXc3lMQ0bXMfCgN50gPPLWT92G4ioZ0EZz8RnH+YT/g==", - "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.11", - "resolved": "https://registry.npmjs.org/@chainsafe/geth-dev-assistant/-/geth-dev-assistant-0.1.11.tgz", - "integrity": "sha512-FbkHhSD346q8RpZcUuyBLyUfCYqFK36lsWIaNmvsYdOF7X5I0sf1ztcXq+FA+Wvy3EeSO15GvrsCA73NDFQoDQ==", - "dev": true, - "requires": { - "colors": "^1.3.3", - "node-emoji": "^1.10.0", - "web3": "^1.4.0", - "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" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true - }, - "@definitelytyped/header-parser": { - "version": "0.0.159", - "resolved": "https://registry.npmjs.org/@definitelytyped/header-parser/-/header-parser-0.0.159.tgz", - "integrity": "sha512-y+zr9ahjiFz7BLW1HeMWrx7xNxfBTDU0loJqzRh9WPHVdSrMsk+JQBSlubed/EZ1hgFZ6m93FRzBRCGIj8kBYg==", - "requires": { - "@definitelytyped/typescript-versions": "^0.0.159", - "@types/parsimmon": "^1.10.1", - "parsimmon": "^1.13.0" - } - }, - "@definitelytyped/typescript-versions": { - "version": "0.0.159", - "resolved": "https://registry.npmjs.org/@definitelytyped/typescript-versions/-/typescript-versions-0.0.159.tgz", - "integrity": "sha512-9TWRPpOo3CWYUyS3QCu8goJbAhS3qAE/LWFc+Qy6Wb8vsUAwMTioCtPPsYyqrPDbatXvPFrOr182hE1OFvEFSA==" - }, - "@definitelytyped/utils": { - "version": "0.0.159", - "resolved": "https://registry.npmjs.org/@definitelytyped/utils/-/utils-0.0.159.tgz", - "integrity": "sha512-zm+Gsw39sD2EANlJmmNXgtpIzXO3QmBq5nZx6Y95RD/s2AypDaBw0eauO1wWji6I45tJOAgPZEvfmjjaxfoyhA==", - "requires": { - "@definitelytyped/typescript-versions": "^0.0.159", - "@qiwi/npm-registry-client": "^8.9.1", - "@types/node": "^14.14.35", - "charm": "^1.0.2", - "fs-extra": "^8.1.0", - "fstream": "^1.0.12", - "tar": "^6.1.11", - "tar-stream": "^2.1.4" - }, - "dependencies": { - "@types/node": { - "version": "14.18.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.43.tgz", - "integrity": "sha512-n3eFEaoem0WNwLux+k272P0+aq++5o05bA9CfiwKPdYPB5ZambWKdWoeHy7/OJiizMhzg27NLaZ6uzjLTzXceQ==" - }, - "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" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@ensdomains/ens": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.6.2.tgz", - "integrity": "sha512-F3ALgp60HZq3rKqNig7H/rAlBB0zuz4C9q2weCoiPjSW91uvjetXhCGBU2YJCD1tyuKnO/KqTDzUN5Dc8HLlaQ==", - "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.5.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", - "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.1" - } - }, - "@ethereumjs/tx": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", - "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", - "requires": { - "@ethereumjs/common": "^2.5.0", - "ethereumjs-util": "^7.1.2" - } - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - } - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "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 - }, - "@isaacs/string-locale-compare": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", - "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", - "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" - } - }, - "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-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/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==" - }, - "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.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "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.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "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==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.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" - } - }, - "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/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==" - } - } - }, - "@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" - } - }, - "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/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" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@lerna/add": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-6.1.0.tgz", - "integrity": "sha512-f2cAeS1mE/p7QvSRn5TCgdUXw6QVbu8PeRxaTOxTThhTdJIWdXZfY00QjAsU6jw1PdYXK1qGUSwWOPkdR16mBg==", - "dev": true, - "requires": { - "@lerna/bootstrap": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/npm-conf": "6.1.0", - "@lerna/validation-error": "6.1.0", - "dedent": "^0.7.0", - "npm-package-arg": "8.1.1", - "p-map": "^4.0.0", - "pacote": "^13.6.1", - "semver": "^7.3.4" - }, - "dependencies": { - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/bootstrap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-6.1.0.tgz", - "integrity": "sha512-aDxKqgxexVj/Z0B1aPu7P1iPbPqhk1FPkl/iayCmPlkAh90pYEH0uVytGzi1hFB5iXEfG7Pa6azGQywUodx/1g==", - "dev": true, - "requires": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/has-npm-version": "6.1.0", - "@lerna/npm-install": "6.1.0", - "@lerna/package-graph": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/rimraf-dir": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/symlink-binary": "6.1.0", - "@lerna/symlink-dependencies": "6.1.0", - "@lerna/validation-error": "6.1.0", - "@npmcli/arborist": "5.3.0", - "dedent": "^0.7.0", - "get-port": "^5.1.1", - "multimatch": "^5.0.0", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1", - "semver": "^7.3.4" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/changed": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-6.1.0.tgz", - "integrity": "sha512-p7C2tf1scmvoUC1Osck/XIKVKXAQ8m8neL8/rfgKSYsvUVjsOB1LbF5HH1VUZntE6S4OxkRxUQGkAHVf5xrGqw==", - "dev": true, - "requires": { - "@lerna/collect-updates": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/listable": "6.1.0", - "@lerna/output": "6.1.0" - } - }, - "@lerna/check-working-tree": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-6.1.0.tgz", - "integrity": "sha512-hSciDmRqsNPevMhAD+SYbnhjatdb7UUu9W8vTyGtUXkrq2xtRZU0vAOgqovV8meirRkbC41pZePYKqyQtF0y3w==", - "dev": true, - "requires": { - "@lerna/collect-uncommitted": "6.1.0", - "@lerna/describe-ref": "6.1.0", - "@lerna/validation-error": "6.1.0" - } - }, - "@lerna/child-process": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.1.0.tgz", - "integrity": "sha512-jhr3sCFeps6Y15SCrWEPvqE64i+QLOTSh+OzxlziCBf7ZEUu7sF0yA4n5bAqw8j43yCKhhjkf/ZLYxZe+pnl3Q==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "execa": "^5.0.0", - "strong-log-transformer": "^2.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==", - "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 - }, - "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/clean": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-6.1.0.tgz", - "integrity": "sha512-LRK2hiNUiBhPe5tmJiefOVpkaX2Yob0rp15IFNIbuteRWUJg0oERFQo62WvnxwElfzKSOhr8OGuEq/vN4bMrRA==", - "dev": true, - "requires": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/rimraf-dir": "6.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1" - } - }, - "@lerna/cli": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-6.1.0.tgz", - "integrity": "sha512-p4G/OSPIrHiNkEl8bXrQdFOh4ORAZp2+ljvbXmAxpdf2qmopaUdr+bZYtIAxd+Z42SxRnDNz9IEyR0kOsARRQQ==", - "dev": true, - "requires": { - "@lerna/global-options": "6.1.0", - "dedent": "^0.7.0", - "npmlog": "^6.0.2", - "yargs": "^16.2.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" - } - }, - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "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": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.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==", - "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 - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.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" - } - }, - "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": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "@lerna/collect-uncommitted": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-6.1.0.tgz", - "integrity": "sha512-VvWvqDZG+OiF4PwV4Ro695r3+8ty4w+11Bnq8tbsbu5gq8qZiam8Fkc/TQLuNNqP0SPi4qmMPaIzWvSze3SmDg==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "chalk": "^4.1.0", - "npmlog": "^6.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==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "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 - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "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 - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@lerna/collect-updates": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-6.1.0.tgz", - "integrity": "sha512-dgH7kgstwCXFctylQ4cxuCmhwSIE6VJZfHdh2bOaLuncs6ATMErKWN/mVuFHuUWEqPDRyy5Ky40Cu9S40nUq5w==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/describe-ref": "6.1.0", - "minimatch": "^3.0.4", - "npmlog": "^6.0.2", - "slash": "^3.0.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.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/command": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-6.1.0.tgz", - "integrity": "sha512-OnMqBDaEBY0C8v9CXIWFbGGKgsiUtZrnKVvQRbupMSZDKMpVGWIUd3X98Is9j9MAmk1ynhBMWE9Fwai5ML/mcA==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/package-graph": "6.1.0", - "@lerna/project": "6.1.0", - "@lerna/validation-error": "6.1.0", - "@lerna/write-log-file": "6.1.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^5.0.0", - "is-ci": "^2.0.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/conventional-commits": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-6.1.0.tgz", - "integrity": "sha512-Tipo3cVr8mNVca4btzrCIzct59ZJWERT8/ZCZ/TQWuI4huUJZs6LRofLtB0xsGJAVZ7Vz2WRXAeH4XYgeUxutQ==", - "dev": true, - "requires": { - "@lerna/validation-error": "6.1.0", - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-core": "^4.2.4", - "conventional-recommended-bump": "^6.1.0", - "fs-extra": "^9.1.0", - "get-stream": "^6.0.0", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "pify": "^5.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.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.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/create": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.1.0.tgz", - "integrity": "sha512-ZqlknXu0L29cV5mcfNgBLl+1RbKTWmNk8mj545zgXc7qQDgmrY+EVvrs8Cirey8C7bBpVkzP7Brzze0MSoB4rQ==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/npm-conf": "6.1.0", - "@lerna/validation-error": "6.1.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "init-package-json": "^3.0.2", - "npm-package-arg": "8.1.1", - "p-reduce": "^2.1.0", - "pacote": "^13.6.1", - "pify": "^5.0.0", - "semver": "^7.3.4", - "slash": "^3.0.0", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0", - "yargs-parser": "20.2.4" - }, - "dependencies": { - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "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": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - } - } - }, - "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.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "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 - }, - "validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", - "dev": true, - "requires": { - "builtins": "^5.0.0" - }, - "dependencies": { - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "requires": { - "semver": "^7.0.0" - } - } - } - } - } - }, - "@lerna/create-symlink": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-6.1.0.tgz", - "integrity": "sha512-ulMa5OUJEwEWBHSgCUNGxrcsJllq1YMYWqhufvIigmMPJ0Zv3TV1Hha5i2MsqLJAakxtW0pNuwdutkUTtUdgxQ==", - "dev": true, - "requires": { - "cmd-shim": "^5.0.0", - "fs-extra": "^9.1.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/describe-ref": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-6.1.0.tgz", - "integrity": "sha512-0RQAYnxBaMz1SrEb/rhfR+8VeZx5tvCNYKRee5oXIDZdQ2c6/EPyrKCp3WcqiuOWY50SfGOVfxJEcxpK8Y3FNA==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/diff": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-6.1.0.tgz", - "integrity": "sha512-GhP+jPDbcp9QcAMSAjFn4lzM8MKpLR1yt5jll+zUD831U1sL0I5t8HUosFroe5MoRNffEL/jHuI3SbC3jjqWjQ==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/validation-error": "6.1.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/exec": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-6.1.0.tgz", - "integrity": "sha512-Ej6WlPHXLF6hZHsfD+J/dxeuTrnc0HIfIXR1DU//msHW5RNCdi9+I7StwreCAQH/dLEsdBjPg5chNmuj2JLQRg==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/profiler": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/validation-error": "6.1.0", - "p-map": "^4.0.0" - } - }, - "@lerna/filter-options": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-6.1.0.tgz", - "integrity": "sha512-kPf92Z7uLsR6MUiXnyXWebaUWArLa15wLfpfTwIp5H3MNk1lTbuG7QnrxE7OxQj+ozFmBvXeV9fuwfLsYTfmOw==", - "dev": true, - "requires": { - "@lerna/collect-updates": "6.1.0", - "@lerna/filter-packages": "6.1.0", - "dedent": "^0.7.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/filter-packages": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-6.1.0.tgz", - "integrity": "sha512-zW2avsZHs/ITE/37AEMhegGVHjiD0rgNk9bguNDfz6zaPa90UaW6PWDH6Tf4ThPRlbkl2Go48N3bFYHYSJKbcw==", - "dev": true, - "requires": { - "@lerna/validation-error": "6.1.0", - "multimatch": "^5.0.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/get-npm-exec-opts": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-6.1.0.tgz", - "integrity": "sha512-10Pdf+W0z7RT34o0SWlf+WVzz2/WbnTIJ1tQqXvXx6soj2L/xGLhOPvhJiKNtl4WlvUiO/zQ91yb83ESP4TZaA==", - "dev": true, - "requires": { - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/get-packed": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-6.1.0.tgz", - "integrity": "sha512-lg0wPpV0wPekcD0mebJp619hMxsOgbZDOH5AkL/bCR217391eha0iPhQ0dU/G0Smd2vv6Cg443+J5QdI4LGRTg==", - "dev": true, - "requires": { - "fs-extra": "^9.1.0", - "ssri": "^9.0.1", - "tar": "^6.1.0" - }, - "dependencies": { - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - } - } - }, - "@lerna/github-client": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-6.1.0.tgz", - "integrity": "sha512-+/4PtDgsjt0VRRZtOCN2Piyu0asU/16gSZZy/opVb8dlT44lTrH/ZghrJLE4tSL8Nuv688kx0kSgbUG8BY54jQ==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^19.0.3", - "git-url-parse": "^13.1.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/gitlab-client": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-6.1.0.tgz", - "integrity": "sha512-fUI/ppXzxJafN9ceSl+FDgsYvu3iTsO6UW0WTD63pS32CfM+PiCryLQHzuc4RkyVW8WQH3aCR/GbaKCqbu52bw==", - "dev": true, - "requires": { - "node-fetch": "^2.6.1", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/global-options": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-6.1.0.tgz", - "integrity": "sha512-1OyJ/N1XJh3ZAy8S20c6th9C4yBm/k3bRIdC+z0XxpDaHwfNt8mT9kUIDt6AIFCUvVKjSwnIsMHwhzXqBnwYSA==", - "dev": true - }, - "@lerna/has-npm-version": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-6.1.0.tgz", - "integrity": "sha512-up5PVuP6BmKQ5/UgH/t2c5B1q4HhjwW3/bqbNayX6V0qNz8OijnMYvEUbxFk8fOdeN41qVnhAk0Tb5kbdtYh2A==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "semver": "^7.3.4" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/import": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-6.1.0.tgz", - "integrity": "sha512-xsBhiKLUavATR32dAFL+WFY0yuab0hsM1eztKtRKk4wy7lSyxRfA5EIUcNCsLXx2xaDOKoMncCTXgNcpeYuqcQ==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/validation-error": "6.1.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "p-map-series": "^2.1.0" - } - }, - "@lerna/info": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-6.1.0.tgz", - "integrity": "sha512-CsrWdW/Wyb4kcvHSnrsm7KYWFvjUNItu+ryeyWBZJtWYQOv45jNmWix6j2L4/w1+mMlWMjsfLmBscg82UBrF5w==", - "dev": true, - "requires": { - "@lerna/command": "6.1.0", - "@lerna/output": "6.1.0", - "envinfo": "^7.7.4" - } - }, - "@lerna/init": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-6.1.0.tgz", - "integrity": "sha512-z8oUeVjn+FQYAtepAw6G47cGodLyBAyNoEjO3IsJjQLWE1yH3r83L2sjyD/EckgR3o2VTEzrKo4ArhxLp2mNmg==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/project": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "write-json-file": "^4.3.0" - } - }, - "@lerna/link": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-6.1.0.tgz", - "integrity": "sha512-7OD2lYNQHl6Kl1KYmplt8KoWjVHdiaqpYqwD38AwcB09YN58nGmo4aJgC12Fdx8DSNjkumgM0ROg/JOjMCTIzQ==", - "dev": true, - "requires": { - "@lerna/command": "6.1.0", - "@lerna/package-graph": "6.1.0", - "@lerna/symlink-dependencies": "6.1.0", - "@lerna/validation-error": "6.1.0", - "p-map": "^4.0.0", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "@lerna/list": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-6.1.0.tgz", - "integrity": "sha512-7/g2hjizkvVnBGpVm+qC7lUFGhZ/0GIMUbGQwnE6yXDGm8yP9aEcNVkU4JGrDWW+uIklf9oodnMHaLXd/FJe6Q==", - "dev": true, - "requires": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/listable": "6.1.0", - "@lerna/output": "6.1.0" - } - }, - "@lerna/listable": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-6.1.0.tgz", - "integrity": "sha512-3KZ9lQ9AtNfGNH/mYJYaMKCiF2EQvLLBGYkWHeIzIs6foegcZNXe0Cyv3LNXuo5WslMNr5RT4wIgy3BOoAxdtg==", - "dev": true, - "requires": { - "@lerna/query-graph": "6.1.0", - "chalk": "^4.1.0", - "columnify": "^1.6.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 - }, - "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/log-packed": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-6.1.0.tgz", - "integrity": "sha512-Sq2HZJAcPuoNeEHeIutcPYQCyWBxLyVGvEhgsP3xTe6XkBGQCG8piCp9wX+sc2zT+idPdpI6qLqdh85yYIMMhA==", - "dev": true, - "requires": { - "byte-size": "^7.0.0", - "columnify": "^1.6.0", - "has-unicode": "^2.0.1", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/npm-conf": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-6.1.0.tgz", - "integrity": "sha512-+RD3mmJe9XSQj7Diibs0+UafAHPcrFCd29ODpDI+tzYl4MmYZblfrlL6mbSCiVYCZQneQ8Uku3P0r+DlbYBaFw==", - "dev": true, - "requires": { - "config-chain": "^1.1.12", - "pify": "^5.0.0" - }, - "dependencies": { - "pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true - } - } - }, - "@lerna/npm-dist-tag": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-6.1.0.tgz", - "integrity": "sha512-1zo+Yww/lvWJWZnEXpke9dZSb5poDzhUM/pQNqAQYSlbZ96o18SuCR6TEi5isMPiw63Aq1MMzbUqttQfJ11EOA==", - "dev": true, - "requires": { - "@lerna/otplease": "6.1.0", - "npm-package-arg": "8.1.1", - "npm-registry-fetch": "^13.3.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/npm-install": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-6.1.0.tgz", - "integrity": "sha512-1SHmOHZA1YJuUctLQBRjA2+yMp+UNYdOBsFb3xUVT7MjWnd1Zl0toT3jxGu96RNErD9JKkk/cGo/Aq+DU3s9pg==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/get-npm-exec-opts": "6.1.0", - "fs-extra": "^9.1.0", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "signal-exit": "^3.0.3", - "write-pkg": "^4.0.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/npm-publish": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-6.1.0.tgz", - "integrity": "sha512-N0LdR1ImZQw1r4cYaKtVbBhBPtj4Zu9NbvygzizEP5HuTfxZmE1Ans3w93Kks9VTXZXob8twNbXnzBwzTyEpEA==", - "dev": true, - "requires": { - "@lerna/otplease": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "fs-extra": "^9.1.0", - "libnpmpublish": "^6.0.4", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "pify": "^5.0.0", - "read-package-json": "^5.0.1" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", - "dev": true, - "requires": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "dependencies": { - "hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - } - }, - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - } - } - }, - "npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", - "dev": true - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.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 - }, - "read-package-json": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", - "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", - "dev": true, - "requires": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@lerna/npm-run-script": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-6.1.0.tgz", - "integrity": "sha512-7p13mvdxdY5+VqWvvtMsMDeyCRs0PrrTmSHRO+FKuLQuGhBvUo05vevcMEOQNDvEvl/tXPrOVbeGCiGubYTCLg==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "@lerna/get-npm-exec-opts": "6.1.0", - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/otplease": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-6.1.0.tgz", - "integrity": "sha512-gqSE6IbaD4IeNJePkaDLaFLoGp0Ceu35sn7z0AHAOoHiQGGorOmvM+h1Md3xZZRSXQmY9LyJVhG5eRa38SoG4g==", - "dev": true, - "requires": { - "@lerna/prompt": "6.1.0" - } - }, - "@lerna/output": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-6.1.0.tgz", - "integrity": "sha512-mgCIzLKIuroytXuxjTB689ERtpfgyNXW0rMv9WHOa6ufQc+QJPjh3L4jVsOA0l+/OxZyi97PUXotduNj+0cbnA==", - "dev": true, - "requires": { - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/pack-directory": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-6.1.0.tgz", - "integrity": "sha512-Xsixqm2nkGXs9hvq08ClbGpRlCYnlBV4TwSrLttIDL712RlyXoPe2maJzTUqo9OXBbOumFSahUEInCMT2OS05g==", - "dev": true, - "requires": { - "@lerna/get-packed": "6.1.0", - "@lerna/package": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/temp-write": "6.1.0", - "npm-packlist": "^5.1.1", - "npmlog": "^6.0.2", - "tar": "^6.1.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/package": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-6.1.0.tgz", - "integrity": "sha512-PyNFtdH2IcLasp/nyMDshmeXotriOSlhbeFIxhdl1XuGj5v1so3utMSOrJMO5kzZJQg5zyx8qQoxL+WH/hkrVQ==", + "@lerna/clean": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-6.1.0.tgz", + "integrity": "sha512-LRK2hiNUiBhPe5tmJiefOVpkaX2Yob0rp15IFNIbuteRWUJg0oERFQo62WvnxwElfzKSOhr8OGuEq/vN4bMrRA==", "dev": true, "requires": { - "load-json-file": "^6.2.0", - "npm-package-arg": "8.1.1", - "write-pkg": "^4.0.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/rimraf-dir": "6.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1" } }, - "@lerna/package-graph": { + "@lerna/cli": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-6.1.0.tgz", - "integrity": "sha512-yGyxd/eHTDjkpnBbDhTV0hwKF+i01qZc+6/ko65wOsh8xtgqpQeE6mtdgbvsLKcuMcIQ7PDy1ntyIv9phg14gQ==", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-6.1.0.tgz", + "integrity": "sha512-p4G/OSPIrHiNkEl8bXrQdFOh4ORAZp2+ljvbXmAxpdf2qmopaUdr+bZYtIAxd+Z42SxRnDNz9IEyR0kOsARRQQ==", "dev": true, "requires": { - "@lerna/prerelease-id-from-version": "6.1.0", - "@lerna/validation-error": "6.1.0", - "npm-package-arg": "8.1.1", + "@lerna/global-options": "6.1.0", + "dedent": "^0.7.0", "npmlog": "^6.0.2", - "semver": "^7.3.4" + "yargs": "^16.2.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" + } + }, "are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", @@ -33930,6 +27314,32 @@ "readable-stream": "^3.6.0" } }, + "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": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.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==", + "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 + }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -33946,26 +27356,6 @@ "wide-align": "^1.1.5" } }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", - "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" - } - }, "npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", @@ -33978,48 +27368,60 @@ "set-blocking": "^2.0.0" } }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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": { - "lru-cache": "^6.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } - } - } - }, - "@lerna/prerelease-id-from-version": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-6.1.0.tgz", - "integrity": "sha512-ngC4I6evvZztB6aOaSDEnhUgRTlqX3TyBXwWwLGTOXCPaCQBTPaLNokhmRdJ+ZVdZ4iHFbzEDSL07ubZrYUcmQ==", - "dev": true, - "requires": { - "semver": "^7.3.4" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + }, + "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": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "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" } } } }, - "@lerna/profiler": { + "@lerna/collect-uncommitted": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-6.1.0.tgz", - "integrity": "sha512-WFDQNpuqPqMJLg8llvrBHF8Ib5Asgp23lMeNUe89T62NUX6gkjVBTYdjsduxM0tZH6Pa0GAGaQcha97P6fxfdQ==", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-6.1.0.tgz", + "integrity": "sha512-VvWvqDZG+OiF4PwV4Ro695r3+8ty4w+11Bnq8tbsbu5gq8qZiam8Fkc/TQLuNNqP0SPi4qmMPaIzWvSze3SmDg==", "dev": true, "requires": { - "fs-extra": "^9.1.0", - "npmlog": "^6.0.2", - "upath": "^2.0.1" + "@lerna/child-process": "6.1.0", + "chalk": "^4.1.0", + "npmlog": "^6.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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", @@ -34030,6 +27432,31 @@ "readable-stream": "^3.6.0" } }, + "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 + }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -34046,6 +27473,12 @@ "wide-align": "^1.1.5" } }, + "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 + }, "npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", @@ -34057,28 +27490,29 @@ "gauge": "^4.0.3", "set-blocking": "^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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "@lerna/project": { + "@lerna/collect-updates": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-6.1.0.tgz", - "integrity": "sha512-EOkfjjrTM16c3GUxGqcfYD2stV35p9mBEmkF41NPmyjfbzjol/irDF1r6Q7BsQSRsdClMJRCeZ168xdSxC2X0A==", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-6.1.0.tgz", + "integrity": "sha512-dgH7kgstwCXFctylQ4cxuCmhwSIE6VJZfHdh2bOaLuncs6ATMErKWN/mVuFHuUWEqPDRyy5Ky40Cu9S40nUq5w==", "dev": true, "requires": { - "@lerna/package": "6.1.0", - "@lerna/validation-error": "6.1.0", - "cosmiconfig": "^7.0.0", - "dedent": "^0.7.0", - "dot-prop": "^6.0.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.2", - "js-yaml": "^4.1.0", - "load-json-file": "^6.2.0", + "@lerna/child-process": "6.1.0", + "@lerna/describe-ref": "6.1.0", + "minimatch": "^3.0.4", "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "resolve-from": "^5.0.0", - "write-json-file": "^4.3.0" + "slash": "^3.0.0" }, "dependencies": { "are-we-there-yet": { @@ -34091,25 +27525,6 @@ "readable-stream": "^3.6.0" } }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "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" - } - }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -34126,33 +27541,6 @@ "wide-align": "^1.1.5" } }, - "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 - } - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", @@ -34165,39 +27553,29 @@ "set-blocking": "^2.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==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true } } }, - "@lerna/prompt": { + "@lerna/command": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-6.1.0.tgz", - "integrity": "sha512-981J/C53TZ2l2mFVlWJN7zynSzf5GEHKvKQa12Td9iknhASZOuwTAWb6eq46246Ant6W5tWwb0NSPu3I5qtcrA==", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-6.1.0.tgz", + "integrity": "sha512-OnMqBDaEBY0C8v9CXIWFbGGKgsiUtZrnKVvQRbupMSZDKMpVGWIUd3X98Is9j9MAmk1ynhBMWE9Fwai5ML/mcA==", "dev": true, "requires": { - "inquirer": "^8.2.4", + "@lerna/child-process": "6.1.0", + "@lerna/package-graph": "6.1.0", + "@lerna/project": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@lerna/write-log-file": "6.1.0", + "clone-deep": "^4.0.1", + "dedent": "^0.7.0", + "execa": "^5.0.0", + "is-ci": "^2.0.0", "npmlog": "^6.0.2" }, "dependencies": { @@ -34241,39 +27619,21 @@ } } }, - "@lerna/publish": { + "@lerna/conventional-commits": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-6.1.0.tgz", - "integrity": "sha512-XtvuydtU0IptbAapLRgoN1AZj/WJR+e3UKnx9BQ1Dwc+Fpg2oqPxR/vi+6hxAsr95pdQ5CnWBdgS+dg2wEUJ7Q==", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-6.1.0.tgz", + "integrity": "sha512-Tipo3cVr8mNVca4btzrCIzct59ZJWERT8/ZCZ/TQWuI4huUJZs6LRofLtB0xsGJAVZ7Vz2WRXAeH4XYgeUxutQ==", "dev": true, "requires": { - "@lerna/check-working-tree": "6.1.0", - "@lerna/child-process": "6.1.0", - "@lerna/collect-updates": "6.1.0", - "@lerna/command": "6.1.0", - "@lerna/describe-ref": "6.1.0", - "@lerna/log-packed": "6.1.0", - "@lerna/npm-conf": "6.1.0", - "@lerna/npm-dist-tag": "6.1.0", - "@lerna/npm-publish": "6.1.0", - "@lerna/otplease": "6.1.0", - "@lerna/output": "6.1.0", - "@lerna/pack-directory": "6.1.0", - "@lerna/prerelease-id-from-version": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/pulse-till-done": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/run-topologically": "6.1.0", "@lerna/validation-error": "6.1.0", - "@lerna/version": "6.1.0", + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-core": "^4.2.4", + "conventional-recommended-bump": "^6.1.0", "fs-extra": "^9.1.0", - "libnpmaccess": "^6.0.3", + "get-stream": "^6.0.0", "npm-package-arg": "8.1.1", - "npm-registry-fetch": "^13.3.0", "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "pacote": "^13.6.1", + "pify": "^5.0.0", "semver": "^7.3.4" }, "dependencies": { @@ -34335,6 +27695,12 @@ "set-blocking": "^2.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.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -34346,195 +27712,113 @@ } } }, - "@lerna/pulse-till-done": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-6.1.0.tgz", - "integrity": "sha512-a2RVT82E4R9nVXtehzp2TQL6iXp0QfEM3bu8tBAR/SfI1A9ggZWQhuuUqtRyhhVCajdQDOo7rS0UG7R5JzK58w==", - "dev": true, - "requires": { - "npmlog": "^6.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/query-graph": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-6.1.0.tgz", - "integrity": "sha512-YkyCc+6aR7GlCOcZXEKPcl5o5L2v+0YUNs59JrfAS0mctFosZ/2tP7pkdu2SI4qXIi5D0PMNsh/0fRni56znsQ==", - "dev": true, - "requires": { - "@lerna/package-graph": "6.1.0" - } - }, - "@lerna/resolve-symlink": { + "@lerna/create": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-6.1.0.tgz", - "integrity": "sha512-8ILO+h5fsE0q8MSLfdL+MT1GEsNhAB1fDyMkSsYgLRCsssN/cViZbffpclZyT/EfAhpyKfBCHZ0CmT1ZGofU1A==", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.1.0.tgz", + "integrity": "sha512-ZqlknXu0L29cV5mcfNgBLl+1RbKTWmNk8mj545zgXc7qQDgmrY+EVvrs8Cirey8C7bBpVkzP7Brzze0MSoB4rQ==", "dev": true, "requires": { + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/npm-conf": "6.1.0", + "@lerna/validation-error": "6.1.0", + "dedent": "^0.7.0", "fs-extra": "^9.1.0", - "npmlog": "^6.0.2", - "read-cmd-shim": "^3.0.0" + "init-package-json": "^3.0.2", + "npm-package-arg": "8.1.1", + "p-reduce": "^2.1.0", + "pacote": "^13.6.1", + "pify": "^5.0.0", + "semver": "^7.3.4", + "slash": "^3.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0", + "yargs-parser": "20.2.4" }, "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "lru-cache": "^6.0.0" } }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", "dev": true, "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "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": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + } } }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - } - } - }, - "@lerna/rimraf-dir": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-6.1.0.tgz", - "integrity": "sha512-J9YeGHkCCeAIzsnKURYeGECBexiIii6HA+Bbd+rAgoKPsNCOj6ql4+qJE8Jbd7fQEFNDPQeBCYvM7JcdMc0WSA==", - "dev": true, - "requires": { - "@lerna/child-process": "6.1.0", - "npmlog": "^6.0.2", - "path-exists": "^4.0.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "lru-cache": "^6.0.0" } }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dev": true, "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "builtins": "^5.0.0" + }, + "dependencies": { + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + } + } } } } }, - "@lerna/run": { + "@lerna/create-symlink": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-6.1.0.tgz", - "integrity": "sha512-vlEEKPcTloiob6EK7gxrjEdB6fQQ/LNfWhSJCGxJlvNVbrMpoWIu0Kpp20b0nE+lzX7rRJ4seWr7Wdo/Fjub4Q==", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-6.1.0.tgz", + "integrity": "sha512-ulMa5OUJEwEWBHSgCUNGxrcsJllq1YMYWqhufvIigmMPJ0Zv3TV1Hha5i2MsqLJAakxtW0pNuwdutkUTtUdgxQ==", "dev": true, "requires": { - "@lerna/command": "6.1.0", - "@lerna/filter-options": "6.1.0", - "@lerna/npm-run-script": "6.1.0", - "@lerna/output": "6.1.0", - "@lerna/profiler": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/timer": "6.1.0", - "@lerna/validation-error": "6.1.0", + "cmd-shim": "^5.0.0", "fs-extra": "^9.1.0", - "p-map": "^4.0.0" - } - }, - "@lerna/run-lifecycle": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-6.1.0.tgz", - "integrity": "sha512-GbTdKxL+hWHEPgyBEKtqY9Nf+jFlt6YLtP5VjEVc5SdLkm+FeRquar9/YcZVUbzr3c+NJwWNgVjHuePfowdpUA==", - "dev": true, - "requires": { - "@lerna/npm-conf": "6.1.0", - "@npmcli/run-script": "^4.1.7", - "npmlog": "^6.0.2", - "p-queue": "^6.6.2" + "npmlog": "^6.0.2" }, "dependencies": { "are-we-there-yet": { @@ -34577,84 +27861,13 @@ } } }, - "@lerna/run-topologically": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-6.1.0.tgz", - "integrity": "sha512-kpTaSBKdKjtf61be8Z1e7TIaMt/aksfxswQtpFxEuKDsPsdHfR8htSkADO4d/3SZFtmcAHIHNCQj9CaNj4O4Xw==", - "dev": true, - "requires": { - "@lerna/query-graph": "6.1.0", - "p-queue": "^6.6.2" - } - }, - "@lerna/symlink-binary": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-6.1.0.tgz", - "integrity": "sha512-DaiRNZk/dvomNxgEaTW145PyL7vIGP7rvnfXV2FO+rjX8UUSNUOjmVmHlYfs64gV9Eqx/dLfQClIbKcwYMD83A==", - "dev": true, - "requires": { - "@lerna/create-symlink": "6.1.0", - "@lerna/package": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0" - } - }, - "@lerna/symlink-dependencies": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-6.1.0.tgz", - "integrity": "sha512-hrTvtY1Ek+fLA4JjXsKsvwPjuJD0rwB/+K4WY57t00owj//BpCsJ37w3kkkS7f/PcW/5uRjCuHcY67LOEwsRxw==", - "dev": true, - "requires": { - "@lerna/create-symlink": "6.1.0", - "@lerna/resolve-symlink": "6.1.0", - "@lerna/symlink-binary": "6.1.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0" - } - }, - "@lerna/temp-write": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-6.1.0.tgz", - "integrity": "sha512-ZcQl88H9HbQ/TeWUOVt+vDYwptm7kwprGvj9KkZXr9S5Bn6SiKRQOeydCCfCrQT+9Q3dm7QZXV6rWzLsACcAlQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "is-stream": "^2.0.0", - "make-dir": "^3.0.0", - "temp-dir": "^1.0.0", - "uuid": "^8.3.2" - }, - "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" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } - } - }, - "@lerna/timer": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-6.1.0.tgz", - "integrity": "sha512-du+NQ9q7uO4d2nVU4AD2DSPuAZqUapA/bZKuVpFVxvY9Qhzb8dQKLsFISe4A9TjyoNAk8ZeWK0aBc/6N+Qer9A==", - "dev": true - }, - "@lerna/validation-error": { + "@lerna/describe-ref": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-6.1.0.tgz", - "integrity": "sha512-q0c3XCi5OpyTr8AcfbisS6e3svZaJF/riCvBDqRMaQUT4A8QOPzB4fVF3/+J2u54nidBuTlIk0JZu9aOdWTUkQ==", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-6.1.0.tgz", + "integrity": "sha512-0RQAYnxBaMz1SrEb/rhfR+8VeZx5tvCNYKRee5oXIDZdQ2c6/EPyrKCp3WcqiuOWY50SfGOVfxJEcxpK8Y3FNA==", "dev": true, "requires": { + "@lerna/child-process": "6.1.0", "npmlog": "^6.0.2" }, "dependencies": { @@ -34698,50 +27911,18 @@ } } }, - "@lerna/version": { + "@lerna/diff": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-6.1.0.tgz", - "integrity": "sha512-RUxVFdzHt0739lRNMrAbo6HWcFrcyG7atM1pn+Eo61fUoA5R/9N4bCk4m9xUGkJ/mOcROjuwAGe+wT1uOs58Bg==", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-6.1.0.tgz", + "integrity": "sha512-GhP+jPDbcp9QcAMSAjFn4lzM8MKpLR1yt5jll+zUD831U1sL0I5t8HUosFroe5MoRNffEL/jHuI3SbC3jjqWjQ==", "dev": true, "requires": { - "@lerna/check-working-tree": "6.1.0", "@lerna/child-process": "6.1.0", - "@lerna/collect-updates": "6.1.0", "@lerna/command": "6.1.0", - "@lerna/conventional-commits": "6.1.0", - "@lerna/github-client": "6.1.0", - "@lerna/gitlab-client": "6.1.0", - "@lerna/output": "6.1.0", - "@lerna/prerelease-id-from-version": "6.1.0", - "@lerna/prompt": "6.1.0", - "@lerna/run-lifecycle": "6.1.0", - "@lerna/run-topologically": "6.1.0", - "@lerna/temp-write": "6.1.0", "@lerna/validation-error": "6.1.0", - "@nrwl/devkit": ">=14.8.6 < 16", - "chalk": "^4.1.0", - "dedent": "^0.7.0", - "load-json-file": "^6.2.0", - "minimatch": "^3.0.4", - "npmlog": "^6.0.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", - "write-json-file": "^4.3.0" + "npmlog": "^6.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==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", @@ -34752,31 +27933,6 @@ "readable-stream": "^3.6.0" } }, - "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 - }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -34793,12 +27949,6 @@ "wide-align": "^1.1.5" } }, - "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 - }, "npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", @@ -34810,41 +27960,34 @@ "gauge": "^4.0.3", "set-blocking": "^2.0.0" } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "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 - }, - "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": { + "@lerna/exec": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-6.1.0.tgz", - "integrity": "sha512-09omu2w4NCt8mJH/X9ZMuToQQ3xu/KpC7EU4yDl2Qy8nxKf8HiG8Oe+YYNprngmkdsq60F5eUZvoiFDZ5JeGIg==", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-6.1.0.tgz", + "integrity": "sha512-Ej6WlPHXLF6hZHsfD+J/dxeuTrnc0HIfIXR1DU//msHW5RNCdi9+I7StwreCAQH/dLEsdBjPg5chNmuj2JLQRg==", "dev": true, "requires": { - "npmlog": "^6.0.2", - "write-file-atomic": "^4.0.1" + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/profiler": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/validation-error": "6.1.0", + "p-map": "^4.0.0" + } + }, + "@lerna/filter-options": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-6.1.0.tgz", + "integrity": "sha512-kPf92Z7uLsR6MUiXnyXWebaUWArLa15wLfpfTwIp5H3MNk1lTbuG7QnrxE7OxQj+ozFmBvXeV9fuwfLsYTfmOw==", + "dev": true, + "requires": { + "@lerna/collect-updates": "6.1.0", + "@lerna/filter-packages": "6.1.0", + "dedent": "^0.7.0", + "npmlog": "^6.0.2" }, "dependencies": { "are-we-there-yet": { @@ -34884,92 +28027,18 @@ "gauge": "^4.0.3", "set-blocking": "^2.0.0" } - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } } } }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "dev": true, - "optional": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@npmcli/arborist": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz", - "integrity": "sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==", + "@lerna/filter-packages": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-6.1.0.tgz", + "integrity": "sha512-zW2avsZHs/ITE/37AEMhegGVHjiD0rgNk9bguNDfz6zaPa90UaW6PWDH6Tf4ThPRlbkl2Go48N3bFYHYSJKbcw==", "dev": true, "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^3.0.1", - "@npmcli/move-file": "^2.0.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/package-json": "^2.0.0", - "@npmcli/run-script": "^4.1.3", - "bin-links": "^3.0.0", - "cacache": "^16.0.6", - "common-ancestor-path": "^1.0.1", - "json-parse-even-better-errors": "^2.3.1", - "json-stringify-nice": "^1.1.4", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^5.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.0.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.0", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "parse-conflict-json": "^2.0.1", - "proc-log": "^2.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^9.0.0", - "treeverse": "^2.0.0", - "walk-up-path": "^1.0.0" + "@lerna/validation-error": "6.1.0", + "multimatch": "^5.0.0", + "npmlog": "^6.0.2" }, "dependencies": { "are-we-there-yet": { @@ -34982,15 +28051,6 @@ "readable-stream": "^3.6.0" } }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "requires": { - "semver": "^7.0.0" - } - }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -35007,41 +28067,6 @@ "wide-align": "^1.1.5" } }, - "hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", - "dev": true, - "requires": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - } - }, "npmlog": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", @@ -35051,1531 +28076,1809 @@ "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", - "dev": true, - "requires": { - "builtins": "^5.0.0" - } - } - } - }, - "@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dev": true, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@npmcli/git": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", - "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^3.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "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" - } - } - } - }, - "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" - } - } - } - }, - "@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" + "set-blocking": "^2.0.0" + } + } } }, - "@npmcli/map-workspaces": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz", - "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==", + "@lerna/get-npm-exec-opts": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-6.1.0.tgz", + "integrity": "sha512-10Pdf+W0z7RT34o0SWlf+WVzz2/WbnTIJ1tQqXvXx6soj2L/xGLhOPvhJiKNtl4WlvUiO/zQ91yb83ESP4TZaA==", "dev": true, "requires": { - "@npmcli/name-from-folder": "^1.0.1", - "glob": "^8.0.1", - "minimatch": "^5.0.1", - "read-package-json-fast": "^2.0.3" + "npmlog": "^6.0.2" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "requires": { - "balanced-match": "^1.0.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, - "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "requires": { - "brace-expansion": "^2.0.1" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" } } } }, - "@npmcli/metavuln-calculator": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz", - "integrity": "sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==", + "@lerna/get-packed": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-6.1.0.tgz", + "integrity": "sha512-lg0wPpV0wPekcD0mebJp619hMxsOgbZDOH5AkL/bCR217391eha0iPhQ0dU/G0Smd2vv6Cg443+J5QdI4LGRTg==", "dev": true, "requires": { - "cacache": "^16.0.0", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^13.0.3", - "semver": "^7.3.5" + "fs-extra": "^9.1.0", + "ssri": "^9.0.1", + "tar": "^6.1.0" }, "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "minipass": "^3.1.1" } } } }, - "@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "@npmcli/name-from-folder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", - "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==", - "dev": true - }, - "@npmcli/node-gyp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", - "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", - "dev": true - }, - "@npmcli/package-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz", - "integrity": "sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==", - "dev": true, - "requires": { - "json-parse-even-better-errors": "^2.3.1" - } - }, - "@npmcli/promise-spawn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", - "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", - "dev": true, - "requires": { - "infer-owner": "^1.0.4" - } - }, - "@npmcli/run-script": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", - "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", + "@lerna/github-client": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-6.1.0.tgz", + "integrity": "sha512-+/4PtDgsjt0VRRZtOCN2Piyu0asU/16gSZZy/opVb8dlT44lTrH/ZghrJLE4tSL8Nuv688kx0kSgbUG8BY54jQ==", "dev": true, "requires": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" + "@lerna/child-process": "6.1.0", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^19.0.3", + "git-url-parse": "^13.1.0", + "npmlog": "^6.0.2" }, "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "requires": { - "isexe": "^2.0.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } - } - } - }, - "@nrwl/cli": { - "version": "15.4.4", - "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.4.tgz", - "integrity": "sha512-29f1No6eJAZczwVsJTjujyE40Lav6iwkfwTxnoiTUWaHHw9S95a8dMXelUB/BT2Tyf7OOFpwWZMXtDcRktrgGA==", - "dev": true, - "requires": { - "nx": "15.4.4" - } - }, - "@nrwl/devkit": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.3.0.tgz", - "integrity": "sha512-1O9QLB/eYS6ddw4MZnV4yj4CEqLIbpleZZiG/9w1TaiVO/jfNfXVaxc8EA87XSzMpk2W+/4Qggmabt6gAQaabA==", - "dev": true, - "requires": { - "@phenomnomnominal/tsquery": "4.1.1", - "ejs": "^3.1.7", - "ignore": "^5.0.4", - "semver": "7.3.4", - "tslib": "^2.3.0" - }, - "dependencies": { - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - } - } - }, - "@nrwl/tao": { - "version": "15.4.4", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.4.tgz", - "integrity": "sha512-ekPYVpz1y3XlCPu6UkQfcpwyNHQ0SsXMN8omB4MPTSknvEhKmcVOPG3Kr4W9fk1UjmBr58ItAGmtx2sjVMH7XQ==", - "dev": true, - "requires": { - "nx": "15.4.4" - } - }, - "@octokit/auth-token": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", - "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", - "dev": true, - "requires": { - "@octokit/types": "^8.0.0" - } - }, - "@octokit/core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", - "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", - "dev": true, - "requires": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^8.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/endpoint": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", - "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", - "dev": true, - "requires": { - "@octokit/types": "^8.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/graphql": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", - "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", - "dev": true, - "requires": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^8.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/openapi-types": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", - "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", - "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": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz", - "integrity": "sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==", - "dev": true, - "requires": { - "@octokit/types": "^8.0.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, - "requires": {} - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz", - "integrity": "sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==", - "dev": true, - "requires": { - "@octokit/types": "^8.0.0", - "deprecation": "^2.3.1" - } - }, - "@octokit/request": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", - "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", - "dev": true, - "requires": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^8.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/request-error": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", - "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", - "dev": true, - "requires": { - "@octokit/types": "^8.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "@octokit/rest": { - "version": "19.0.5", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz", - "integrity": "sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==", - "dev": true, - "requires": { - "@octokit/core": "^4.1.0", - "@octokit/plugin-paginate-rest": "^5.0.0", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^6.7.0" - } - }, - "@octokit/types": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", - "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", - "dev": true, - "requires": { - "@octokit/openapi-types": "^14.0.0" - } - }, - "@parcel/watcher": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", - "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", - "dev": true, - "requires": { - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" - }, - "dependencies": { - "node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } } } }, - "@phenomnomnominal/tsquery": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz", - "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==", + "@lerna/gitlab-client": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-6.1.0.tgz", + "integrity": "sha512-fUI/ppXzxJafN9ceSl+FDgsYvu3iTsO6UW0WTD63pS32CfM+PiCryLQHzuc4RkyVW8WQH3aCR/GbaKCqbu52bw==", "dev": true, "requires": { - "esquery": "^1.0.1" - } - }, - "@qiwi/npm-registry-client": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/@qiwi/npm-registry-client/-/npm-registry-client-8.9.1.tgz", - "integrity": "sha512-rZF+mG+NfijR0SHphhTLHRr4aM4gtfdwoAMY6we2VGQam8vkN1cxGG1Lg/Llrj8Dd0Mu6VjdFQRyMMRZxtZR2A==", - "requires": { - "concat-stream": "^2.0.0", - "graceful-fs": "^4.2.4", - "normalize-package-data": "~1.0.1 || ^2.0.0 || ^3.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^8.0.0", - "npmlog": "2 || ^3.1.0 || ^4.0.0", - "once": "^1.4.0", - "request": "^2.88.2", - "retry": "^0.12.0", - "safe-buffer": "^5.2.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5 || 7", - "slide": "^1.1.6", - "ssri": "^8.0.0" + "node-fetch": "^2.6.1", + "npmlog": "^6.0.2" }, "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } }, - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "requires": { - "lru-cache": "^6.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" } } } }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "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" - } - }, - "@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "requires": { - "defer-to-connect": "^2.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/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "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.18.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", - "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", - "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": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "requires": { - "@types/node": "*" - } - }, - "@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "@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==", + "@lerna/global-options": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-6.1.0.tgz", + "integrity": "sha512-1OyJ/N1XJh3ZAy8S20c6th9C4yBm/k3bRIdC+z0XxpDaHwfNt8mT9kUIDt6AIFCUvVKjSwnIsMHwhzXqBnwYSA==", "dev": true }, - "@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "@lerna/has-npm-version": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-6.1.0.tgz", + "integrity": "sha512-up5PVuP6BmKQ5/UgH/t2c5B1q4HhjwW3/bqbNayX6V0qNz8OijnMYvEUbxFk8fOdeN41qVnhAk0Tb5kbdtYh2A==", "dev": true, "requires": { - "@types/node": "*" + "@lerna/child-process": "6.1.0", + "semver": "^7.3.4" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "@types/eslint": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.3.tgz", - "integrity": "sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==", + "@lerna/import": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-6.1.0.tgz", + "integrity": "sha512-xsBhiKLUavATR32dAFL+WFY0yuab0hsM1eztKtRKk4wy7lSyxRfA5EIUcNCsLXx2xaDOKoMncCTXgNcpeYuqcQ==", "dev": true, "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/validation-error": "6.1.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "p-map-series": "^2.1.0" } }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "@lerna/info": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-6.1.0.tgz", + "integrity": "sha512-CsrWdW/Wyb4kcvHSnrsm7KYWFvjUNItu+ryeyWBZJtWYQOv45jNmWix6j2L4/w1+mMlWMjsfLmBscg82UBrF5w==", "dev": true, "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "@lerna/command": "6.1.0", + "@lerna/output": "6.1.0", + "envinfo": "^7.7.4" } }, - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "@lerna/init": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-6.1.0.tgz", + "integrity": "sha512-z8oUeVjn+FQYAtepAw6G47cGodLyBAyNoEjO3IsJjQLWE1yH3r83L2sjyD/EckgR3o2VTEzrKo4ArhxLp2mNmg==", "dev": true, "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "requires": { - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@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.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "requires": { - "@types/node": "*" + "@lerna/child-process": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/project": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "write-json-file": "^4.3.0" } }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - }, - "@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/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==", + "@lerna/link": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-6.1.0.tgz", + "integrity": "sha512-7OD2lYNQHl6Kl1KYmplt8KoWjVHdiaqpYqwD38AwcB09YN58nGmo4aJgC12Fdx8DSNjkumgM0ROg/JOjMCTIzQ==", + "dev": true, "requires": { - "@types/node": "*" + "@lerna/command": "6.1.0", + "@lerna/package-graph": "6.1.0", + "@lerna/symlink-dependencies": "6.1.0", + "@lerna/validation-error": "6.1.0", + "p-map": "^4.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "@types/prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==" - }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "@lerna/list": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-6.1.0.tgz", + "integrity": "sha512-7/g2hjizkvVnBGpVm+qC7lUFGhZ/0GIMUbGQwnE6yXDGm8yP9aEcNVkU4JGrDWW+uIklf9oodnMHaLXd/FJe6Q==", + "dev": true, "requires": { - "@types/node": "*" + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/listable": "6.1.0", + "@lerna/output": "6.1.0" } }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "@lerna/listable": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-6.1.0.tgz", + "integrity": "sha512-3KZ9lQ9AtNfGNH/mYJYaMKCiF2EQvLLBGYkWHeIzIs6foegcZNXe0Cyv3LNXuo5WslMNr5RT4wIgy3BOoAxdtg==", + "dev": true, "requires": { - "@types/node": "*" + "@lerna/query-graph": "6.1.0", + "chalk": "^4.1.0", + "columnify": "^1.6.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 + }, + "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" + } + } } }, - "@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/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "@lerna/log-packed": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-6.1.0.tgz", + "integrity": "sha512-Sq2HZJAcPuoNeEHeIutcPYQCyWBxLyVGvEhgsP3xTe6XkBGQCG8piCp9wX+sc2zT+idPdpI6qLqdh85yYIMMhA==", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "byte-size": "^7.0.0", + "columnify": "^1.6.0", + "has-unicode": "^2.0.1", + "npmlog": "^6.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "@lerna/npm-conf": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-6.1.0.tgz", + "integrity": "sha512-+RD3mmJe9XSQj7Diibs0+UafAHPcrFCd29ODpDI+tzYl4MmYZblfrlL6mbSCiVYCZQneQ8Uku3P0r+DlbYBaFw==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "config-chain": "^1.1.12", + "pify": "^5.0.0" + }, + "dependencies": { + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + } } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "@lerna/npm-dist-tag": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-6.1.0.tgz", + "integrity": "sha512-1zo+Yww/lvWJWZnEXpke9dZSb5poDzhUM/pQNqAQYSlbZ96o18SuCR6TEi5isMPiw63Aq1MMzbUqttQfJ11EOA==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "@lerna/otplease": "6.1.0", + "npm-package-arg": "8.1.1", + "npm-registry-fetch": "^13.3.0", + "npmlog": "^6.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "@lerna/npm-install": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-6.1.0.tgz", + "integrity": "sha512-1SHmOHZA1YJuUctLQBRjA2+yMp+UNYdOBsFb3xUVT7MjWnd1Zl0toT3jxGu96RNErD9JKkk/cGo/Aq+DU3s9pg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@lerna/child-process": "6.1.0", + "@lerna/get-npm-exec-opts": "6.1.0", + "fs-extra": "^9.1.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "signal-exit": "^3.0.3", + "write-pkg": "^4.0.0" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "@lerna/npm-publish": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-6.1.0.tgz", + "integrity": "sha512-N0LdR1ImZQw1r4cYaKtVbBhBPtj4Zu9NbvygzizEP5HuTfxZmE1Ans3w93Kks9VTXZXob8twNbXnzBwzTyEpEA==", "dev": true, "requires": { - "@xtuc/ieee754": "^1.2.0" + "@lerna/otplease": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "fs-extra": "^9.1.0", + "libnpmpublish": "^6.0.4", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "pify": "^5.0.0", + "read-package-json": "^5.0.1" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "normalize-package-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "dev": true, + "requires": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "dependencies": { + "hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + } + } + }, + "npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.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 + }, + "read-package-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", + "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "dev": true, + "requires": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "@lerna/npm-run-script": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-6.1.0.tgz", + "integrity": "sha512-7p13mvdxdY5+VqWvvtMsMDeyCRs0PrrTmSHRO+FKuLQuGhBvUo05vevcMEOQNDvEvl/tXPrOVbeGCiGubYTCLg==", "dev": true, "requires": { - "@xtuc/long": "4.2.2" + "@lerna/child-process": "6.1.0", + "@lerna/get-npm-exec-opts": "6.1.0", + "npmlog": "^6.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "@lerna/otplease": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-6.1.0.tgz", + "integrity": "sha512-gqSE6IbaD4IeNJePkaDLaFLoGp0Ceu35sn7z0AHAOoHiQGGorOmvM+h1Md3xZZRSXQmY9LyJVhG5eRa38SoG4g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@lerna/prompt": "6.1.0" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "@lerna/output": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-6.1.0.tgz", + "integrity": "sha512-mgCIzLKIuroytXuxjTB689ERtpfgyNXW0rMv9WHOa6ufQc+QJPjh3L4jVsOA0l+/OxZyi97PUXotduNj+0cbnA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "npmlog": "^6.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "@lerna/pack-directory": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-6.1.0.tgz", + "integrity": "sha512-Xsixqm2nkGXs9hvq08ClbGpRlCYnlBV4TwSrLttIDL712RlyXoPe2maJzTUqo9OXBbOumFSahUEInCMT2OS05g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@lerna/get-packed": "6.1.0", + "@lerna/package": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/temp-write": "6.1.0", + "npm-packlist": "^5.1.1", + "npmlog": "^6.0.2", + "tar": "^6.1.0" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "@lerna/package": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-6.1.0.tgz", + "integrity": "sha512-PyNFtdH2IcLasp/nyMDshmeXotriOSlhbeFIxhdl1XuGj5v1so3utMSOrJMO5kzZJQg5zyx8qQoxL+WH/hkrVQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "load-json-file": "^6.2.0", + "npm-package-arg": "8.1.1", + "write-pkg": "^4.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "@lerna/package-graph": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-6.1.0.tgz", + "integrity": "sha512-yGyxd/eHTDjkpnBbDhTV0hwKF+i01qZc+6/ko65wOsh8xtgqpQeE6mtdgbvsLKcuMcIQ7PDy1ntyIv9phg14gQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", - "dev": true, - "requires": {} - }, - "@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 - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true + "@lerna/prerelease-id-from-version": "6.1.0", + "@lerna/validation-error": "6.1.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "semver": "^7.3.4" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } }, - "@yarnpkg/parsers": { - "version": "3.0.0-rc.34", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.34.tgz", - "integrity": "sha512-NhEA0BusInyk7EiJ7i7qF1Mkrb6gGjZcQQ/W1xxGazxapubEmGO7v5WSll6hWxFXE2ngtLj8lflq1Ff5VtqEww==", + "@lerna/prerelease-id-from-version": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-6.1.0.tgz", + "integrity": "sha512-ngC4I6evvZztB6aOaSDEnhUgRTlqX3TyBXwWwLGTOXCPaCQBTPaLNokhmRdJ+ZVdZ4iHFbzEDSL07ubZrYUcmQ==", "dev": true, "requires": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "semver": "^7.3.4" }, "dependencies": { - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "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 - }, - "abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - }, - "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==", + "@lerna/profiler": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-6.1.0.tgz", + "integrity": "sha512-WFDQNpuqPqMJLg8llvrBHF8Ib5Asgp23lMeNUe89T62NUX6gkjVBTYdjsduxM0tZH6Pa0GAGaQcha97P6fxfdQ==", + "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "fs-extra": "^9.1.0", + "npmlog": "^6.0.2", + "upath": "^2.0.1" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } } } }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - }, - "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==", + "@lerna/project": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-6.1.0.tgz", + "integrity": "sha512-EOkfjjrTM16c3GUxGqcfYD2stV35p9mBEmkF41NPmyjfbzjol/irDF1r6Q7BsQSRsdClMJRCeZ168xdSxC2X0A==", "dev": true, "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "@lerna/package": "6.1.0", + "@lerna/validation-error": "6.1.0", + "cosmiconfig": "^7.0.0", + "dedent": "^0.7.0", + "dot-prop": "^6.0.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.2", + "js-yaml": "^4.1.0", + "load-json-file": "^6.2.0", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "resolve-from": "^5.0.0", + "write-json-file": "^4.3.0" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "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" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "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 + } + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.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 } } }, - "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==" - }, - "add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", - "dev": true - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", - "dev": true - }, - "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" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "@lerna/prompt": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-6.1.0.tgz", + "integrity": "sha512-981J/C53TZ2l2mFVlWJN7zynSzf5GEHKvKQa12Td9iknhASZOuwTAWb6eq46246Ant6W5tWwb0NSPu3I5qtcrA==", "dev": true, "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "inquirer": "^8.2.4", + "npmlog": "^6.0.2" }, "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } } } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "@lerna/publish": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-6.1.0.tgz", + "integrity": "sha512-XtvuydtU0IptbAapLRgoN1AZj/WJR+e3UKnx9BQ1Dwc+Fpg2oqPxR/vi+6hxAsr95pdQ5CnWBdgS+dg2wEUJ7Q==", "dev": true, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@lerna/check-working-tree": "6.1.0", + "@lerna/child-process": "6.1.0", + "@lerna/collect-updates": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/describe-ref": "6.1.0", + "@lerna/log-packed": "6.1.0", + "@lerna/npm-conf": "6.1.0", + "@lerna/npm-dist-tag": "6.1.0", + "@lerna/npm-publish": "6.1.0", + "@lerna/otplease": "6.1.0", + "@lerna/output": "6.1.0", + "@lerna/pack-directory": "6.1.0", + "@lerna/prerelease-id-from-version": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/pulse-till-done": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@lerna/version": "6.1.0", + "fs-extra": "^9.1.0", + "libnpmaccess": "^6.0.3", + "npm-package-arg": "8.1.1", + "npm-registry-fetch": "^13.3.0", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "pacote": "^13.6.1", + "semver": "^7.3.4" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "@lerna/pulse-till-done": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-6.1.0.tgz", + "integrity": "sha512-a2RVT82E4R9nVXtehzp2TQL6iXp0QfEM3bu8tBAR/SfI1A9ggZWQhuuUqtRyhhVCajdQDOo7rS0UG7R5JzK58w==", + "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" + "npmlog": "^6.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "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": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "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==", + "@lerna/query-graph": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-6.1.0.tgz", + "integrity": "sha512-YkyCc+6aR7GlCOcZXEKPcl5o5L2v+0YUNs59JrfAS0mctFosZ/2tP7pkdu2SI4qXIi5D0PMNsh/0fRni56znsQ==", + "dev": true, "requires": { - "type-fest": "^0.21.3" + "@lerna/package-graph": "6.1.0" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "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==", + "@lerna/resolve-symlink": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-6.1.0.tgz", + "integrity": "sha512-8ILO+h5fsE0q8MSLfdL+MT1GEsNhAB1fDyMkSsYgLRCsssN/cViZbffpclZyT/EfAhpyKfBCHZ0CmT1ZGofU1A==", + "dev": true, "requires": { - "color-convert": "^1.9.0" + "fs-extra": "^9.1.0", + "npmlog": "^6.0.2", + "read-cmd-shim": "^3.0.0" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "@lerna/rimraf-dir": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-6.1.0.tgz", + "integrity": "sha512-J9YeGHkCCeAIzsnKURYeGECBexiIii6HA+Bbd+rAgoKPsNCOj6ql4+qJE8Jbd7fQEFNDPQeBCYvM7JcdMc0WSA==", + "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@lerna/child-process": "6.1.0", + "npmlog": "^6.0.2", + "path-exists": "^4.0.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + } } }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "@lerna/run": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-6.1.0.tgz", + "integrity": "sha512-vlEEKPcTloiob6EK7gxrjEdB6fQQ/LNfWhSJCGxJlvNVbrMpoWIu0Kpp20b0nE+lzX7rRJ4seWr7Wdo/Fjub4Q==", "dev": true, "requires": { - "default-require-extensions": "^2.0.0" + "@lerna/command": "6.1.0", + "@lerna/filter-options": "6.1.0", + "@lerna/npm-run-script": "6.1.0", + "@lerna/output": "6.1.0", + "@lerna/profiler": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/timer": "6.1.0", + "@lerna/validation-error": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" } }, - "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 - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "devOptional": true, + "@lerna/run-lifecycle": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-6.1.0.tgz", + "integrity": "sha512-GbTdKxL+hWHEPgyBEKtqY9Nf+jFlt6YLtP5VjEVc5SdLkm+FeRquar9/YcZVUbzr3c+NJwWNgVjHuePfowdpUA==", + "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "@lerna/npm-conf": "6.1.0", + "@npmcli/run-script": "^4.1.7", + "npmlog": "^6.0.2", + "p-queue": "^6.6.2" }, "dependencies": { - "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==", - "devOptional": true, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "requires": { - "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" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } }, - "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==", - "devOptional": true + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } }, - "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==", - "devOptional": true, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" } } } }, - "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==", + "@lerna/run-topologically": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-6.1.0.tgz", + "integrity": "sha512-kpTaSBKdKjtf61be8Z1e7TIaMt/aksfxswQtpFxEuKDsPsdHfR8htSkADO4d/3SZFtmcAHIHNCQj9CaNj4O4Xw==", + "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "@lerna/query-graph": "6.1.0", + "p-queue": "^6.6.2" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - }, - "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": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - }, - "array-differ": { - "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-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true - }, - "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 - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "@lerna/symlink-binary": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-6.1.0.tgz", + "integrity": "sha512-DaiRNZk/dvomNxgEaTW145PyL7vIGP7rvnfXV2FO+rjX8UUSNUOjmVmHlYfs64gV9Eqx/dLfQClIbKcwYMD83A==", + "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "@lerna/create-symlink": "6.1.0", + "@lerna/package": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.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==", + "@lerna/symlink-dependencies": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-6.1.0.tgz", + "integrity": "sha512-hrTvtY1Ek+fLA4JjXsKsvwPjuJD0rwB/+K4WY57t00owj//BpCsJ37w3kkkS7f/PcW/5uRjCuHcY67LOEwsRxw==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "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==", - "dev": true - } + "@lerna/create-symlink": "6.1.0", + "@lerna/resolve-symlink": "6.1.0", + "@lerna/symlink-binary": "6.1.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "p-map-series": "^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==", + "@lerna/temp-write": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-6.1.0.tgz", + "integrity": "sha512-ZcQl88H9HbQ/TeWUOVt+vDYwptm7kwprGvj9KkZXr9S5Bn6SiKRQOeydCCfCrQT+9Q3dm7QZXV6rWzLsACcAlQ==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "graceful-fs": "^4.1.15", + "is-stream": "^2.0.0", + "make-dir": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^8.3.2" }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "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": { - "inherits": "2.0.1" + "semver": "^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==", + "dev": true } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "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": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "@lerna/timer": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-6.1.0.tgz", + "integrity": "sha512-du+NQ9q7uO4d2nVU4AD2DSPuAZqUapA/bZKuVpFVxvY9Qhzb8dQKLsFISe4A9TjyoNAk8ZeWK0aBc/6N+Qer9A==", "dev": true }, - "async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "@lerna/validation-error": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-6.1.0.tgz", + "integrity": "sha512-q0c3XCi5OpyTr8AcfbisS6e3svZaJF/riCvBDqRMaQUT4A8QOPzB4fVF3/+J2u54nidBuTlIk0JZu9aOdWTUkQ==", "dev": true, - "peer": 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": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "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==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "npmlog": "^6.0.2" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "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" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } } } }, - "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==", + "@lerna/version": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-6.1.0.tgz", + "integrity": "sha512-RUxVFdzHt0739lRNMrAbo6HWcFrcyG7atM1pn+Eo61fUoA5R/9N4bCk4m9xUGkJ/mOcROjuwAGe+wT1uOs58Bg==", + "dev": true, "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" + "@lerna/check-working-tree": "6.1.0", + "@lerna/child-process": "6.1.0", + "@lerna/collect-updates": "6.1.0", + "@lerna/command": "6.1.0", + "@lerna/conventional-commits": "6.1.0", + "@lerna/github-client": "6.1.0", + "@lerna/gitlab-client": "6.1.0", + "@lerna/output": "6.1.0", + "@lerna/prerelease-id-from-version": "6.1.0", + "@lerna/prompt": "6.1.0", + "@lerna/run-lifecycle": "6.1.0", + "@lerna/run-topologically": "6.1.0", + "@lerna/temp-write": "6.1.0", + "@lerna/validation-error": "6.1.0", + "@nrwl/devkit": ">=14.8.6 < 16", + "chalk": "^4.1.0", + "dedent": "^0.7.0", + "load-json-file": "^6.2.0", + "minimatch": "^3.0.4", + "npmlog": "^6.0.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", + "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" } }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, "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" @@ -36585,6 +29888,7 @@ "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" } @@ -36592,260 +29896,116 @@ "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": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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==" + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "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" } } } }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "@lerna/write-log-file": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-6.1.0.tgz", + "integrity": "sha512-09omu2w4NCt8mJH/X9ZMuToQQ3xu/KpC7EU4yDl2Qy8nxKf8HiG8Oe+YYNprngmkdsq60F5eUZvoiFDZ5JeGIg==", "dev": true, "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "npmlog": "^6.0.2", + "write-file-atomic": "^4.0.1" }, "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==", + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "requires": { - "semver": "^6.0.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, - "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.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "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" - } - }, - "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" } - } - } - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "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": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "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.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "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.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", - "dev": true - }, - "bin-links": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz", - "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==", - "dev": true, - "requires": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", - "dev": true }, "write-file-atomic": { "version": "4.0.2", @@ -36859,510 +30019,293 @@ } } }, - "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 - }, - "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, - "peer": 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" - } - } - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "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": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "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": "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" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "brotli-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.1.0.tgz", - "integrity": "sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==", + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, - "requires": { - "duplexer": "^0.1.1", - "iltorb": "^2.4.3" - } + "optional": true }, - "browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "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" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "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==" + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true }, - "browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "resolve": "^1.17.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.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==", + "@npmcli/arborist": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz", + "integrity": "sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==", "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" + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^4.1.3", + "bin-links": "^3.0.0", + "cacache": "^16.0.6", + "common-ancestor-path": "^1.0.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^5.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", + "walk-up-path": "^1.0.0" }, "dependencies": { - "buffer": { + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + } + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "hosted-git-info": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "lru-cache": "^7.5.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + } } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, - "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==", + "npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", "dev": true, "requires": { - "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" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } }, - "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==", + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "lru-cache": "^6.0.0" } }, - "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==", + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "minipass": "^3.1.1" } }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dev": true, "requires": { - "inherits": "2.0.3" + "builtins": "^5.0.0" } } } }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "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" - } - }, - "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.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "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": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { + "@npmcli/fs": { "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" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - }, - "bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "requires": { - "node-gyp-build": "^4.3.0" + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" - }, - "bundlesize": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.1.tgz", - "integrity": "sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==", + "@npmcli/git": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", + "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", "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" + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" }, "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==", + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "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" + } + } + } + }, + "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" + } } } }, - "byte-size": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", - "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", - "dev": true - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + "@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" + } }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "@npmcli/map-workspaces": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz", + "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==", "dev": true, "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/name-from-folder": "^1.0.1", "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" }, "dependencies": { "brace-expansion": { @@ -37387,12 +30330,6 @@ "once": "^1.3.0" } }, - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - }, "minimatch": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", @@ -37401,707 +30338,893 @@ "requires": { "brace-expansion": "^2.0.1" } - }, + } + } + }, + "@npmcli/metavuln-calculator": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz", + "integrity": "sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==", + "dev": true, + "requires": { + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } } } }, - "cache-base": { + "@npmcli/name-from-folder": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", + "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==", + "dev": true + }, + "@npmcli/node-gyp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", + "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "dev": true + }, + "@npmcli/package-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz", + "integrity": "sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==", + "dev": true, "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" + "json-parse-even-better-errors": "^2.3.1" } }, - "cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==" - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "@npmcli/promise-spawn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", + "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "dev": true, "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", + "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.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==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "requires": { - "pump": "^3.0.0" + "isexe": "^2.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.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", - "dev": true + "@nrwl/cli": { + "version": "15.4.4", + "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.4.tgz", + "integrity": "sha512-29f1No6eJAZczwVsJTjujyE40Lav6iwkfwTxnoiTUWaHHw9S95a8dMXelUB/BT2Tyf7OOFpwWZMXtDcRktrgGA==", + "dev": true, + "requires": { + "nx": "15.4.4" + } }, - "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==", + "@nrwl/devkit": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.3.0.tgz", + "integrity": "sha512-1O9QLB/eYS6ddw4MZnV4yj4CEqLIbpleZZiG/9w1TaiVO/jfNfXVaxc8EA87XSzMpk2W+/4Qggmabt6gAQaabA==", "dev": true, "requires": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" + "@phenomnomnominal/tsquery": "4.1.1", + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.3.4", + "tslib": "^2.3.0" }, "dependencies": { - "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==", + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "lru-cache": "^6.0.0" } + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true } } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "@nrwl/tao": { + "version": "15.4.4", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.4.tgz", + "integrity": "sha512-ekPYVpz1y3XlCPu6UkQfcpwyNHQ0SsXMN8omB4MPTSknvEhKmcVOPG3Kr4W9fk1UjmBr58ItAGmtx2sjVMH7XQ==", + "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "nx": "15.4.4" } }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "@octokit/auth-token": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", + "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", "dev": true, "requires": { - "callsites": "^2.0.0" + "@octokit/types": "^8.0.0" } }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "@octokit/core": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", + "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", "dev": true, "requires": { - "caller-callsite": "^2.0.0" + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", - "dev": true + "@octokit/endpoint": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", + "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", + "dev": true, + "requires": { + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "@octokit/graphql": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", + "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", + "dev": true, + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^8.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "@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 }, - "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==", + "@octokit/plugin-paginate-rest": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz", + "integrity": "sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==", "dev": true, "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "@octokit/types": "^8.0.0" } }, - "caniuse-lite": { - "version": "1.0.30001436", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", - "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==" + "@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, + "requires": {} }, - "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==", + "@octokit/plugin-rest-endpoint-methods": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz", + "integrity": "sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==", + "dev": true, "requires": { - "rsvp": "^4.8.4" + "@octokit/types": "^8.0.0", + "deprecation": "^2.3.1" } }, - "case": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", - "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==" + "@octokit/request": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", + "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", + "dev": true, + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "@octokit/request-error": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", + "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", + "dev": true, + "requires": { + "@octokit/types": "^8.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } }, - "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "@octokit/rest": { + "version": "19.0.5", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz", + "integrity": "sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==", "dev": true, "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^5.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^6.7.0" } }, - "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "@octokit/types": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "dev": true, "requires": { - "check-error": "^1.0.2" + "@octokit/openapi-types": "^14.0.0" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "dependencies": { + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true + } } }, - "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==" + "@phenomnomnominal/tsquery": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz", + "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==", + "dev": true, + "requires": { + "esquery": "^1.0.1" + } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true }, - "charm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", - "integrity": "sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==", + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, "requires": { - "inherits": "^2.0.1" + "defer-to-connect": "^2.0.1" } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "@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 }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", "dev": true, "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@types/node": "*" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + "@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } }, - "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==", + "@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 }, - "ci-env": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.17.0.tgz", - "integrity": "sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==", - "dev": true + "@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "requires": { + "@types/node": "*" + } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "@types/eslint": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.3.tgz", + "integrity": "sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, "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" - } - } + "@types/eslint": "*", + "@types/estree": "*" } }, - "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==", + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@types/minimatch": "*", + "@types/node": "*" } }, - "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==" + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, - "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==", + "@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.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==" - } + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "@types/normalize-package-data": { + "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": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dev": true, + "requires": { + "@types/node": "*" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "@types/prettier": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==", "dev": true }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "dev": true, "requires": { - "exit": "0.1.2", - "glob": "^7.1.1" + "@types/node": "*" } }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "@types/node": "*" } }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "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 - }, - "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "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, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "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, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "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==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "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": { - "isobject": "^3.0.1" - } - } + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, "requires": { - "mimic-response": "^1.0.0" - }, - "dependencies": { - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - } + "@xtuc/ieee754": "^1.2.0" } }, - "cmd-shim": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", - "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { - "mkdirp-infer-owner": "^2.0.0" + "@xtuc/long": "4.2.2" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "devOptional": true + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } }, - "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==" + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, - "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==", + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, "requires": { - "color-name": "1.1.3" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", + "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", + "dev": true, + "requires": {} + }, + "@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 }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "@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 }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true }, - "columnify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", - "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "@yarnpkg/parsers": { + "version": "3.0.0-rc.34", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.34.tgz", + "integrity": "sha512-NhEA0BusInyk7EiJ7i7qF1Mkrb6gGjZcQQ/W1xxGazxapubEmGO7v5WSll6hWxFXE2ngtLj8lflq1Ff5VtqEww==", "dev": true, "requires": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + } } }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "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 + }, + "abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "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" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "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" }, "dependencies": { - "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + } + } + }, + "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==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "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==", + "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": { - "delayed-stream": "~1.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.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==" + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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" + } }, - "commander": { + "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": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, - "common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", - "dev": true + "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==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "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==", + "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==", "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" - } - } + "color-convert": "^1.9.0" } }, - "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==" + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "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" + } }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "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 + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" }, "dependencies": { "readable-stream": { @@ -38136,3920 +31259,4240 @@ } } }, - "config-chain": { - "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", - "proto-list": "~1.2.1" - } + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } + "sprintf-js": "~1.0.2" } }, - "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 + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "peer": true }, - "console-control-strings": { + "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "devOptional": true + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "peer": true }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "peer": true }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true }, - "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" - } + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true }, - "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==" + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true }, - "conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } + "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 }, - "conventional-changelog-core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "requires": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "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": "^4.0.0" - }, - "dependencies": { - "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" - } - } - } + "peer": true }, - "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==", + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true }, - "conventional-changelog-writer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", - "dev": true, - "requires": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "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": { - "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" - } - } - } + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true }, - "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==", + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" + "safer-buffer": "~2.1.0" } }, - "conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "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" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, "dependencies": { - "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" - } + "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==", + "dev": true } } }, - "conventional-recommended-bump": { - "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==", + "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": { - "concat-stream": "^2.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" + "object-assign": "^4.1.1", + "util": "0.10.3" }, "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "inherits": "2.0.1" } } } }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "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 }, - "cookie-signature": { + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "peer": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "async-each": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "peer": true }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + "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==", + "dev": true }, - "core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, - "core-js-compat": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", - "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "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, - "requires": { - "browserslist": "^4.21.4" - } + "peer": true }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "devOptional": true + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "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==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true }, - "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" - } + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "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" + "follow-redirects": "^1.14.0" } }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "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==", + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "dependencies": { - "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==", - "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" + } } } }, - "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==", + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "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" + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" } }, - "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==", + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "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" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, - "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-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, "requires": { - "node-fetch": "2.6.7" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "peer": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "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": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "peer": true, "requires": { - "isexe": "^2.0.0" + "is-descriptor": "^1.0.0" } } } }, - "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==", + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "dev": true, "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" + "safe-buffer": "^5.0.1" } }, - "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==", + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "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 }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, "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==" - } + "tweetnacl": "^0.14.3" } }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", "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": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, - "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==", + "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 }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } + "bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "dev": true }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "bin-links": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz", + "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==", + "dev": true, "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" }, "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "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==" + "npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" } } } }, - "date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", - "dev": true - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "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 }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "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, + "peer": true, "requires": { - "ms": "2.1.2" + "file-uri-to-path": "1.0.0" } }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", - "dev": true - }, - "decache": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.1.tgz", - "integrity": "sha512-ohApBM8u9ygepJCjgBrEZSSxPjc0T/PJkD+uNyxXPkqudyUpdXpwJYp0VISm2WrPVzASU6DZyIi6BWdyw7uJ2Q==", + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "requires": { - "callsite": "^1.0.0" + "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==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "dev": true }, - "decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - }, - "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==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "mimic-response": "^2.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "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": { - "type-detect": "^4.0.0" + "fill-range": "^7.0.1" } }, - "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==", + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==", + "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": { - "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": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - } + "duplexer": "^0.1.1", + "iltorb": "^2.4.3" } }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "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": { - "clone": "^1.0.2" + "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" } }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" - }, - "define-lazy-prop": { + "browser-resolve": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "resolve": "^1.17.0" } }, - "defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "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 }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "devOptional": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dependency-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", - "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", + "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": { - "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" + "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": { - "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==", + "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" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "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==", "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" + "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" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true + }, + "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, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "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" + } + }, + "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" + } } } }, - "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==", + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.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" } }, - "des.js": { + "browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "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.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "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==", "dev": true, "requires": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { - "asap": "^2.0.0", - "wrappy": "1" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "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==", + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "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==", - "dev": true - } + "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" } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "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": { - "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 - } + "pako": "~1.0.5" } }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" } }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", "dev": true, "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "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==" - } + "base-x": "^3.0.2" } }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "dev": true, "requires": { - "domelementtype": "1" + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "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": { - "dom-serializer": "0", - "domelementtype": "1" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", "dev": true, "requires": { - "is-obj": "^2.0.0" + "node-gyp-build": "^4.3.0" } }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", "dev": true }, - "dts-critic": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/dts-critic/-/dts-critic-3.3.11.tgz", - "integrity": "sha512-HMO2f9AO7ge44YO8OK18f+cxm/IaE1CFuyNFbfJRCEbyazWj5X5wWDF6W4CGdo5Ax0ILYVfJ7L/rOwuUN1fzWw==", + "bundlesize": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.1.tgz", + "integrity": "sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==", + "dev": true, "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" + "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": { - "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==", - "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" - } - }, - "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" - } - }, - "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" - } + "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 } } }, - "dtslint": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-3.7.0.tgz", - "integrity": "sha512-kVFV+zI2zwCUuwjLl2XVuIoSeLIqba6SmFlBKicwrlk1v0If+x6/cNm7UljSsqN5fJM/K2JJfd9NPPDVBXjjuA==", + "byte-size": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", + "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", + "dev": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, "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-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==", - "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" - } - }, - "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==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "json-stable-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", - "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", - "requires": { - "jsonify": "^0.0.1" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "requires": { - "p-locate": "^4.1.0" + "balanced-match": "^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==", + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, "requires": { - "p-limit": "^2.2.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true }, - "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==", + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "brace-expansion": "^2.0.1" } }, - "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" - } + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "minipass": "^3.1.1" } } } }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "peer": true, + "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-lookup": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", + "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", "dev": true }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", "dev": true, "requires": { - "readable-stream": "^2.0.2" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" }, "dependencies": { - "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==", + "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": { - "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" + "pump": "^3.0.0" } }, - "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==", + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true - }, - "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==", + } + } + }, + "cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "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" + }, + "dependencies": { + "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, "requires": { - "safe-buffer": "~5.1.0" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } } } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dev": true, "requires": { - "jake": "^10.8.5" + "caller-callsite": "^2.0.0" } }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "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==", + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "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": { - "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" - }, - "dependencies": { - "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==" - } + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001436", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", + "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" } }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "requires": { + "check-error": "^1.0.2" + } }, - "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==" + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "encodeurl": { + "check-error": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "requires": { - "iconv-lite": "^0.6.2" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "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.17.0", + "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.17.0.tgz", + "integrity": "sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==", + "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==", + "dev": true + }, + "cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" }, "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "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" } } } }, - "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==", + "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==", + "dev": true, "requires": { - "once": "^1.4.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "engine.io": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", - "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", + "dev": true + }, + "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==", "dev": true, + "peer": true, "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "requires": {} + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "peer": 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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "peer": 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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.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, + "peer": true } } }, - "engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "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 }, - "enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", "dev": true, "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "exit": "0.1.2", + "glob": "^7.1.1" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "cli-cursor": { + "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": { - "ansi-colors": "^4.1.1" + "restore-cursor": "^3.1.0" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", - "dev": true - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", - "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 - }, - "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": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, - "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==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "cli-width": { + "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 }, - "es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "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 + }, + "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "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, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "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, + "requires": { + "ansi-regex": "^4.1.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==", + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "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==" - }, - "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==", + "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": { - "d": "^1.0.1", - "ext": "^1.1.2" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "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": { + "isobject": "^3.0.1" + } + } } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { + "clone-response": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "mimic-response": "^1.0.0" }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true } } }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "cmd-shim": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", + "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "mkdirp-infer-owner": "^2.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==" + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, + "peer": true, "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "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==", "dev": true, "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "color-name": "1.1.3" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dev": true, "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "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==" - } + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" } }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, "requires": { - "js-sha3": "^0.8.0" + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" }, "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true } } }, - "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==", + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "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" + "delayed-stream": "~1.0.0" } }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - } + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } + "common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "dev": true }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "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": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" }, "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + "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" + } } } }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" + "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, + "peer": true }, - "events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "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==", + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "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" + } + } } }, - "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==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "config-chain": { + "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": { - "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" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "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.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" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "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==" - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "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==", + "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": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "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" + "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==", + "dev": true + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "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": "^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==", + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, "requires": { - "color-convert": "^2.0.1" + "readable-stream": "3" } - }, - "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==", + } + } + }, + "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": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "requires": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "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": { + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "readable-stream": "3" } - }, - "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==" } } }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "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": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "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" }, "dependencies": { - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, "requires": { - "ms": "2.0.0" + "readable-stream": "3" } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + } + } + }, + "conventional-recommended-bump": { + "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.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": { + "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": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "peer": true + }, + "core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "dev": true + }, + "core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, "requires": { - "type": "^2.7.2" + "browserslist": "^4.21.4" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "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": { + "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" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true + }, + "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": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" }, "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + "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==", + "dev": true } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "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" + } + }, + "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" + } + }, + "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 }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "node-fetch": "2.6.7" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "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": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "isexe": "^2.0.0" } } } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "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": { - "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - } + "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" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + "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 }, - "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==" + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "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==" + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "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 }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", "dev": true }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", "dev": true }, - "fastq": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", - "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "reusify": "^1.0.4" + "ms": "2.1.2" } }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", + "dev": true + }, + "decache": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.1.tgz", + "integrity": "sha512-ohApBM8u9ygepJCjgBrEZSSxPjc0T/PJkD+uNyxXPkqudyUpdXpwJYp0VISm2WrPVzASU6DZyIi6BWdyw7uJ2Q==", + "dev": true, "requires": { - "bser": "2.1.1" + "callsite": "^1.0.0" } }, - "fetch-mock": { - "version": "9.11.0", - "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz", - "integrity": "sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==", + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "requires": { - "@babel/core": "^7.0.0", - "@babel/runtime": "^7.0.0", - "core-js": "^3.0.0", - "debug": "^4.1.1", - "glob-to-regexp": "^0.4.0", - "is-subset": "^0.1.1", - "lodash.isequal": "^4.5.0", - "path-to-regexp": "^2.2.1", - "querystring": "^0.2.0", - "whatwg-url": "^6.5.0" + "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": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "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, "requires": { - "escape-string-regexp": "^1.0.5" + "mimic-response": "^2.0.0" } }, - "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==", + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, - "optional": true, - "peer": true + "requires": { + "type-detect": "^4.0.0" + } }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "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 + }, + "default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==", "dev": true, "requires": { - "minimatch": "^5.0.1" + "strip-bom": "^3.0.0" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": 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==", + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "clone": "^1.0.2" } }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "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, + "peer": 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-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "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": { + "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": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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": { - "ms": "2.0.0" + "@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" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } } } }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "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": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "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==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "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": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "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": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.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" - } + "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==", + "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==", + "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": { - "locate-path": "^3.0.0" + "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 + } } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, "requires": { - "is-callable": "^1.1.3" + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==", + "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": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" }, "dependencies": { - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", - "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" - } + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true } } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "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" - } + "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 }, - "form-data-encoder": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", - "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==" + "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 }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, "requires": { - "map-cache": "^0.2.2" + "domelementtype": "1" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "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": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "dom-serializer": "0", + "domelementtype": "1" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dot-prop": { + "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": { - "minipass": "^3.0.0" + "is-obj": "^2.0.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==", + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true }, - "ganache": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.5.0.tgz", - "integrity": "sha512-afNTJYBEaFrLPRrn7eUxH39TgnrffvHn/4T6THzQrc3rpfe4DOxw2nY2XEQxfsq1t4OqKSXtxomzyo26RZiOzw==", - "dev": true, - "requires": { - "@trufflesuite/bigint-buffer": "1.1.10", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "5.1.1", - "@types/seedrandom": "3.0.1", - "bufferutil": "4.0.5", - "emittery": "0.10.0", - "keccak": "3.0.2", - "leveldown": "6.1.0", - "secp256k1": "4.0.3", - "utf-8-validate": "5.0.7" - }, - "dependencies": { - "@trufflesuite/bigint-buffer": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", - "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", - "bundled": true, - "dev": true, - "requires": { - "node-gyp-build": "4.4.0" - }, - "dependencies": { - "node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "bundled": true, - "dev": true - } - } - }, - "@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==", - "bundled": true, - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "bundled": true, - "dev": true - }, - "@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", - "bundled": true, - "dev": true - }, - "@types/seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", - "bundled": true, - "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==", - "bundled": true, - "dev": true - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "bundled": true, - "dev": true - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "bundled": true, - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "bufferutil": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", - "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", - "dev": true, - "optional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "catering": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", - "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", - "bundled": true, - "dev": true, - "requires": { - "queue-tick": "^1.0.0" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "bundled": true, - "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" - }, - "dependencies": { - "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==", - "bundled": true, - "dev": true - } - } - }, - "emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", - "bundled": true, - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "bundled": true, - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "bundled": true, - "dev": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "bundled": true, - "dev": true - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "bundled": true, - "dev": true - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "bundled": true, - "dev": true, - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "leveldown": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", - "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", - "bundled": true, - "dev": true, - "requires": { - "abstract-leveldown": "^7.2.0", - "napi-macros": "~2.0.0", - "node-gyp-build": "^4.3.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", - "bundled": true, - "dev": true, - "requires": { - "buffer": "^6.0.3", - "catering": "^2.0.0", - "is-buffer": "^2.0.5", - "level-concat-iterator": "^3.0.0", - "level-supports": "^2.0.1", - "queue-microtask": "^1.2.3" - } - }, - "level-concat-iterator": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", - "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", - "bundled": true, - "dev": true, - "requires": { - "catering": "^2.1.0" - } - }, - "level-supports": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", - "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", - "bundled": true, - "dev": true - } - } - }, - "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==", - "bundled": true, - "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=", - "bundled": true, - "dev": true - }, - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", - "bundled": true, - "dev": true - }, - "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==", - "bundled": true, - "dev": true - }, - "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "bundled": true, - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "bundled": true, - "dev": true - }, - "queue-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", - "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", - "bundled": true, - "dev": true - }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + }, + "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==", - "bundled": true, + "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": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" } }, "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==", - "bundled": true, + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "bundled": true, - "dev": true, - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "bundled": true, + "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.2.0" + "safe-buffer": "~5.1.0" } - }, - "utf-8-validate": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", - "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "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": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dev": true, + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "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": { + "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" + }, + "dependencies": { + "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==", + "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 + }, + "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": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "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, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "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": { - "node-gyp-build": "^4.3.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "bundled": true, - "dev": true } } }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "devOptional": true, + "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": { - "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" + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", + "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "devOptional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "devOptional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "devOptional": 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": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "devOptional": true, - "requires": { - "ansi-regex": "^2.0.0" - } + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "requires": {} } } }, - "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==" + "engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "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==", + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", "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==" + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "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": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "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 }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "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": "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 + }, + "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": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "is-arrayish": "^0.2.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==" + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true }, - "get-pkg-repo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", "dev": true, "requires": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.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==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "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-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" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "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 + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.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==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.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==", - "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==", + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true - }, - "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" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + } + } + }, + "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": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "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" - } } } }, - "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==", + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, - "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==" + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", + "dev": true, "requires": { - "assert-plus": "^1.0.0" + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" } }, - "git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "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": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" }, "dependencies": { - "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" - } + "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==", + "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": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", "dev": true, "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "js-sha3": "^0.8.0" }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "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" - } - }, - "git-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", - "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "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": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.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" } }, - "git-url-parse": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", - "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", "dev": true, "requires": { - "git-up": "^7.0.0" + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" } }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "dev": true, "requires": { - "ini": "^1.3.2" + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" } }, - "github-build": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.3.tgz", - "integrity": "sha512-57zUA9ZbaKQHxoUATq3dkr+gUeaOWGGC/3Vw/AJNIUkiUmd7DnYM9TMTmUknbkuvx6+SeSqWpLBunZZzCPLUMg==", + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", "dev": true, "requires": { - "axios": "0.21.3" + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" }, "dependencies": { - "axios": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", - "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.0" - } + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "dev": true } } }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", "dev": true }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "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": { - "min-document": "^2.19.0", - "process": "^0.11.10" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "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": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } + "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" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true }, - "got": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", - "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "peer": true, "requires": { - "@sindresorhus/is": "^4.6.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "1.7.1", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^2.0.0" + "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": { - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "peer": true, "requires": { - "mimic-response": "^3.1.0" + "ms": "2.0.0" } }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "peer": 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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "peer": 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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": true + }, + "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, + "peer": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "peer": true } } }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "optional": 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==", + "dev": true }, - "gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", - "integrity": "sha512-1g6EPVvIHuPmpAdBBpsIVYLgjzGV/QqcFRJXpMyrqEWG10JhOaTjQeCcjMDyX0Iqfm/Q5M9twR/mbDk5f5MqkA==", + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { - "duplexer": "^0.1.1", - "pify": "^3.0.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "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" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + } } }, - "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==", + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "peer": true, "requires": { - "function-bind": "^1.1.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "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": { - "ansi-regex": "^2.0.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + "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" + } } } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "devOptional": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "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": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "peer": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "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": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "peer": 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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-descriptor": "^1.0.0" } }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "peer": true, "requires": { - "is-buffer": "^1.1.5" + "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": true } } }, - "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" - } + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true }, - "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" - } + "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 }, - "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==", + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { - "is-stream": "^1.0.1" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" } }, - "hat": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", - "integrity": "sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==", + "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 }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "dev": true }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "reusify": "^1.0.4" } }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "fetch-mock": { + "version": "9.11.0", + "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz", + "integrity": "sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==", + "dev": true, "requires": { - "lru-cache": "^6.0.0" + "@babel/core": "^7.0.0", + "@babel/runtime": "^7.0.0", + "core-js": "^3.0.0", + "debug": "^4.1.1", + "glob-to-regexp": "^0.4.0", + "is-subset": "^0.1.1", + "lodash.isequal": "^4.5.0", + "path-to-regexp": "^2.2.1", + "querystring": "^0.2.0", + "whatwg-url": "^6.5.0" } }, - "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==", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, "requires": { - "whatwg-encoding": "^1.0.5" + "escape-string-regexp": "^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": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", - "dev": true + "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, + "peer": true }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" + "minimatch": "^5.0.1" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "balanced-match": "^1.0.0" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } } } }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "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" + } }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "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" }, "dependencies": { - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } } } }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==" - }, - "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==", + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "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" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "dependencies": { - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "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" + } } } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "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": { - "agent-base": "6", - "debug": "4" + "locate-path": "^3.0.0" } }, - "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==", + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "requires": { - "ms": "^2.0.0" - } + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true }, - "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" - } + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true }, - "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": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==" - } + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", - "dev": true + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "peer": true }, - "ignore-walk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", - "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==", "dev": true, "requires": { - "minimatch": "^5.0.1" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", "dev": true, "requires": { - "balanced-match": "^1.0.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, - "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "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": { - "brace-expansion": "^2.0.1" + "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": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "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==", + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data-encoder": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", + "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, + "peer": 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" + "map-cache": "^0.2.2" } }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "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==", + "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": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "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": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "minipass": "^3.0.0" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "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==", + "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 }, - "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==", + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "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==" + "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 }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "init-package-json": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz", - "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==", + "ganache": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.5.0.tgz", + "integrity": "sha512-afNTJYBEaFrLPRrn7eUxH39TgnrffvHn/4T6THzQrc3rpfe4DOxw2nY2XEQxfsq1t4OqKSXtxomzyo26RZiOzw==", "dev": true, "requires": { - "npm-package-arg": "^9.0.1", - "promzard": "^0.3.0", - "read": "^1.0.7", - "read-package-json": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" + "@trufflesuite/bigint-buffer": "1.1.10", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "5.1.1", + "@types/seedrandom": "3.0.1", + "bufferutil": "4.0.5", + "emittery": "0.10.0", + "keccak": "3.0.2", + "leveldown": "6.1.0", + "secp256k1": "4.0.3", + "utf-8-validate": "5.0.7" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "@trufflesuite/bigint-buffer": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", + "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", + "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0" + "node-gyp-build": "4.4.0" + }, + "dependencies": { + "node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "bundled": true, + "dev": true + } } }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "@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==", + "bundled": true, "dev": true, "requires": { - "semver": "^7.0.0" + "@types/node": "*" } }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "bundled": true, + "dev": true + }, + "@types/node": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", + "bundled": true, + "dev": true + }, + "@types/seedrandom": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", + "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", + "bundled": true, + "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==", + "bundled": true, + "dev": true + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "bundled": true, + "dev": true + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "hosted-git-info": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", - "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "bufferutil": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", + "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "dev": true, + "optional": true, "requires": { - "lru-cache": "^7.5.1" + "node-gyp-build": "^4.3.0" + } + }, + "catering": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", + "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", + "bundled": true, + "dev": true, + "requires": { + "queue-tick": "^1.0.0" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "bundled": true, + "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" }, "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "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==", + "bundled": true, "dev": true } } }, - "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "bundled": true, + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "bundled": true, + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "bundled": true, + "dev": true + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "bundled": true, + "dev": true + }, + "keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "bundled": true, + "dev": true, + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "leveldown": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", + "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", + "bundled": true, + "dev": true, + "requires": { + "abstract-leveldown": "^7.2.0", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", + "bundled": true, + "dev": true, + "requires": { + "buffer": "^6.0.3", + "catering": "^2.0.0", + "is-buffer": "^2.0.5", + "level-concat-iterator": "^3.0.0", + "level-supports": "^2.0.1", + "queue-microtask": "^1.2.3" + } + }, + "level-concat-iterator": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", + "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", + "bundled": true, + "dev": true, + "requires": { + "catering": "^2.1.0" + } + }, + "level-supports": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", + "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", + "bundled": true, + "dev": true + } + } + }, + "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==", + "bundled": true, + "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=", + "bundled": true, + "dev": true + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", + "bundled": true, + "dev": true + }, + "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==", + "bundled": true, + "dev": true + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "bundled": true, + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "bundled": true, + "dev": true + }, + "queue-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", + "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", + "bundled": true, + "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==", + "bundled": true, + "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==", + "bundled": true, + "dev": true + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "bundled": true, + "dev": true, + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "bundled": true, "dev": true, "requires": { - "brace-expansion": "^2.0.1" + "safe-buffer": "~5.2.0" } }, - "normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "utf-8-validate": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", + "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "dev": true, + "optional": true, "requires": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "node-gyp-build": "^4.3.0" } }, - "npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, + "dev": true + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "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": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true }, - "npm-package-arg": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", - "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", - "dev": true, - "requires": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - } + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, - "read-package-json": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", - "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dev": true, "requires": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" + "number-is-nan": "^1.0.0" } }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "requires": { - "builtins": "^5.0.0" + "ansi-regex": "^2.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": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "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": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "requires": { - "source-map": "~0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - } + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" } }, - "inquirer": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", - "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" }, "dependencies": { "ansi-styles": { @@ -42061,14 +35504,15 @@ "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==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "color-convert": { @@ -42086,21 +35530,6 @@ "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" - } - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -42111,1114 +35540,974 @@ "string-width": "^4.1.0", "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": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "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" + } } } }, - "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": { - "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": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "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 }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "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 }, - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "peer": 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==" + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^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==", + "git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, "requires": { - "kind-of": "^6.0.0" + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "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" + } + } } }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "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": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "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" + } }, - "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==", + "git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "git-url-parse": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "dev": true, + "requires": { + "git-up": "^7.0.0" + } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "requires": { + "ini": "^1.3.2" + } }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "github-build": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.3.tgz", + "integrity": "sha512-57zUA9ZbaKQHxoUATq3dkr+gUeaOWGGC/3Vw/AJNIUkiUmd7DnYM9TMTmUknbkuvx6+SeSqWpLBunZZzCPLUMg==", + "dev": true, "requires": { - "ci-info": "^2.0.0" + "axios": "0.21.3" + }, + "dependencies": { + "axios": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + } } }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "has": "^1.0.3" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "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==", + "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": { - "kind-of": "^6.0.0" + "is-glob": "^4.0.1" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "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-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "min-document": "^2.19.0", + "process": "^0.11.10" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "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-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "devOptional": true + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } }, - "is-extendable": { + "gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", + "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.6.0", + "@szmarczak/http-timer": "^5.0.1", + "@types/cacheable-request": "^6.0.2", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^6.0.4", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "form-data-encoder": "1.7.1", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^2.0.0" }, "dependencies": { - "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==", + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, "requires": { - "isobject": "^3.0.1" + "mimic-response": "^3.1.0" } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true } } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "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==" - }, - "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.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha512-1g6EPVvIHuPmpAdBBpsIVYLgjzGV/QqcFRJXpMyrqEWG10JhOaTjQeCcjMDyX0Iqfm/Q5M9twR/mbDk5f5MqkA==", + "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "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": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "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": { - "is-extglob": "^2.1.1" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^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": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-obj": { + "har-schema": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "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": { + "ajv": "^6.12.3", + "har-schema": "^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==", + "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-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-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==", + "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": { - "is-unc-path": "^1.0.0" + "function-bind": "^1.1.1" } }, - "is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { - "protocols": "^2.0.1" + "has-symbols": "^1.0.2" } }, - "is-stream": { + "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "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": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, + "peer": true, "requires": { - "text-extensions": "^1.0.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "peer": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "peer": 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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "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==", + "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": { - "unc-path-regex": "^0.1.2" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "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, + "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": { - "is-docker": "^2.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "hasha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", + "integrity": "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==", + "dev": true, + "requires": { + "is-stream": "^1.0.1" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + } + } }, - "isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "hat": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", + "integrity": "sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==", "dev": true }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "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==", + "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 }, - "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==", + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "requires": { - "append-transform": "^1.0.0" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.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==", + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "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" + "lru-cache": "^6.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==", + "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": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" }, "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==", + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true } } }, - "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==", + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "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" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "dependencies": { - "rimraf": { - "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" - } + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "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==", + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", + "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": { - "html-escaper": "^2.0.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.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==", + "dependencies": { + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "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" - } } } }, - "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "requires": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" + "agent-base": "6", + "debug": "4" } }, - "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==", + "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", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "dependencies": { - "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" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - } + "ms": "^2.0.0" } }, - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "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": { - "@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" - }, - "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" - } - }, - "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==" - }, - "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" - } - }, - "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" - } - } + "safer-buffer": ">= 2.1.2 < 3" } }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "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": { - "@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" + "punycode": "2.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" - } - }, - "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" - } + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", + "dev": true } } }, - "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==", + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "dev": true + }, + "ignore-walk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "dev": true, "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "minimatch": "^5.0.1" }, "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": { + "brace-expansion": { "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/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "balanced-match": "^1.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==" - }, - "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==", + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "brace-expansion": "^2.0.1" } } } }, - "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==", + "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-newline": "^3.0.0" + "detect-libc": "^1.0.3", + "nan": "^2.14.0", + "npmlog": "^4.1.2", + "prebuild-install": "^5.3.3", + "which-pm-runs": "^1.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==", + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "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" - }, - "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" - } - } + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" } }, - "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==", + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "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" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "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==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "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 + }, + "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": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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" + "once": "^1.3.0", + "wrappy": "1" } }, - "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==" + "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 }, - "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==", + "init-package-json": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz", + "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==", + "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" + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.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==" - }, - "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==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "balanced-match": "^1.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==", + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "semver": "^7.0.0" } - } - } - }, - "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==", - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, "requires": { - "color-convert": "^2.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "lru-cache": "^7.5.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + } } }, - "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==", + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "brace-expansion": "^2.0.1" } }, - "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==", + "normalize-package-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" } - } - } - }, - "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==", - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "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==", - "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==", + }, + "npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true + }, + "npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, "requires": { - "color-convert": "^2.0.1" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "read-package-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", + "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.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==", + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "lru-cache": "^6.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==" - }, - "has-flag": { + "validate-npm-package-name": { "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==", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "builtins": "^5.0.0" } } } }, - "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==", + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "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" + "source-map": "~0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^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==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -43227,6 +36516,7 @@ "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" @@ -43236,6 +36526,7 @@ "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" } @@ -43243,675 +36534,505 @@ "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": "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==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "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" } + }, + "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" + } } } }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "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": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "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" } }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true + }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } }, - "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==" + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, - "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==", + "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": { - "@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" + "binary-extensions": "^2.0.0" + } + }, + "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.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "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.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "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, + "peer": 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, + "peer": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "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": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "peer": true, + "requires": { + "is-plain-object": "^2.0.4" }, "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==" - }, - "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==" - }, - "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" - } - }, - "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==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "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" - } - }, - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "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==", + "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, + "peer": true, "requires": { - "has-flag": "^4.0.0" + "isobject": "^3.0.1" } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, - "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-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "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 + }, + "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.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "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": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "dev": true + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": 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 + }, + "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 + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "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 + }, + "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": { + "is-unc-path": "^1.0.0" + } + }, + "is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "dev": true, + "requires": { + "protocols": "^2.0.1" + } + }, + "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 + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "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": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^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-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "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": { - "@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==" - }, - "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==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.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" - } - } + "unc-path-regex": "^0.1.2" } }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "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, + "peer": 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": { - "@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-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==" - }, - "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" - } - }, - "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" - } - }, - "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-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==", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "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 + }, + "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": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "append-transform": "^1.0.0" } }, - "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-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": { - "@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==" - }, - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "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" - } - } + "@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" } }, - "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-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", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.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" - } - }, - "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-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-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/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" + "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-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.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "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==", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "glob": "^7.1.3" } } } }, - "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-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": { + "html-escaper": "^2.0.0" + } + }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "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" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" }, "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" } @@ -43920,6 +37041,7 @@ "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" @@ -43929,6 +37051,7 @@ "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" } @@ -43936,17 +37059,20 @@ "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": "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==" + "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" } @@ -43984,7 +37110,8 @@ "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true }, "js-string-escape": { "version": "1.0.1", @@ -43995,12 +37122,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" @@ -44009,76 +37138,14 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "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.6", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "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": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "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.13.6", @@ -44118,7 +37185,8 @@ "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -44129,17 +37197,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.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "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", @@ -44159,12 +37230,14 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsonc-parser": { "version": "3.2.0", @@ -44185,7 +37258,8 @@ "jsonify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==" + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true }, "jsonparse": { "version": "1.3.1", @@ -44207,6 +37281,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -44381,6 +37456,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "dev": true, "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -44391,6 +37467,7 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, "requires": { "json-buffer": "3.0.1" } @@ -44398,7 +37475,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", @@ -44409,11 +37487,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", @@ -44504,20 +37577,6 @@ } } }, - "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": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, "libnpmaccess": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz", @@ -44683,7 +37742,8 @@ "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "load-json-file": { "version": "6.2.0", @@ -44755,7 +37815,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.assign": { "version": "4.2.0", @@ -44885,12 +37946,14 @@ "lowercase-keys": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==" + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true }, "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" } @@ -44916,7 +37979,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": "10.2.1", @@ -44976,18 +38040,12 @@ } } }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "requires": { - "tmpl": "1.0.5" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "peer": true }, "map-obj": { "version": "4.3.0", @@ -44999,6 +38057,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "peer": true, "requires": { "object-visit": "^1.0.0" } @@ -45007,6 +38067,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", @@ -45016,7 +38077,8 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true }, "memorystream": { "version": "0.3.1", @@ -45157,7 +38219,8 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true }, "merge-source-map": { "version": "1.1.0", @@ -45171,7 +38234,8 @@ "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==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "merge2": { "version": "1.4.1", @@ -45182,12 +38246,14 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -45220,12 +38286,14 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "requires": { "mime-db": "1.52.0" } @@ -45233,7 +38301,8 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true }, "mimic-response": { "version": "2.1.0", @@ -45245,6 +38314,7 @@ "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dev": true, "requires": { "dom-walk": "^0.1.0" } @@ -45258,17 +38328,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": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -45276,7 +38349,8 @@ "minimist": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true }, "minimist-options": { "version": "4.1.0", @@ -45293,6 +38367,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -45359,6 +38434,7 @@ "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" @@ -45368,6 +38444,8 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "peer": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -45377,6 +38455,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, "requires": { "minimist": "^1.2.6" } @@ -45410,6 +38489,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "dev": true, "requires": { "mkdirp": "*" } @@ -45645,7 +38725,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", @@ -45711,12 +38792,14 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "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" @@ -45726,6 +38809,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" @@ -45737,6 +38821,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" } @@ -45745,6 +38830,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", @@ -45755,6 +38841,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" @@ -45764,6 +38851,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" @@ -45813,7 +38901,8 @@ "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": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==" + "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", + "dev": true }, "nanoid": { "version": "3.3.3", @@ -45825,6 +38914,8 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "peer": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -45845,15 +38936,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": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true }, "neo-async": { "version": "2.6.2", @@ -45870,12 +38957,8 @@ "next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true }, "node-abi": { "version": "2.30.1", @@ -45897,7 +38980,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.11.0", @@ -45912,6 +38996,7 @@ "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, "requires": { "whatwg-url": "^5.0.0" }, @@ -45919,17 +39004,20 @@ "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -46025,57 +39113,14 @@ "node-gyp-build": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "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": { - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "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" - } - } - } + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true }, "node-releases": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true }, "noop-logger": { "version": "0.1.1", @@ -46096,6 +39141,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, "requires": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", @@ -46107,6 +39153,7 @@ "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -46116,12 +39163,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": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true }, "npm-bundled": { "version": "1.1.2", @@ -46158,26 +39207,6 @@ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "npm-packlist": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz", @@ -46391,6 +39420,7 @@ "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": "^3.0.0" } @@ -46399,7 +39429,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", @@ -46411,12 +39441,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "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": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "dev": true, "requires": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -46425,15 +39456,11 @@ "bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "dev": true } } }, - "nwsapi": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", - "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==" - }, "nx": { "version": "15.4.4", "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.4.tgz", @@ -46787,17 +39814,21 @@ "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": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "peer": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -46808,6 +39839,8 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "peer": true, "requires": { "is-descriptor": "^0.1.0" } @@ -46816,6 +39849,8 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" } @@ -46824,6 +39859,8 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" } @@ -46832,6 +39869,8 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -46841,7 +39880,9 @@ "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==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "peer": true } } }, @@ -46849,6 +39890,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -46858,12 +39901,15 @@ "object-inspect": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "peer": true, "requires": { "isobject": "^3.0.0" } @@ -46872,6 +39918,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "peer": true, "requires": { "isobject": "^3.0.1" } @@ -46880,6 +39928,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", + "dev": true, "requires": { "http-https": "^1.0.0" } @@ -46888,6 +39937,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, "requires": { "ee-first": "1.1.1" } @@ -46896,6 +39946,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "requires": { "wrappy": "1" } @@ -46904,6 +39955,7 @@ "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": "^2.1.0" } @@ -46919,19 +39971,6 @@ "is-wsl": "^2.2.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" - } - }, "ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -47046,22 +40085,20 @@ "p-cancelable": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==" - }, - "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-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "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" } @@ -47124,7 +40161,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": "2.1.1", @@ -47369,7 +40407,8 @@ "parse-headers": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "dev": true }, "parse-json": { "version": "4.0.0", @@ -47399,25 +40438,18 @@ "parse-path": "^7.0.0" } }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, "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.1", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz", - "integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==" + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "peer": true }, "path-browserify": { "version": "0.0.1", @@ -47435,22 +40467,26 @@ "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 }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "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==" + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "path-platform": { "version": "0.11.15", @@ -47491,6 +40527,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", @@ -47502,17 +40539,20 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true }, "pify": { "version": "4.0.1", @@ -47535,15 +40575,11 @@ "pinkie": "^2.0.0" } }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - }, "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" }, @@ -47552,6 +40588,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" @@ -47561,6 +40598,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" } @@ -47569,6 +40607,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" } @@ -47587,7 +40626,9 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "peer": true }, "prebuild-install": { "version": "5.3.6", @@ -47612,45 +40653,6 @@ "which-pm-runs": "^1.0.0" } }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "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-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==" - } - } - }, "prettycli": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/prettycli/-/prettycli-1.4.3.tgz", @@ -47697,13 +40699,14 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "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==", - "devOptional": true + "dev": true }, "promise-all-reject-late": { "version": "1.0.1", @@ -47733,15 +40736,6 @@ "retry": "^0.12.0" } }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "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", @@ -47767,6 +40761,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -47787,7 +40782,8 @@ "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -47815,6 +40811,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" @@ -47842,6 +40839,7 @@ "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, "requires": { "side-channel": "^1.0.4" } @@ -47850,6 +40848,7 @@ "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", @@ -47868,11 +40867,6 @@ "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -47889,6 +40883,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" } @@ -47906,12 +40901,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.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -47939,11 +40936,6 @@ } } }, - "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", @@ -48174,6 +41166,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", @@ -48254,6 +41247,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "peer": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -48308,22 +41303,29 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "peer": 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, + "peer": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "peer": true }, "request": { "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", @@ -48351,6 +41353,7 @@ "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", @@ -48360,17 +41363,20 @@ "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true }, "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "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" @@ -48379,14 +41385,16 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true } } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true }, "require-from-string": { "version": "1.2.1", @@ -48403,17 +41411,20 @@ "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", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, "requires": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -48423,12 +41434,14 @@ "resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true }, "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" }, @@ -48436,7 +41449,8 @@ "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true } } }, @@ -48449,12 +41463,15 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true, + "peer": true }, "responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, "requires": { "lowercase-keys": "^2.0.0" }, @@ -48462,7 +41479,8 @@ "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true } } }, @@ -48479,12 +41497,15 @@ "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, + "peer": true }, "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true }, "reusify": { "version": "1.0.4", @@ -48502,6 +41523,7 @@ "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" } @@ -48510,6 +41532,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" @@ -48519,15 +41542,11 @@ "version": "2.2.7", "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dev": true, "requires": { "bn.js": "^5.2.0" } }, - "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", @@ -48563,12 +41582,15 @@ "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==" + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "peer": true, "requires": { "ret": "~0.1.10" } @@ -48576,7 +41598,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", @@ -48588,219 +41611,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" - }, - "dependencies": { - "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" - } - }, - "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "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" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "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", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "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" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "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", @@ -48815,12 +41625,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.3", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "dev": true, "requires": { "elliptic": "^6.5.4", "node-addon-api": "^2.0.0", @@ -48830,12 +41642,14 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, "requires": { "debug": "2.6.9", "depd": "2.0.0", @@ -48856,6 +41670,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" }, @@ -48863,24 +41678,28 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, "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 }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -48897,6 +41716,7 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -48908,6 +41728,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", @@ -48919,12 +41740,15 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "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, + "peer": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -48936,6 +41760,8 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "peer": true, "requires": { "is-extendable": "^0.1.0" } @@ -48943,12 +41769,16 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": 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, + "peer": true, "requires": { "isobject": "^3.0.1" } @@ -48958,17 +41788,20 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "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" @@ -49006,6 +41839,7 @@ "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" } @@ -49013,7 +41847,8 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true }, "shell-quote": { "version": "1.7.4", @@ -49021,16 +41856,11 @@ "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", "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", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -49040,12 +41870,14 @@ "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "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": "3.1.1", @@ -49058,22 +41890,12 @@ "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", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==" - }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -49084,6 +41906,8 @@ "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, + "peer": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -49099,6 +41923,8 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "peer": true, "requires": { "ms": "2.0.0" } @@ -49107,6 +41933,8 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "peer": true, "requires": { "is-descriptor": "^0.1.0" } @@ -49115,6 +41943,8 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "peer": true, "requires": { "is-extendable": "^0.1.0" } @@ -49123,6 +41953,8 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" }, @@ -49131,6 +41963,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -49141,6 +41975,8 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" }, @@ -49149,6 +41985,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -49159,6 +41997,8 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -49168,22 +42008,30 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": true }, "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==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "peer": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "peer": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "peer": true } } }, @@ -49191,6 +42039,8 @@ "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, + "peer": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -49201,6 +42051,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "peer": true, "requires": { "is-descriptor": "^1.0.0" } @@ -49211,6 +42063,8 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.2.0" }, @@ -49219,6 +42073,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -49572,12 +42428,15 @@ "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-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, + "peer": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -49590,6 +42449,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -49598,7 +42458,9 @@ "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, + "peer": true }, "spawn-wrap": { "version": "1.4.3", @@ -49629,6 +42491,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" @@ -49637,12 +42500,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" @@ -49651,7 +42516,8 @@ "spdx-license-ids": { "version": "3.0.12", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true }, "split": { "version": "1.0.1", @@ -49666,6 +42532,8 @@ "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, + "peer": true, "requires": { "extend-shallow": "^3.0.0" } @@ -49682,12 +42550,14 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -49700,39 +42570,18 @@ "tweetnacl": "~0.14.0" } }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "requires": { - "minipass": "^3.1.1" - } - }, "stack-trace": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==", "dev": true }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "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": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "peer": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -49742,6 +42591,8 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "peer": true, "requires": { "is-descriptor": "^0.1.0" } @@ -49750,6 +42601,8 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" }, @@ -49758,6 +42611,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -49768,6 +42623,8 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" }, @@ -49776,6 +42633,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -49786,6 +42645,8 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -49795,7 +42656,9 @@ "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==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "peer": true } } }, @@ -49953,29 +42816,23 @@ "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, "requires": { "safe-buffer": "~5.2.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" - } - }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -49986,6 +42843,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -49993,22 +42851,20 @@ "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==" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true }, "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": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "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": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "dev": true, "requires": { "is-hex-prefixed": "1.0.0" } @@ -50052,43 +42908,22 @@ "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.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "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" - } - } - } - }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true }, "swarm-js": { "version": "0.1.42", "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", + "dev": true, "requires": { "bluebird": "^3.5.0", "buffer": "^5.0.5", @@ -50107,6 +42942,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, "requires": { "defer-to-connect": "^2.0.0" } @@ -50114,12 +42950,14 @@ "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 }, "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" @@ -50128,17 +42966,20 @@ "cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true }, "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 }, "decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, "requires": { "mimic-response": "^3.1.0" } @@ -50147,6 +42988,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", @@ -50160,6 +43002,7 @@ "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", @@ -50170,6 +43013,7 @@ "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" } @@ -50178,6 +43022,7 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, "requires": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -50196,6 +43041,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, "requires": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -50205,6 +43051,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -50212,17 +43059,20 @@ "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true }, "mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "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" @@ -50232,6 +43082,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" } @@ -50239,17 +43090,20 @@ "p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true }, "tar": { "version": "4.4.19", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, "requires": { "chownr": "^1.1.4", "fs-minipass": "^1.2.7", @@ -50263,12 +43117,14 @@ "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 }, "ws": { "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", @@ -50278,22 +43134,19 @@ "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 } } }, "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 } } }, - "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", @@ -50313,6 +43166,7 @@ "version": "6.1.12", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -50325,7 +43179,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 } } }, @@ -50353,6 +43208,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", @@ -50367,15 +43223,6 @@ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true }, - "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" - } - }, "terser": { "version": "5.16.6", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", @@ -50467,11 +43314,6 @@ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true }, - "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", @@ -50523,7 +43365,8 @@ "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true }, "timers-browserify": { "version": "1.4.2", @@ -50538,24 +43381,23 @@ "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" } }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "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": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "peer": true, "requires": { "kind-of": "^3.0.2" }, @@ -50564,6 +43406,8 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -50574,6 +43418,8 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "peer": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -50585,6 +43431,7 @@ "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" } @@ -50592,30 +43439,8 @@ "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - } - } + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true }, "tr46": { "version": "1.0.1", @@ -50646,43 +43471,11 @@ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "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": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "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", @@ -50696,7 +43489,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true + "dev": true } } }, @@ -50719,56 +43512,6 @@ } } }, - "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==" - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "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" - } - }, "tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -50779,6 +43522,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -50786,35 +43530,32 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "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": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "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.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true }, "type-is": { "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" @@ -50823,12 +43564,14 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "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" } @@ -50836,7 +43579,8 @@ "typescript": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz", - "integrity": "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==" + "integrity": "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==", + "dev": true }, "ua-parser-js": { "version": "0.7.33", @@ -50854,7 +43598,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 }, "umd": { "version": "3.0.3", @@ -50913,6 +43658,8 @@ "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, + "peer": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -50923,7 +43670,9 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "peer": true } } }, @@ -50960,12 +43709,15 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "peer": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -50975,6 +43727,8 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "peer": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -50985,6 +43739,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "peer": true, "requires": { "isarray": "1.0.0" } @@ -50994,7 +43750,9 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "peer": true } } }, @@ -51008,6 +43766,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -51017,6 +43776,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" }, @@ -51024,14 +43784,17 @@ "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 } } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true, + "peer": true }, "url": { "version": "0.11.0", @@ -51057,29 +43820,24 @@ } } }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "url-set-query": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==" + "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", + "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, + "peer": true }, "utf-8-validate": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "dev": true, "requires": { "node-gyp-build": "^4.3.0" } @@ -51087,12 +43845,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.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -51104,17 +43864,20 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true }, "uuid": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true }, "v8-compile-cache": { "version": "2.3.0", @@ -51122,27 +43885,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.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, "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" @@ -51152,6 +43899,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, "requires": { "builtins": "^1.0.3" } @@ -51159,17 +43907,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": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -51179,7 +43930,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true } } }, @@ -51195,22 +43947,6 @@ "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", "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.14", "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.14.tgz", @@ -51236,14 +43972,6 @@ "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==", "dev": true }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "requires": { - "makeerror": "1.0.12" - } - }, "watchify": { "version": "3.11.1", "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", @@ -51924,6 +44652,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", @@ -51937,6 +44666,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -51944,23 +44674,11 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, - "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": "6.5.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", @@ -51976,6 +44694,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" } @@ -51983,7 +44702,8 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true }, "which-pm-runs": { "version": "1.1.0", @@ -51995,6 +44715,7 @@ "version": "1.1.9", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -52008,7 +44729,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "devOptional": true, + "dev": true, "requires": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -52025,11 +44746,6 @@ "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", "dev": true }, - "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", @@ -52096,12 +44812,14 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "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", @@ -52203,12 +44921,14 @@ "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true, "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", @@ -52220,6 +44940,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", @@ -52234,6 +44955,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, "requires": { "mimic-response": "^1.0.0" } @@ -52241,12 +44963,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 }, "simple-get": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", + "dev": true, "requires": { "decompress-response": "^3.3.0", "once": "^1.3.1", @@ -52259,39 +44983,34 @@ "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" } }, - "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==" - }, "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": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "dev": true }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "yaml": { "version": "1.10.2", @@ -52370,7 +45089,8 @@ "yargs-parser": { "version": "20.2.4", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true }, "yargs-unparser": { "version": "2.0.0", @@ -52408,7 +45128,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true + "dev": true }, "yocto-queue": { "version": "0.1.0", diff --git a/packages/web3-bzz/package-lock.json b/packages/web3-bzz/package-lock.json index 86e743986ef..d856aa67990 100644 --- a/packages/web3-bzz/package-lock.json +++ b/packages/web3-bzz/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-bzz", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-bzz", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "dependencies": { "@types/node": "^12.12.6" diff --git a/packages/web3-bzz/package.json b/packages/web3-bzz/package.json index 2b86b35b023..11240a7f499 100644 --- a/packages/web3-bzz/package.json +++ b/packages/web3-bzz/package.json @@ -1,6 +1,6 @@ { "name": "web3-bzz", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to interact with the Swarm network.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-bzz", "license": "LGPL-3.0", diff --git a/packages/web3-core-helpers/package-lock.json b/packages/web3-core-helpers/package-lock.json index e7edcf7894f..65d6b84747a 100644 --- a/packages/web3-core-helpers/package-lock.json +++ b/packages/web3-core-helpers/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-core-helpers", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-core-helpers", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "devDependencies": { "@types/node": "^12.12.6" diff --git a/packages/web3-core-helpers/package.json b/packages/web3-core-helpers/package.json index 7bd1477624f..ec767bb4dda 100644 --- a/packages/web3-core-helpers/package.json +++ b/packages/web3-core-helpers/package.json @@ -1,6 +1,6 @@ { "name": "web3-core-helpers", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 core tools helper for sub packages. This is an internal package.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-core-helpers", "license": "LGPL-3.0", @@ -14,8 +14,8 @@ }, "main": "lib/index.js", "dependencies": { - "web3-eth-iban": "1.9.0", - "web3-utils": "1.9.0" + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "@types/node": "^12.12.6", diff --git a/packages/web3-core-method/package-lock.json b/packages/web3-core-method/package-lock.json index eb262739de6..9a0014e757f 100644 --- a/packages/web3-core-method/package-lock.json +++ b/packages/web3-core-method/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-core-method", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-core-method/package.json b/packages/web3-core-method/package.json index 2f7d1fe5eb8..be0f079fd2d 100644 --- a/packages/web3-core-method/package.json +++ b/packages/web3-core-method/package.json @@ -1,6 +1,6 @@ { "name": "web3-core-method", - "version": "1.9.0", + "version": "1.10.0", "description": "Creates the methods on the web3 modules. This is an internal package.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-core-method", "license": "LGPL-3.0", @@ -15,10 +15,10 @@ "main": "lib/index.js", "dependencies": { "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-utils": "1.9.0" + "web3-core-helpers": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-core-promievent/package.json b/packages/web3-core-promievent/package.json index cdcff1e0940..9b2d21079ee 100644 --- a/packages/web3-core-promievent/package.json +++ b/packages/web3-core-promievent/package.json @@ -1,6 +1,6 @@ { "name": "web3-core-promievent", - "version": "1.9.0", + "version": "1.10.0", "description": "This package extends the EventEmitter with the Promise class to allow chaining as well as multiple final states of a function.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-core-promievent", "license": "LGPL-3.0", diff --git a/packages/web3-core-requestmanager/package.json b/packages/web3-core-requestmanager/package.json index c795b804475..2c4a355fa95 100644 --- a/packages/web3-core-requestmanager/package.json +++ b/packages/web3-core-requestmanager/package.json @@ -1,6 +1,6 @@ { "name": "web3-core-requestmanager", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to handle requests to external providers.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-core-requestmanager", "license": "LGPL-3.0", @@ -13,9 +13,9 @@ }, "dependencies": { "util": "^0.12.5", - "web3-core-helpers": "1.9.0", - "web3-providers-http": "1.9.0", - "web3-providers-ipc": "1.9.0", - "web3-providers-ws": "1.9.0" + "web3-core-helpers": "1.10.0", + "web3-providers-http": "1.10.0", + "web3-providers-ipc": "1.10.0", + "web3-providers-ws": "1.10.0" } } diff --git a/packages/web3-core-subscriptions/package-lock.json b/packages/web3-core-subscriptions/package-lock.json index e1b65bf0b5f..518c823ec81 100644 --- a/packages/web3-core-subscriptions/package-lock.json +++ b/packages/web3-core-subscriptions/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-core-subscriptions", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-core-subscriptions/package.json b/packages/web3-core-subscriptions/package.json index 4dcc1e2ae0b..27dd73925a8 100644 --- a/packages/web3-core-subscriptions/package.json +++ b/packages/web3-core-subscriptions/package.json @@ -1,6 +1,6 @@ { "name": "web3-core-subscriptions", - "version": "1.9.0", + "version": "1.10.0", "description": "Manages web3 subscriptions. This is an internal package.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-core-subscriptions", "license": "LGPL-3.0", @@ -15,7 +15,7 @@ "main": "lib/index.js", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0" + "web3-core-helpers": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-core/package-lock.json b/packages/web3-core/package-lock.json index ba6560c8f4f..690dfdc2e80 100644 --- a/packages/web3-core/package-lock.json +++ b/packages/web3-core/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-core", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-core", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "dependencies": { "@types/node": "^12.12.6", diff --git a/packages/web3-core/package.json b/packages/web3-core/package.json index 60bf0ed0fc4..733266f18da 100644 --- a/packages/web3-core/package.json +++ b/packages/web3-core/package.json @@ -1,6 +1,6 @@ { "name": "web3-core", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 core tools for sub-packages. This is an internal package.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-core", "license": "LGPL-3.0", @@ -17,10 +17,10 @@ "@types/bn.js": "^5.1.1", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-requestmanager": "1.9.0", - "web3-utils": "1.9.0" + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-requestmanager": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth-abi/package-lock.json b/packages/web3-eth-abi/package-lock.json index 84a8ae21c42..bf26cb568e4 100644 --- a/packages/web3-eth-abi/package-lock.json +++ b/packages/web3-eth-abi/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-eth-abi", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-eth-abi/package.json b/packages/web3-eth-abi/package.json index b911d6961e2..f9416ce6d9e 100644 --- a/packages/web3-eth-abi/package.json +++ b/packages/web3-eth-abi/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth-abi", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module encode and decode EVM in/output.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth-abi", "license": "LGPL-3.0", @@ -15,7 +15,7 @@ "main": "lib/index.js", "dependencies": { "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.9.0" + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth-accounts/package-lock.json b/packages/web3-eth-accounts/package-lock.json index 4b1978b1e8e..d4f03569240 100644 --- a/packages/web3-eth-accounts/package-lock.json +++ b/packages/web3-eth-accounts/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-eth-accounts", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-eth-accounts/package.json b/packages/web3-eth-accounts/package.json index 70d59928953..2ea194618e6 100644 --- a/packages/web3-eth-accounts/package.json +++ b/packages/web3-eth-accounts/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth-accounts", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to generate Ethereum accounts and sign data and transactions.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth-accounts", "license": "LGPL-3.0", @@ -20,10 +20,10 @@ "ethereumjs-util": "^7.1.5", "scrypt-js": "^3.0.1", "uuid": "^9.0.0", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth-contract/package-lock.json b/packages/web3-eth-contract/package-lock.json index 97f1e0dff40..80773109e2f 100644 --- a/packages/web3-eth-contract/package-lock.json +++ b/packages/web3-eth-contract/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-eth-contract", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-eth-contract/package.json b/packages/web3-eth-contract/package.json index 78e1c3bba80..70decb4275a 100644 --- a/packages/web3-eth-contract/package.json +++ b/packages/web3-eth-contract/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth-contract", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to interact with Ethereum smart contracts.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth-contract", "license": "LGPL-3.0", @@ -15,13 +15,13 @@ "main": "lib/index.js", "dependencies": { "@types/bn.js": "^5.1.1", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-utils": "1.9.0" + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth-ens/package-lock.json b/packages/web3-eth-ens/package-lock.json index 51a9056a0d7..ae24b086d78 100644 --- a/packages/web3-eth-ens/package-lock.json +++ b/packages/web3-eth-ens/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-eth-ens", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-eth-ens/package.json b/packages/web3-eth-ens/package.json index 74cfdd7b276..6e0c6ec5a42 100644 --- a/packages/web3-eth-ens/package.json +++ b/packages/web3-eth-ens/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth-ens", - "version": "1.9.0", + "version": "1.10.0", "description": "ENS support for web3.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth-ens", "license": "LGPL-3.0", @@ -16,16 +16,16 @@ "dependencies": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-utils": "1.9.0" + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-eth-contract": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", "typescript": "4.1", - "web3-eth": "1.9.0" + "web3-eth": "1.10.0" } } diff --git a/packages/web3-eth-iban/package-lock.json b/packages/web3-eth-iban/package-lock.json index 818a5217d97..932ea80182e 100644 --- a/packages/web3-eth-iban/package-lock.json +++ b/packages/web3-eth-iban/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-eth-iban", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-eth-iban/package.json b/packages/web3-eth-iban/package.json index e2e71b700ff..d547bd0cc75 100644 --- a/packages/web3-eth-iban/package.json +++ b/packages/web3-eth-iban/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth-iban", - "version": "1.9.0", + "version": "1.10.0", "description": "This package converts Ethereum addresses to IBAN addresses a vice versa.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth-iban", "license": "LGPL-3.0", @@ -15,7 +15,7 @@ "main": "lib/index.js", "dependencies": { "bn.js": "^5.2.1", - "web3-utils": "1.9.0" + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth-personal/package-lock.json b/packages/web3-eth-personal/package-lock.json index fa9bb243738..0c5f09836db 100644 --- a/packages/web3-eth-personal/package-lock.json +++ b/packages/web3-eth-personal/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-eth-personal", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-eth-personal", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "dependencies": { "@types/node": "^12.12.6" diff --git a/packages/web3-eth-personal/package.json b/packages/web3-eth-personal/package.json index 62bdff99ccd..baeec36fe05 100644 --- a/packages/web3-eth-personal/package.json +++ b/packages/web3-eth-personal/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth-personal", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to interact with the Ethereum blockchain accounts stored in the node.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth-personal", "license": "LGPL-3.0", @@ -15,11 +15,11 @@ "main": "lib/index.js", "dependencies": { "@types/node": "^12.12.6", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-net": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth/package-lock.json b/packages/web3-eth/package-lock.json index 2c9809b1316..dabb2cabf10 100644 --- a/packages/web3-eth/package-lock.json +++ b/packages/web3-eth/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-eth", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-eth/package.json b/packages/web3-eth/package.json index bf354ddd4a8..402fae2ae45 100644 --- a/packages/web3-eth/package.json +++ b/packages/web3-eth/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to interact with the Ethereum blockchain and smart contracts.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth", "license": "LGPL-3.0", @@ -14,18 +14,18 @@ }, "main": "lib/index.js", "dependencies": { - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-accounts": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-eth-ens": "1.9.0", - "web3-eth-iban": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-eth-accounts": "1.10.0", + "web3-eth-contract": "1.10.0", + "web3-eth-ens": "1.10.0", + "web3-eth-iban": "1.10.0", + "web3-eth-personal": "1.10.0", + "web3-net": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-eth2-beaconchain/package-lock.json b/packages/web3-eth2-beaconchain/package-lock.json index 2e3d58f1500..2caca0d9252 100644 --- a/packages/web3-eth2-beaconchain/package-lock.json +++ b/packages/web3-eth2-beaconchain/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-eth2-beaconchain", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-eth2-beaconchain", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "devDependencies": { "@babel/cli": "^7.12.10", diff --git a/packages/web3-eth2-beaconchain/package.json b/packages/web3-eth2-beaconchain/package.json index 1c2fa1fa363..3d473216a87 100644 --- a/packages/web3-eth2-beaconchain/package.json +++ b/packages/web3-eth2-beaconchain/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth2-beaconchain", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 ETH2 Beacon chain API wrappers.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth2-beaconchain", "license": "LGPL-3.0", @@ -16,7 +16,7 @@ }, "main": "lib/index.js", "dependencies": { - "web3-eth2-core": "1.9.0" + "web3-eth2-core": "1.10.0" }, "devDependencies": { "@babel/cli": "^7.12.10", diff --git a/packages/web3-eth2-core/package-lock.json b/packages/web3-eth2-core/package-lock.json index 8cf45709b5b..0bfdfd71554 100644 --- a/packages/web3-eth2-core/package-lock.json +++ b/packages/web3-eth2-core/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-eth2-core", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-eth2-core", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "devDependencies": { "@babel/cli": "^7.12.10", diff --git a/packages/web3-eth2-core/package.json b/packages/web3-eth2-core/package.json index 9d78d18982f..0114ab871b3 100644 --- a/packages/web3-eth2-core/package.json +++ b/packages/web3-eth2-core/package.json @@ -1,6 +1,6 @@ { "name": "web3-eth2-core", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 ETH2 core tools for sub-packages. This is an internal package.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-eth2-core", "license": "LGPL-3.0", diff --git a/packages/web3-net/package-lock.json b/packages/web3-net/package-lock.json index 59f1c7ad146..5f1797301c9 100644 --- a/packages/web3-net/package-lock.json +++ b/packages/web3-net/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-net", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-net/package.json b/packages/web3-net/package.json index f0b34ee2ca2..05bce3a2b42 100644 --- a/packages/web3-net/package.json +++ b/packages/web3-net/package.json @@ -1,6 +1,6 @@ { "name": "web3-net", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to interact with the Ethereum nodes networking properties.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-net", "license": "LGPL-3.0", @@ -14,9 +14,9 @@ }, "main": "lib/index.js", "dependencies": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" + "web3-core": "1.10.0", + "web3-core-method": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-providers-http/package-lock.json b/packages/web3-providers-http/package-lock.json index bfb2d95239e..dd1ffc67bd8 100644 --- a/packages/web3-providers-http/package-lock.json +++ b/packages/web3-providers-http/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-providers-http", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-providers-http/package.json b/packages/web3-providers-http/package.json index 4d5a6dc0c2b..52d0bbf3b52 100644 --- a/packages/web3-providers-http/package.json +++ b/packages/web3-providers-http/package.json @@ -1,6 +1,6 @@ { "name": "web3-providers-http", - "version": "1.9.0", + "version": "1.10.0", "description": "Module to handle web3 RPC connections over HTTP.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-providers-http", "license": "LGPL-3.0", @@ -17,7 +17,7 @@ "abortcontroller-polyfill": "^1.7.3", "cross-fetch": "^3.1.4", "es6-promise": "^4.2.8", - "web3-core-helpers": "1.9.0" + "web3-core-helpers": "1.10.0" }, "devDependencies": { "dtslint": "^3.4.1", diff --git a/packages/web3-providers-ipc/package-lock.json b/packages/web3-providers-ipc/package-lock.json index ba06a8894aa..567d208ef98 100644 --- a/packages/web3-providers-ipc/package-lock.json +++ b/packages/web3-providers-ipc/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-providers-ipc", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-providers-ipc", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "devDependencies": { "@types/node": "^12.12.6" diff --git a/packages/web3-providers-ipc/package.json b/packages/web3-providers-ipc/package.json index 68686c8acbf..d9b289a29b9 100644 --- a/packages/web3-providers-ipc/package.json +++ b/packages/web3-providers-ipc/package.json @@ -1,6 +1,6 @@ { "name": "web3-providers-ipc", - "version": "1.9.0", + "version": "1.10.0", "description": "Module to handle web3 RPC connections over IPC sockets.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-providers-ipc", "license": "LGPL-3.0", @@ -15,7 +15,7 @@ "main": "lib/index.js", "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.9.0" + "web3-core-helpers": "1.10.0" }, "devDependencies": { "@types/node": "^12.12.6", diff --git a/packages/web3-providers-ws/package-lock.json b/packages/web3-providers-ws/package-lock.json index 4c1ea632daa..830edd5ab65 100644 --- a/packages/web3-providers-ws/package-lock.json +++ b/packages/web3-providers-ws/package-lock.json @@ -1,6 +1,6 @@ { "name": "web3-providers-ws", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/web3-providers-ws/package.json b/packages/web3-providers-ws/package.json index 12828a762ff..b098bbdae67 100644 --- a/packages/web3-providers-ws/package.json +++ b/packages/web3-providers-ws/package.json @@ -1,6 +1,6 @@ { "name": "web3-providers-ws", - "version": "1.9.0", + "version": "1.10.0", "description": "Module to handle web3 RPC connections over WebSockets.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-providers-ws", "license": "LGPL-3.0", @@ -15,7 +15,7 @@ "main": "lib/index.js", "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0", + "web3-core-helpers": "1.10.0", "websocket": "^1.0.32" }, "devDependencies": { diff --git a/packages/web3-shh/package-lock.json b/packages/web3-shh/package-lock.json index 1b4bdd8c5e0..92f44fee394 100644 --- a/packages/web3-shh/package-lock.json +++ b/packages/web3-shh/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-shh", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-shh", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "devDependencies": { "@types/node": "^12.12.6" diff --git a/packages/web3-shh/package.json b/packages/web3-shh/package.json index f156b7c7fb0..aeff3bf4396 100644 --- a/packages/web3-shh/package.json +++ b/packages/web3-shh/package.json @@ -1,6 +1,6 @@ { "name": "web3-shh", - "version": "1.9.0", + "version": "1.10.0", "description": "Web3 module to interact with the Whisper messaging protocol.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-shh", "license": "LGPL-3.0", @@ -15,10 +15,10 @@ }, "main": "lib/index.js", "dependencies": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-net": "1.9.0" + "web3-core": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-net": "1.10.0" }, "devDependencies": { "@types/node": "^12.12.6", diff --git a/packages/web3-utils/package-lock.json b/packages/web3-utils/package-lock.json index 26c0cc9791a..e21460d4e29 100644 --- a/packages/web3-utils/package-lock.json +++ b/packages/web3-utils/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3-utils", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3-utils", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "dependencies": { "ethereumjs-util": "^7.1.0" diff --git a/packages/web3-utils/package.json b/packages/web3-utils/package.json index ecfca8b678a..94a86271b0d 100644 --- a/packages/web3-utils/package.json +++ b/packages/web3-utils/package.json @@ -1,6 +1,6 @@ { "name": "web3-utils", - "version": "1.9.0", + "version": "1.10.0", "description": "Collection of utility functions used in web3.js.", "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-utils", "license": "LGPL-3.0", diff --git a/packages/web3/package-lock.json b/packages/web3/package-lock.json index 8eb4852c937..5732f32afc6 100644 --- a/packages/web3/package-lock.json +++ b/packages/web3/package-lock.json @@ -1,12 +1,12 @@ { "name": "web3", - "version": "1.9.0", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web3", - "version": "1.9.0", + "version": "1.10.0", "license": "LGPL-3.0", "devDependencies": { "@types/node": "^12.12.6" diff --git a/packages/web3/package.json b/packages/web3/package.json index fec53166f39..85780c167f9 100644 --- a/packages/web3/package.json +++ b/packages/web3/package.json @@ -1,6 +1,6 @@ { "name": "web3", - "version": "1.9.0", + "version": "1.10.0", "description": "Ethereum JavaScript API", "repository": "https://github.com/ethereum/web3.js", "license": "LGPL-3.0", @@ -51,18 +51,18 @@ } ], "dependencies": { - "web3-bzz": "1.9.0", - "web3-core": "1.9.0", - "web3-eth": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-shh": "1.9.0", - "web3-utils": "1.9.0" + "web3-bzz": "1.10.0", + "web3-core": "1.10.0", + "web3-eth": "1.10.0", + "web3-eth-personal": "1.10.0", + "web3-net": "1.10.0", + "web3-shh": "1.10.0", + "web3-utils": "1.10.0" }, "devDependencies": { "@types/node": "^12.12.6", "dtslint": "^3.4.1", "typescript": "4.1", - "web3-core-helpers": "1.9.0" + "web3-core-helpers": "1.10.0" } }