diff --git a/packages/hardhat/package.json b/packages/hardhat/package.json index 830b66e5..e700575c 100644 --- a/packages/hardhat/package.json +++ b/packages/hardhat/package.json @@ -1,89 +1,87 @@ { - "name": "@1hive/quests-hardhat", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "devDependencies": { - "@nomiclabs/hardhat-ethers": "2.0.0", - "@types/chai": "^4.2.21", - "@types/mocha": "^9.0.0", - "@types/node": "^14.14.22", - "@types/ramda": "^0.27.38", - "chai": "^4.2.0", - "eslint-config-airbnb": "^18.2.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-prettier": "^3.1.4", - "eslint-plugin-react": "^7.23.1", - "eslint-plugin-react-hooks": "^4.2.0", - "mocha": "^9.1.1", - "prettier": "^2.3.1", - "prettier-plugin-solidity": "^1.0.0-beta.14", - "ts-generator": "^0.1.1", - "ts-node": "^10.2.1", - "typechain-target-ethers-v5": "^5.0.1", - "typescript": "^4.2.2" - }, - "dependencies": { - "@eth-optimism/hardhat-ovm": "0.2.2", - "@ethersproject/hardware-wallets": "^5.0.14", - "@ethersproject/solidity": "^5.0.9", - "@nomicfoundation/hardhat-network-helpers": "^1.0.6", - "@nomiclabs/hardhat-etherscan": "^3.1.0", - "@nomiclabs/hardhat-waffle": "^2.0.0", - "@nomiclabs/hardhat-web3": "^2.0.0", - "@openzeppelin/contracts": "^4.9.2", - "@openzeppelin/contracts-upgradeable": "^4.9.3", - "@openzeppelin/hardhat-upgrades": "^1.0.0", - "@tenderly/hardhat-tenderly": "1.0.10", - "@typechain/ethers-v5": "^5.0.0", - "chalk": "^4.1.0", - "cross-var": "^1.1.0", - "dotenv": "^10.0.0", - "dotenv-cli": "^4.0.0", - "ethereum-waffle": "^3.4.0", - "ethers": "^5.0.0", - "ganache-cli": "^6.12.2", - "hardhat": "2.17.0", - "hardhat-deploy": "^0.9.0", - "hardhat-typechain": "^0.3.5", - "node-watch": "^0.7.0", - "qrcode-terminal": "^0.12.0", - "ramda": "^0.27.1", - "solidity-coverage": "0.8.2", - "typechain": "^4.0.0" - }, - "scripts": { - "chain": "hardhat node --hostname 0.0.0.0 --network hardhat --no-deploy --show-accounts", - "fork": "dotenv -- cross-var hardhat node --no-deploy --network hardhat --fork https://mainnet.infura.io/v3/%INFURA_ID%", - "test": "hardhat test --network hardhat", - "test-coverage": "hardhat coverage --network localhost --testfiles \"test/*.test.ts\" --solcoverjs ./test/coverage.solcover.ts", - "compile": "hardhat compile", - "deploy": "hardhat deploy", - "deploy:rinkeby": "hardhat deploy --network rinkeby", - "deploy:goerli": "hardhat deploy --network goerli", - "deploy:gnosis": "hardhat deploy --network xdai", - "deploy:local": "hardhat deploy", - "deploy-all:goerli": "hardhat deployAll:goerli --network goerli", - "deploy-all:gnosis": "hardhat deployAll:goerli --network xdai", - "queue-config:goerli": "hardhat generateGovernQueueConfig:goerli", - "queue-config:gnosis": "hardhat generateGovernQueueConfig:gnosis", - "queue-grant:gnosis": "hardhat grantGovernQueue --network xdai", - "queue-grant:goerli": "hardhat grantGovernQueue --network goerli", - "deploy-all:local": "hardhat deployAll:goerli", - "deploy-questFactory:goerli": "hardhat newQuestFactory:goerli --network goerli", - "deploy-questFactory:gnosis": "hardhat newQuestFactory:gnosis --network xdai", - "console": "hardhat console", - "watch": "node scripts/watch.js", - "accounts": "hardhat accounts", - "balance": "hardhat balance", - "send": "hardhat send", - "generate": "hardhat generate", - "account": "hardhat account", - "verify:rinkeby": "hardhat verify-quests-contracts --network rinkeby", - "verify:goerli": "hardhat verify-quests-contracts --network goerli", - "ci": "yarn install --pure-lockfile --immutable --skip-builds" - } -} \ No newline at end of file + "name": "@1hive/quests-hardhat", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "@eth-optimism/hardhat-ovm": "0.2.2", + "@ethersproject/hardware-wallets": "^5.0.14", + "@ethersproject/solidity": "^5.0.9", + "@nomicfoundation/hardhat-network-helpers": "^1.0.6", + "@nomiclabs/hardhat-ethers": "2.0.0", + "@nomiclabs/hardhat-etherscan": "^3.1.0", + "@nomiclabs/hardhat-waffle": "^2.0.0", + "@nomiclabs/hardhat-web3": "^2.0.0", + "@openzeppelin/contracts": "^4.9.2", + "@openzeppelin/contracts-upgradeable": "^4.9.3", + "@openzeppelin/hardhat-upgrades": "^1.0.0", + "@tenderly/hardhat-tenderly": "1.0.10", + "@typechain/ethers-v5": "^5.0.0", + "@types/chai": "^4.2.21", + "@types/mocha": "^9.0.0", + "@types/node": "^14.14.22", + "@types/ramda": "^0.27.38", + "chai": "^4.2.0", + "chalk": "^4.1.0", + "cross-var": "^1.1.0", + "dotenv": "^10.0.0", + "dotenv-cli": "^4.0.0", + "eslint-config-airbnb": "^18.2.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-babel": "^5.3.1", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jsx-a11y": "^6.4.1", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-react": "^7.23.1", + "eslint-plugin-react-hooks": "^4.2.0", + "ethereum-waffle": "^3.4.0", + "ethers": "^5.0.0", + "ganache-cli": "^6.12.2", + "hardhat": "2.17.0", + "hardhat-deploy": "^0.9.0", + "hardhat-typechain": "^0.3.5", + "mocha": "^9.1.1", + "node-watch": "^0.7.0", + "prettier": "^2.3.1", + "prettier-plugin-solidity": "^1.0.0-beta.14", + "qrcode-terminal": "^0.12.0", + "ramda": "^0.27.1", + "solidity-coverage": "0.8.4", + "ts-generator": "^0.1.1", + "ts-node": "^10.2.1", + "typechain": "^4.0.0", + "typechain-target-ethers-v5": "^5.0.1", + "typescript": "^4.2.2" + }, + "scripts": { + "chain": "hardhat node --hostname 0.0.0.0 --network hardhat --no-deploy --show-accounts", + "fork": "dotenv -- cross-var hardhat node --no-deploy --network hardhat --fork https://mainnet.infura.io/v3/%INFURA_ID%", + "test": "hardhat test --network hardhat", + "test-coverage": "hardhat coverage --network localhost --testfiles \"test/*.test.ts\" --solcoverjs ./test/coverage.solcover.ts", + "compile": "hardhat compile", + "deploy": "hardhat deploy", + "deploy:rinkeby": "hardhat deploy --network rinkeby", + "deploy:goerli": "hardhat deploy --network goerli", + "deploy:gnosis": "hardhat deploy --network xdai", + "deploy:local": "hardhat deploy", + "deploy-all:goerli": "hardhat deployAll:goerli --network goerli", + "deploy-all:gnosis": "hardhat deployAll:goerli --network xdai", + "queue-config:goerli": "hardhat generateGovernQueueConfig:goerli", + "queue-config:gnosis": "hardhat generateGovernQueueConfig:gnosis", + "queue-grant:gnosis": "hardhat grantGovernQueue --network xdai", + "queue-grant:goerli": "hardhat grantGovernQueue --network goerli", + "deploy-all:local": "hardhat deployAll:goerli", + "deploy-questFactory:goerli": "hardhat newQuestFactory:goerli --network goerli", + "deploy-questFactory:gnosis": "hardhat newQuestFactory:gnosis --network xdai", + "console": "hardhat console", + "watch": "node scripts/watch.js", + "accounts": "hardhat accounts", + "balance": "hardhat balance", + "send": "hardhat send", + "generate": "hardhat generate", + "account": "hardhat account", + "verify:rinkeby": "hardhat verify-quests-contracts --network rinkeby", + "verify:goerli": "hardhat verify-quests-contracts --network goerli", + "ci": "yarn install --pure-lockfile --immutable --skip-builds" + } +} diff --git a/packages/hardhat/typechain/factories/ERC20__factory.ts b/packages/hardhat/typechain/factories/ERC20__factory.ts index 819e1147..2ee777c2 100644 --- a/packages/hardhat/typechain/factories/ERC20__factory.ts +++ b/packages/hardhat/typechain/factories/ERC20__factory.ts @@ -328,4 +328,4 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162000dad38038062000dad8339810160408190526200003491620001c1565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b5050506200027b565b828054620000769062000228565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c62000265565b604051601f8301601f19908116603f0116810190828211818310171562000167576200016762000265565b8160405283815260209250868385880101111562000183578485fd5b8491505b83821015620001a6578582018301518183018401529082019062000187565b83821115620001b757848385830101525b9695505050505050565b60008060408385031215620001d4578182fd5b82516001600160401b0380821115620001eb578384fd5b620001f9868387016200010e565b935060208501519150808211156200020f578283fd5b506200021e858286016200010e565b9150509250929050565b6002810460018216806200023d57607f821691505b602082108114156200025f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610b22806200028b6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610171578063a9059cbb14610184578063dd62ed3e14610197576100c9565b8063395093511461014357806370a082311461015657806395d89b4114610169576100c9565b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101dd565b6040516100e391906109ea565b60405180910390f35b6100ff6100fa3660046109c1565b61026f565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f366004610986565b610287565b604051601281526020016100e3565b6100ff6101513660046109c1565b6102ab565b610113610164366004610933565b6102f7565b6100d6610323565b6100ff61017f3660046109c1565b610332565b6100ff6101923660046109c1565b610408565b6101136101a5366004610954565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101ec90610a98565b80601f016020809104026020016040519081016040528092919081815260200182805461021890610a98565b80156102655780601f1061023a57610100808354040283529160200191610265565b820191906000526020600020905b81548152906001019060200180831161024857829003601f168201915b5050505050905090565b60003361027d818585610416565b5060019392505050565b6000336102958582856105c9565b6102a08585856106a0565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061027d90829086906102f2908790610a5b565b610416565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b6060600480546101ec90610a98565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102a08286868403610416565b60003361027d8185856106a0565b73ffffffffffffffffffffffffffffffffffffffff83166104b8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103f2565b73ffffffffffffffffffffffffffffffffffffffff821661055b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103f2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461069a578181101561068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103f2565b61069a8484848403610416565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103f2565b73ffffffffffffffffffffffffffffffffffffffff82166107e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103f2565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103f2565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361069a565b803573ffffffffffffffffffffffffffffffffffffffff8116811461031e57600080fd5b600060208284031215610944578081fd5b61094d8261090f565b9392505050565b60008060408385031215610966578081fd5b61096f8361090f565b915061097d6020840161090f565b90509250929050565b60008060006060848603121561099a578081fd5b6109a38461090f565b92506109b16020850161090f565b9150604084013590509250925092565b600080604083850312156109d3578182fd5b6109dc8361090f565b946020939093013593505050565b6000602080835283518082850152825b81811015610a16578581018301518582016040015282016109fa565b81811115610a275783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60008219821115610a93577f4e487b710000000000000000000000000000000000000000000000000000000081526011600452602481fd5b500190565b600281046001821680610aac57607f821691505b60208210811415610ae6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212203354817b5f0645fe69094d0c7a8d6759956aa555cb245b0d583dab70855162fa64736f6c63430008020033"; + "0x60806040523480156200001157600080fd5b50604051620015f0380380620015f0833981810160405281019062000037919062000193565b81600390805190602001906200004f92919062000071565b5080600490805190602001906200006892919062000071565b50505062000376565b8280546200007f906200029b565b90600052602060002090601f016020900481019282620000a35760008555620000ef565b82601f10620000be57805160ff1916838001178555620000ef565b82800160010185558215620000ef579182015b82811115620000ee578251825591602001919060010190620000d1565b5b509050620000fe919062000102565b5090565b5b808211156200011d57600081600090555060010162000103565b5090565b60006200013862000132846200022f565b62000206565b9050828152602081018484840111156200015157600080fd5b6200015e84828562000265565b509392505050565b600082601f8301126200017857600080fd5b81516200018a84826020860162000121565b91505092915050565b60008060408385031215620001a757600080fd5b600083015167ffffffffffffffff811115620001c257600080fd5b620001d08582860162000166565b925050602083015167ffffffffffffffff811115620001ee57600080fd5b620001fc8582860162000166565b9150509250929050565b60006200021262000225565b9050620002208282620002d1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200024d576200024c62000336565b5b620002588262000365565b9050602081019050919050565b60005b838110156200028557808201518184015260208101905062000268565b8381111562000295576000848401525b50505050565b60006002820490506001821680620002b457607f821691505b60208210811415620002cb57620002ca62000307565b5b50919050565b620002dc8262000365565b810181811067ffffffffffffffff82111715620002fe57620002fd62000336565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61126a80620003866000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610206578063a9059cbb14610236578063dd62ed3e14610266576100c9565b8063395093511461018857806370a08231146101b857806395d89b41146101e8576100c9565b806318160ddd116100b257806318160ddd1461011c57806323b872dd1461013a578063313ce5671461016a576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610296565b6040516100e39190610d30565b60405180910390f35b61010660048036038101906101019190610b7e565b610328565b6040516101139190610d15565b60405180910390f35b61012461034b565b6040516101319190610e32565b60405180910390f35b610154600480360381019061014f9190610b2f565b610355565b6040516101619190610d15565b60405180910390f35b610172610384565b60405161017f9190610e4d565b60405180910390f35b6101a2600480360381019061019d9190610b7e565b61038d565b6040516101af9190610d15565b60405180910390f35b6101d260048036038101906101cd9190610aca565b6103c4565b6040516101df9190610e32565b60405180910390f35b6101f061040c565b6040516101fd9190610d30565b60405180910390f35b610220600480360381019061021b9190610b7e565b61049e565b60405161022d9190610d15565b60405180910390f35b610250600480360381019061024b9190610b7e565b610515565b60405161025d9190610d15565b60405180910390f35b610280600480360381019061027b9190610af3565b610538565b60405161028d9190610e32565b60405180910390f35b6060600380546102a590610f62565b80601f01602080910402602001604051908101604052809291908181526020018280546102d190610f62565b801561031e5780601f106102f35761010080835404028352916020019161031e565b820191906000526020600020905b81548152906001019060200180831161030157829003601f168201915b5050505050905090565b6000806103336105bf565b90506103408185856105c7565b600191505092915050565b6000600254905090565b6000806103606105bf565b905061036d858285610792565b61037885858561081e565b60019150509392505050565b60006012905090565b6000806103986105bf565b90506103b98185856103aa8589610538565b6103b49190610e84565b6105c7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461041b90610f62565b80601f016020809104026020016040519081016040528092919081815260200182805461044790610f62565b80156104945780601f1061046957610100808354040283529160200191610494565b820191906000526020600020905b81548152906001019060200180831161047757829003601f168201915b5050505050905090565b6000806104a96105bf565b905060006104b78286610538565b9050838110156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390610e12565b60405180910390fd5b61050982868684036105c7565b60019250505092915050565b6000806105206105bf565b905061052d81858561081e565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062e90610df2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069e90610d72565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107859190610e32565b60405180910390a3505050565b600061079e8484610538565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610818578181101561080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080190610d92565b60405180910390fd5b61081784848484036105c7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088590610dd2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590610d52565b60405180910390fd5b610909838383610a96565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690610db2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a7d9190610e32565b60405180910390a3610a90848484610a9b565b50505050565b505050565b505050565b600081359050610aaf81611206565b92915050565b600081359050610ac48161121d565b92915050565b600060208284031215610adc57600080fd5b6000610aea84828501610aa0565b91505092915050565b60008060408385031215610b0657600080fd5b6000610b1485828601610aa0565b9250506020610b2585828601610aa0565b9150509250929050565b600080600060608486031215610b4457600080fd5b6000610b5286828701610aa0565b9350506020610b6386828701610aa0565b9250506040610b7486828701610ab5565b9150509250925092565b60008060408385031215610b9157600080fd5b6000610b9f85828601610aa0565b9250506020610bb085828601610ab5565b9150509250929050565b610bc381610eec565b82525050565b6000610bd482610e68565b610bde8185610e73565b9350610bee818560208601610f2f565b610bf781610ff2565b840191505092915050565b6000610c0f602383610e73565b9150610c1a82611003565b604082019050919050565b6000610c32602283610e73565b9150610c3d82611052565b604082019050919050565b6000610c55601d83610e73565b9150610c60826110a1565b602082019050919050565b6000610c78602683610e73565b9150610c83826110ca565b604082019050919050565b6000610c9b602583610e73565b9150610ca682611119565b604082019050919050565b6000610cbe602483610e73565b9150610cc982611168565b604082019050919050565b6000610ce1602583610e73565b9150610cec826111b7565b604082019050919050565b610d0081610f18565b82525050565b610d0f81610f22565b82525050565b6000602082019050610d2a6000830184610bba565b92915050565b60006020820190508181036000830152610d4a8184610bc9565b905092915050565b60006020820190508181036000830152610d6b81610c02565b9050919050565b60006020820190508181036000830152610d8b81610c25565b9050919050565b60006020820190508181036000830152610dab81610c48565b9050919050565b60006020820190508181036000830152610dcb81610c6b565b9050919050565b60006020820190508181036000830152610deb81610c8e565b9050919050565b60006020820190508181036000830152610e0b81610cb1565b9050919050565b60006020820190508181036000830152610e2b81610cd4565b9050919050565b6000602082019050610e476000830184610cf7565b92915050565b6000602082019050610e626000830184610d06565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610e8f82610f18565b9150610e9a83610f18565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ecf57610ece610f94565b5b828201905092915050565b6000610ee582610ef8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610f4d578082015181840152602081019050610f32565b83811115610f5c576000848401525b50505050565b60006002820490506001821680610f7a57607f821691505b60208210811415610f8e57610f8d610fc3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61120f81610eda565b811461121a57600080fd5b50565b61122681610f18565b811461123157600080fd5b5056fea264697066735822122077110cac5ad5201b2472b47fc8486356cf2ad5db43742090598c537d464de52f64736f6c63430008020033"; diff --git a/packages/hardhat/typechain/factories/OwnableCeleste__factory.ts b/packages/hardhat/typechain/factories/OwnableCeleste__factory.ts index bf4e594c..d27dd4dd 100644 --- a/packages/hardhat/typechain/factories/OwnableCeleste__factory.ts +++ b/packages/hardhat/typechain/factories/OwnableCeleste__factory.ts @@ -334,4 +334,4 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506040516040806111bf8339810180604052604081101561003057600080fd5b81019080805190602001909291908051906020019092919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060018190555050506110db806100e46000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637e9adccf11610097578063db18af6c11610066578063db18af6c1461051d578063db9bee4614610592578063e00dd161146105dc578063e55156b5146105fa576100f5565b80637e9adccf1461038b5780638da5cb5b146103b9578063bd881e5314610403578063c13517e114610486576100f5565b8063647846a5116100d3578063647846a5146101fc57806369e15404146102465780637b751b9e146102645780637cb57c64146102e8576100f5565b806313af4035146100fa5780631da213f21461013e578063564a565d14610179575b600080fd5b61013c6004803603602081101561011057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610648565b005b6101776004803603604081101561015457600080fd5b8101908080359060200190929190803560ff16906020019092919050505061074f565b005b6101a56004803603602081101561018f57600080fd5b81019080803590602001909291905050506109a0565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260048111156101e757fe5b60ff1681526020019250505060405180910390f35b6102046109f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024e610a16565b6040518082815260200191505060405180910390f35b61026c610a1c565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b610389600480360360608110156102fe57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561034557600080fd5b82018360208201111561035757600080fd5b8035906020019184600183028401116401000000008311171561037957600080fd5b9091929391929390505050610a52565b005b6103b7600480360360208110156103a157600080fd5b8101908080359060200190929190505050610a58565b005b6103c1610a5b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61042f6004803603602081101561041957600080fd5b8101908080359060200190929190505050610a81565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600481111561047157fe5b60ff1681526020019250505060405180910390f35b6105076004803603604081101561049c57600080fd5b8101908080359060200190929190803590602001906401000000008111156104c357600080fd5b8201836020820111156104d557600080fd5b803590602001918460018302840111640100000000831117156104f757600080fd5b9091929391929390505050610adc565b6040518082815260200191505060405180910390f35b6105496004803603602081101561053357600080fd5b8101908080359060200190929190505050610c80565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61059a610e2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e4610e37565b6040518082815260200191505060405180910390f35b6106466004803603604081101561061057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e3d565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4552523a4e4f545f4f574e45520000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4552523a4e4f545f4f574e45520000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600481111561081f57fe5b81600481111561082b57fe5b1415801561085057506001600481111561084157fe5b81600481111561084d57fe5b14155b6108c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4552523a4f5554434f4d455f4e4f545f41535349474e41424c4500000000000081525060200191505060405180910390fd5b6000600460008481526020019081526020016000209050600160048111156108e657fe5b8160000160149054906101000a900460ff16600481111561090357fe5b14610976576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4552523a4e4f545f44495350555445440000000000000000000000000000000081525060200191505060405180910390fd5b818160000160146101000a81548160ff0219169083600481111561099657fe5b0217905550505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff16905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6000806000306000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154925092509250909192565b50505050565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006004600085815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508060000160149054906101000a900460ff16915050915091565b600080600254905060405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160016004811115610b1857fe5b8152506004600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690836004811115610b9957fe5b0217905550905050600260008154809291906001019190505550610c0333306001546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f4b909392919063ffffffff16565b610c75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4552523a4445504f5349545f4641494c4544000000000000000000000000000081525060200191505060405180910390fd5b809150509392505050565b600080600060046000858152602001908152602001600020905060036004811115610ca757fe5b8160000160149054906101000a900460ff166004811115610cc457fe5b1415610cfb578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660039250925050610e2a565b600480811115610d0757fe5b8160000160149054906101000a900460ff166004811115610d2457fe5b1415610d5b578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660049250925050610e2a565b60026004811115610d6857fe5b8160000160149054906101000a900460ff166004811115610d8557fe5b1415610dbc578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660009250925050610e2a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f554e45585045435445445f53544154450000000000000000000000000000000081525060200191505060405180910390fd5b915091565b600030905090565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4552523a4e4f545f4f574e45520000000000000000000000000000000000000081525060200191505060405180910390fd5b80600181905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600060608573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050611052868261105d565b915050949350505050565b6000806040516020818551602087016000895af160008111156110a3573d600081146110905760208114611099576110a1565b600193506110a1565b600183511493505b505b5050809150509291505056fea165627a7a72305820bd4a295db9bcaba2a85d13d7982dc2f3a1586e33fa938dd46dc0ba2833ca42570029"; + "0x608060405234801561001057600080fd5b506040516040806111bf8339810180604052604081101561003057600080fd5b81019080805190602001909291908051906020019092919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060018190555050506110db806100e46000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637e9adccf11610097578063db18af6c11610066578063db18af6c1461051d578063db9bee4614610592578063e00dd161146105dc578063e55156b5146105fa576100f5565b80637e9adccf1461038b5780638da5cb5b146103b9578063bd881e5314610403578063c13517e114610486576100f5565b8063647846a5116100d3578063647846a5146101fc57806369e15404146102465780637b751b9e146102645780637cb57c64146102e8576100f5565b806313af4035146100fa5780631da213f21461013e578063564a565d14610179575b600080fd5b61013c6004803603602081101561011057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610648565b005b6101776004803603604081101561015457600080fd5b8101908080359060200190929190803560ff16906020019092919050505061074f565b005b6101a56004803603602081101561018f57600080fd5b81019080803590602001909291905050506109a0565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260048111156101e757fe5b60ff1681526020019250505060405180910390f35b6102046109f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024e610a16565b6040518082815260200191505060405180910390f35b61026c610a1c565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b610389600480360360608110156102fe57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561034557600080fd5b82018360208201111561035757600080fd5b8035906020019184600183028401116401000000008311171561037957600080fd5b9091929391929390505050610a52565b005b6103b7600480360360208110156103a157600080fd5b8101908080359060200190929190505050610a58565b005b6103c1610a5b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61042f6004803603602081101561041957600080fd5b8101908080359060200190929190505050610a81565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600481111561047157fe5b60ff1681526020019250505060405180910390f35b6105076004803603604081101561049c57600080fd5b8101908080359060200190929190803590602001906401000000008111156104c357600080fd5b8201836020820111156104d557600080fd5b803590602001918460018302840111640100000000831117156104f757600080fd5b9091929391929390505050610adc565b6040518082815260200191505060405180910390f35b6105496004803603602081101561053357600080fd5b8101908080359060200190929190505050610c80565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61059a610e2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e4610e37565b6040518082815260200191505060405180910390f35b6106466004803603604081101561061057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e3d565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4552523a4e4f545f4f574e45520000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4552523a4e4f545f4f574e45520000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600481111561081f57fe5b81600481111561082b57fe5b1415801561085057506001600481111561084157fe5b81600481111561084d57fe5b14155b6108c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4552523a4f5554434f4d455f4e4f545f41535349474e41424c4500000000000081525060200191505060405180910390fd5b6000600460008481526020019081526020016000209050600160048111156108e657fe5b8160000160149054906101000a900460ff16600481111561090357fe5b14610976576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4552523a4e4f545f44495350555445440000000000000000000000000000000081525060200191505060405180910390fd5b818160000160146101000a81548160ff0219169083600481111561099657fe5b0217905550505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff16905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6000806000306000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154925092509250909192565b50505050565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006004600085815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508060000160149054906101000a900460ff16915050915091565b600080600254905060405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160016004811115610b1857fe5b8152506004600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690836004811115610b9957fe5b0217905550905050600260008154809291906001019190505550610c0333306001546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f4b909392919063ffffffff16565b610c75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4552523a4445504f5349545f4641494c4544000000000000000000000000000081525060200191505060405180910390fd5b809150509392505050565b600080600060046000858152602001908152602001600020905060036004811115610ca757fe5b8160000160149054906101000a900460ff166004811115610cc457fe5b1415610cfb578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660039250925050610e2a565b600480811115610d0757fe5b8160000160149054906101000a900460ff166004811115610d2457fe5b1415610d5b578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660049250925050610e2a565b60026004811115610d6857fe5b8160000160149054906101000a900460ff166004811115610d8557fe5b1415610dbc578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660009250925050610e2a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f554e45585045435445445f53544154450000000000000000000000000000000081525060200191505060405180910390fd5b915091565b600030905090565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4552523a4e4f545f4f574e45520000000000000000000000000000000000000081525060200191505060405180910390fd5b80600181905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600060608573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050611052868261105d565b915050949350505050565b6000806040516020818551602087016000895af160008111156110a3573d600081146110905760208114611099576110a1565b600193506110a1565b600183511493505b505b5050809150509291505056fea165627a7a72305820bc9e590d0ef9d413c06bd357fbc449e02d90dcb0e724c85455c95ec65d58e4af0029"; diff --git a/packages/hardhat/typechain/factories/QuestFactory__factory.ts b/packages/hardhat/typechain/factories/QuestFactory__factory.ts index 886bc006..4d037445 100644 --- a/packages/hardhat/typechain/factories/QuestFactory__factory.ts +++ b/packages/hardhat/typechain/factories/QuestFactory__factory.ts @@ -433,4 +433,4 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b613f2f806100ec6000396000f3fe60806040523480156200001157600080fd5b5060043610620000e75760003560e01c8063b0a87ac1116200008d578063d03ffefb1162000063578063d03ffefb1462000223578063edeecdd31462000248578063f2fde38b146200025f57620000e7565b8063b0a87ac114620001d4578063b628a33f14620001f5578063c4d66de8146200020c57620000e7565b80638c43b41111620000c35780638c43b411146200012b5780638c53c9bd14620001425780638da5cb5b146200019457620000e7565b8062732e3014620000ec57806354fd4d501462000105578063715018a61462000121575b600080fd5b62000103620000fd366004620011a4565b62000276565b005b6200010e600381565b6040519081526020015b60405180910390f35b62000103620002c7565b620001036200013c366004620011e2565b620002df565b606854606954620001679173ffffffffffffffffffffffffffffffffffffffff169082565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520162000118565b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200162000118565b606554620001ae9073ffffffffffffffffffffffffffffffffffffffff1681565b620001ae6200020636600462001210565b62000384565b620001036200021d366004620011a4565b620004ef565b606654606754620001679173ffffffffffffffffffffffffffffffffffffffff169082565b6200010362000259366004620011e2565b620006d5565b6200010362000270366004620011a4565b62000773565b6200028062000830565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b620002d162000830565b620002dd6000620008b3565b565b620002e962000830565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff84168082526020918201849052606880547fffffffffffffffffffffffff0000000000000000000000000000000000000000168217905560698490558251428152918201529081018290527f013c800b1a136f9798a25e471501a7b824156d1e9cba8439821c5a41adf2fb89906060015b60405180910390a15050565b60408051808201825260665473ffffffffffffffffffffffffffffffffffffffff9081168252606754602080840191909152835180850185526068548316815260695481830152845160e08101865233815263ffffffff88169281019290925289831682860152606082018990526065548316608083015291871660a082015284151560c0820152925160009384938c938c93919290916200042690620010a3565b6200043695949392919062001468565b604051809103906000f08015801562000453573d6000803e3d6000fd5b506040805180820190915260665473ffffffffffffffffffffffffffffffffffffffff1681526067546020820152909150620004919033836200092a565b7f2d0b32d809449b38bb442a046b092f68efaf9d4bef7678947afd25048117f187818a8a8a8a8a60666068338d8d6003604051620004db9c9b9a9998979695949392919062001366565b60405180910390a198975050505050505050565b600054610100900460ff1615808015620005105750600054600160ff909116105b80620005355750620005223062000947565b15801562000535575060005460ff166001145b620005c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200062657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6200063062000967565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790558015620006d157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162000378565b5050565b620006df62000830565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff84168082526020918201849052606680547fffffffffffffffffffffffff0000000000000000000000000000000000000000168217905560678490558251428152918201529081018290527f35c5e8a6f8bed2c61a2eb1996d117b1b96192314c0d4ca7cd96360f2509200799060600162000378565b6200077d62000830565b73ffffffffffffffffffffffffffffffffffffffff811662000822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620005be565b6200082d81620008b3565b50565b60335473ffffffffffffffffffffffffffffffffffffffff163314620002dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620005be565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b62000936838362000a0a565b62000942838262000b63565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163b15155b919050565b600054610100900460ff1662000a00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401620005be565b620002dd62000b9b565b602082015115620006d15781516040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152600092169063dd62ed3e9060440160206040518083038186803b15801562000a8757600080fd5b505afa15801562000a9c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac29190620012e3565b9050826020015181101562000b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4552524f52203a204465706f7369742062616420616c6c6f77616e63650000006044820152606401620005be565b60208301518351620009429173ffffffffffffffffffffffffffffffffffffffff909116908490309062000c3f565b602082015115620006d15760208201518251620006d19173ffffffffffffffffffffffffffffffffffffffff90911690839062000d23565b600054610100900460ff1662000c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401620005be565b620002dd33620008b3565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905262000d1d9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915262000d7b565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052620009429084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640162000c9a565b600062000ddf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1662000e919092919063ffffffff16565b905080516000148062000e0357508080602001905181019062000e039190620011c3565b62000942576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401620005be565b606062000ea2848460008562000eaa565b949350505050565b60608247101562000f3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401620005be565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405162000f69919062001348565b60006040518083038185875af1925050503d806000811462000fa8576040519150601f19603f3d011682016040523d82523d6000602084013e62000fad565b606091505b509150915062000fc08783838762000fcb565b979650505050505050565b60608315620010565782516200104e5762000fe68562000947565b6200104e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620005be565b508162000ea2565b62000ea283838151156200106d5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005be919062001453565b6128e7806200161383390190565b600067ffffffffffffffff80841115620010cf57620010cf620015b1565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715620011185762001118620015b1565b816040528093508581528686860111156200113257600080fd5b858560208301376000602087830101525050509392505050565b80356200096281620015e0565b8035620009628162001603565b600082601f83011262001177578081fd5b6200118883833560208501620010b1565b9392505050565b803563ffffffff811681146200096257600080fd5b600060208284031215620011b6578081fd5b81356200118881620015e0565b600060208284031215620011d5578081fd5b8151620011888162001603565b60008060408385031215620011f5578081fd5b82356200120281620015e0565b946020939093013593505050565b600080600080600080600060e0888a0312156200122b578283fd5b873567ffffffffffffffff8082111562001243578485fd5b818a0191508a601f83011262001257578485fd5b620012688b833560208501620010b1565b985060208a01359150808211156200127e578485fd5b506200128d8a828b0162001166565b9650506200129e604089016200114c565b945060608801359350620012b5608089016200114c565b9250620012c560a089016200118f565b9150620012d560c0890162001159565b905092959891949750929550565b600060208284031215620012f5578081fd5b5051919050565b600081518084526200131681602086016020860162001582565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082516200135c81846020870162001582565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808f1683526101c060208401526200139a6101c084018f620012fc565b8381036040850152620013ae818f620012fc565b925050808c1660608401528a6080840152808a1660a0840152620013f660c084018a805473ffffffffffffffffffffffffffffffffffffffff16825260010154602090910152565b875473ffffffffffffffffffffffffffffffffffffffff166101008401526001909701546101208301529590941661014085015263ffffffff9290921661016084015215156101808301526101a090910152979650505050505050565b600060208252620011886020830184620012fc565b60006101a08083526200147e81840189620012fc565b90508281036020840152620014948188620012fc565b865173ffffffffffffffffffffffffffffffffffffffff166040850152602087015160608501529150620014c59050565b835173ffffffffffffffffffffffffffffffffffffffff166080830152602084015160a0830152825173ffffffffffffffffffffffffffffffffffffffff90811660c0840152602084015163ffffffff1660e084015260408401518116610100840152606084015161012084015260808401511661014083015260a08301516200156861016084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151801515610180840152509695505050505050565b60005b838110156200159f57818101518382015260200162001585565b8381111562000d1d5750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff811681146200082d57600080fd5b80151581146200082d57600080fdfe60806040523480156200001157600080fd5b50604051620028e7380380620028e7833981016040819052620000349162000423565b8060c0015180156200005057506000816020015163ffffffff16115b15620000e35760405162461bcd60e51b815260206004820152605260248201527f4552524f523a2043616e27742063726561746520612077686974654c6973746560448201527f642071756573742077697468206d617820706c61796572732067726561746572606482015271207468616e20302028696e66696e6974792960701b608482015260a40160405180910390fd5b8451620000f8906001906020880190620001f1565b5083516200010e906002906020870190620001f1565b506040810151600380546001600160a01b03199081166001600160a01b03938416179091556060830151600455608083015160058054831691841691909117905560a083015160068054855160008054861691871691909117905587516008805486169187169190911790556020978801516009558651600a8054861691871691909117905595870151600b55600c805460ff191690559584015160c0909401519490911691161763ffffffff60a01b1916600160a01b63ffffffff909216919091021760ff60c01b1916600160c01b9115159190910217905550620005909050565b828054620001ff9062000524565b90600052602060002090601f0160209004810192826200022357600085556200026e565b82601f106200023e57805160ff19168380011785556200026e565b828001600101855582156200026e579182015b828111156200026e57825182559160200191906001019062000251565b506200027c92915062000280565b5090565b5b808211156200027c576000815560010162000281565b60006001600160401b03831115620002b357620002b362000561565b6020620002c9601f8501601f19168201620004f1565b9150838252848484011115620002de57600080fd5b60005b84811015620002fc57838101518382018301528101620002e1565b848111156200030e5760008286850101525b50509392505050565b8051620003248162000577565b919050565b805180151581146200032457600080fd5b6000604082840312156200034c578081fd5b620003586040620004f1565b90508151620003678162000577565b808252506020820151602082015292915050565b600060e082840312156200038d578081fd5b6200039960e0620004f1565b90508151620003a88162000577565b8152602082015163ffffffff81168114620003c257600080fd5b6020820152620003d56040830162000317565b604082015260608201516060820152620003f26080830162000317565b60808201526200040560a0830162000317565b60a08201526200041860c0830162000329565b60c082015292915050565b60008060008060006101a086880312156200043c578081fd5b85516001600160401b038082111562000453578283fd5b818801915088601f83011262000467578283fd5b620004788983516020850162000297565b965060208801519150808211156200048e578283fd5b508601601f81018813620004a0578182fd5b620004b18882516020840162000297565b945050620004c387604088016200033a565b9250620004d487608088016200033a565b9150620004e58760c088016200037b565b90509295509295909350565b604051601f8201601f191681016001600160401b03811182821017156200051c576200051c62000561565b604052919050565b6002810460018216806200053957607f821691505b602082108114156200055b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200058d57600080fd5b50565b61234780620005a06000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638b5b9ccc116100cd578063d03ffefb11610081578063e492814f11610066578063e492814f146103ab578063f294cf38146103be578063f7c618c1146103c65761016c565b8063d03ffefb14610372578063e0c23423146103965761016c565b8063a888c2cd116100b2578063a888c2cd1461031d578063b0a87ac11461033f578063b434151c1461035f5761016c565b80638b5b9ccc146102b85780638c53c9bd146102cd5761016c565b8063579ca2c911610124578063775b9c1311610109578063775b9c13146102725780637ceae3101461028557806385c99e2b146102a55761016c565b8063579ca2c9146102255780636c3a4cce1461022d5761016c565b8063310a1ee311610155578063310a1ee3146101c457806348d6cb53146101db5780634c2412a2146101e85761016c565b8063151dfb06146101715780632f17b18214610186575b600080fd5b61018461017f366004611e1c565b6103e6565b005b6006546101af907801000000000000000000000000000000000000000000000000900460ff1681565b60405190151581526020015b60405180910390f35b6101cd60045481565b6040519081526020016101bb565b600c546101af9060ff1681565b6006546102109074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101bb565b610184610807565b60005461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b610184610280366004611e3d565b6109fb565b60065461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b6101af6102b3366004611e1c565b610ba5565b6102c0610bdb565b6040516101bb91906120c6565b600a54600b546102f19173ffffffffffffffffffffffffffffffffffffffff169082565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101bb565b61033061032b366004611fe0565b610c4a565b6040516101bb9392919061210e565b60055461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b61018461036d366004611f07565b610d23565b6008546009546102f19173ffffffffffffffffffffffffffffffffffffffff169082565b61039e611151565b6040516101bb91906120fb565b6101846103b9366004611e1c565b6111df565b61039e6115ea565b60035461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b6006547801000000000000000000000000000000000000000000000000900460ff161561049a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4552524f523a2063616e277420756e706c617920612077686974656c6973746560448201527f642071756573740000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806104d5575060005473ffffffffffffffffffffffffffffffffffffffff1633145b610560576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552524f523a2053656e646572206e6f7420706c61796572206e6f722063726560448201527f61746f72000000000000000000000000000000000000000000000000000000006064820152608401610491565b600061056b826115f7565b9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14156105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552524f523a20706c61796572206e6f7420696e206c697374000000000000006044820152606401610491565b600d8054610607906001906121d5565b8154811061063e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260209091200154600d805473ffffffffffffffffffffffffffffffffffffffff909216918390811061069e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d80548061071e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600082815260209081902082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560408051808201909152600a5473ffffffffffffffffffffffffffffffffffffffff168152600b54918101919091526107b490836116bf565b6040805173ffffffffffffffffffffffffffffffffffffffff841681524260208201527fc4a67a0877d477de99d765a3d9f48abfbe6181dff4727d68c3cb60715555417591015b60405180910390a15050565b600454421015610873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4552524f523a204e6f74206578706972656400000000000000000000000000006044820152606401610491565b600c5460ff166108e5576000546040805180820190915260085473ffffffffffffffffffffffffffffffffffffffff908116825260095460208301526108b992166116bf565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b6003546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a082319060240160206040518083038186803b15801561094f57600080fd5b505afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109879190611ff8565b600a5460035491925073ffffffffffffffffffffffffffffffffffffffff918216911614156109ce57600d54600b546109ca916109c391612198565b82906116f8565b9150505b6006546003546109f89173ffffffffffffffffffffffffffffffffffffffff91821691168361171e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610aa2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792063726561746f722063616e2063616c6c20746869732066756e637460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152608401610491565b6006547801000000000000000000000000000000000000000000000000900460ff161515600114610b55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552524f523a2043616e27742073657420746865207768697465206c6973742060448201527f746f2061206e6f6e2d77686974656c697374656420636f6e74726163740000006064820152608401610491565b8051610b6890600d906020840190611cda565b507fb1565d66d9899787abe67ac307850cf339a24f69de2bf7ffa4179e0eaeb939b08142604051610b9a9291906120d9565b60405180910390a150565b6000610bb0826115f7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff141590505b919050565b6060600d805480602002602001604051908101604052809291908181526020018280548015610c4057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c15575b5050505050905090565b60078181548110610c5a57600080fd5b9060005260206000209060030201600091509050806000018054610c7d90612218565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca990612218565b8015610cf65780601f10610ccb57610100808354040283529160200191610cf6565b820191906000526020600020905b815481529060010190602001808311610cd957829003601f168201915b505050506001830154600290930154919273ffffffffffffffffffffffffffffffffffffffff1691905083565b60055473ffffffffffffffffffffffffffffffffffffffff163314610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552524f523a2053656e646572206e6f7420676f7665726e00000000000000006044820152606401610491565b8351610e0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4552524f523a204e6f2065766964656e636500000000000000000000000000006044820152606401610491565b6003546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a082319060240160206040518083038186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae9190611ff8565b90508115610f445760085460035473ffffffffffffffffffffffffffffffffffffffff90811691161415610ef757600954600090610eed9083906116f8565b9450610efb915050565b8092505b600a5460035473ffffffffffffffffffffffffffffffffffffffff90811691161415610f4457600d54600b54600091610f3f91610f389190612198565b85906116f8565b945050505b60085460035473ffffffffffffffffffffffffffffffffffffffff90811691161415611010576000610f7682856116f8565b91505060086001015481101561100e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4552524f523a2053686f756c64206e6f742065786365656420616c6c6f77656460448201527f20626f756e7479000000000000000000000000000000000000000000000000006064820152608401610491565b505b821561103a5760035461103a9073ffffffffffffffffffffffffffffffffffffffff16858561171e565b6040805160608101825286815273ffffffffffffffffffffffffffffffffffffffff86166020808301919091529181018590526007805460018101825560009190915281518051929360039092027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68801926110b89284920190611d64565b5060208201516001820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055604091820151600290910155517fa1c3b325aa2c115e4b244062eba2515bc5585ae5b41556be8fef399ae9fde11b906111429087908790879061210e565b60405180910390a15050505050565b6002805461115e90612218565b80601f016020809104026020016040519081016040528092919081815260200182805461118a90612218565b80156111d75780601f106111ac576101008083540402835291602001916111d7565b820191906000526020600020905b8154815290600101906020018083116111ba57829003601f168201915b505050505081565b6006547801000000000000000000000000000000000000000000000000900460ff161561128e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4552524f523a2043616e27742073656c6620726567697374657220616e64207060448201527f6c617920612077686974656c69737465642051756573740000000000000000006064820152608401610491565b3373ffffffffffffffffffffffffffffffffffffffff821614806112c9575060005473ffffffffffffffffffffffffffffffffffffffff1633145b611354576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552524f523a2053656e646572206e6f7420706c61796572206e6f722063726560448201527f61746f72000000000000000000000000000000000000000000000000000000006064820152608401610491565b60065474010000000000000000000000000000000000000000900463ffffffff1615806113a35750600654600d547401000000000000000000000000000000000000000090910463ffffffff16115b611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4552524f523a204d617820706c617965727320726561636865640000000000006044820152606401610491565b6004544210611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4552524f523a20517565737420657870697265640000000000000000000000006044820152606401610491565b600061147f826115f7565b9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552524f523a20506c6179657220616c726561647920657869737473000000006044820152606401610491565b60408051808201909152600a5473ffffffffffffffffffffffffffffffffffffffff168152600b5460208201526115429033306117f7565b600d80546001810182556000919091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155604080519182524260208301527f35ec60f951b4abc8b287ab5148caf98524052482927d42e86a720cc71b8a76a191016107fb565b6001805461115e90612218565b6000805b600d54811015611697578273ffffffffffffffffffffffffffffffffffffffff16600d8281548110611656577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415611685579050610bd6565b8061168f8161226c565b9150506115fb565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b6020820151156116f457602082015182516116f49173ffffffffffffffffffffffffffffffffffffffff90911690839061171e565b5050565b6000808383111561170e57506000905080611717565b50600190508183035b9250929050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526117f29084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261180b565b505050565b611801838361191a565b6117f283826116bf565b600061186d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a6a9092919063ffffffff16565b905080516000148061188e57508080602001905181019061188e9190611eeb565b6117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610491565b6020820151156116f45781516040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152600092169063dd62ed3e9060440160206040518083038186803b15801561199557600080fd5b505afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd9190611ff8565b90508260200151811015611a3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4552524f52203a204465706f7369742062616420616c6c6f77616e63650000006044820152606401610491565b602083015183516117f29173ffffffffffffffffffffffffffffffffffffffff9091169084903090611a81565b6060611a798484600085611ae5565b949350505050565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611adf9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611770565b50505050565b606082471015611b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610491565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611ba091906120aa565b60006040518083038185875af1925050503d8060008114611bdd576040519150601f19603f3d011682016040523d82523d6000602084013e611be2565b606091505b5091509150611bf387838387611bfe565b979650505050505050565b60608315611c91578251611c8a5773ffffffffffffffffffffffffffffffffffffffff85163b611c8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610491565b5081611a79565b611a798383815115611ca65781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049191906120fb565b828054828255906000526020600020908101928215611d54579160200282015b82811115611d5457825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611cfa565b50611d60929150611dd8565b5090565b828054611d7090612218565b90600052602060002090601f016020900481019282611d925760008555611d54565b82601f10611dab57805160ff1916838001178555611d54565b82800160010185558215611d54579182015b82811115611d54578251825591602001919060010190611dbd565b5b80821115611d605760008155600101611dd9565b803573ffffffffffffffffffffffffffffffffffffffff81168114610bd657600080fd5b8035610bd681612303565b600060208284031215611e2d578081fd5b611e3682611ded565b9392505050565b60006020808385031215611e4f578182fd5b823567ffffffffffffffff80821115611e66578384fd5b818501915085601f830112611e79578384fd5b813581811115611e8b57611e8b6122d4565b8381029150611e9b848301612149565b8181528481019084860184860187018a1015611eb5578788fd5b8795505b83861015611ede57611eca81611ded565b835260019590950194918601918601611eb9565b5098975050505050505050565b600060208284031215611efc578081fd5b8151611e3681612303565b60008060008060808587031215611f1c578283fd5b843567ffffffffffffffff80821115611f33578485fd5b818701915087601f830112611f46578485fd5b8135602082821115611f5a57611f5a6122d4565b611f8a817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601612149565b92508183528981838601011115611f9f578687fd5b818185018285013786818385010152829750611fbc818a01611ded565b96505050505060408501359150611fd560608601611e11565b905092959194509250565b600060208284031215611ff1578081fd5b5035919050565b600060208284031215612009578081fd5b5051919050565b6000815180845260208085019450808401835b8381101561205557815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612023565b509495945050505050565b600081518084526120788160208601602086016121ec565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082516120bc8184602087016121ec565b9190910192915050565b600060208252611e366020830184612010565b6000604082526120ec6040830185612010565b90508260208301529392505050565b600060208252611e366020830184612060565b6000606082526121216060830186612060565b73ffffffffffffffffffffffffffffffffffffffff9490941660208301525060400152919050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612190576121906122d4565b604052919050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121d0576121d06122a5565b500290565b6000828210156121e7576121e76122a5565b500390565b60005b838110156122075781810151838201526020016121ef565b83811115611adf5750506000910152565b60028104600182168061222c57607f821691505b60208210811415612266577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561229e5761229e6122a5565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80151581146109f857600080fdfea26469706673582212207a89747e6d25956d64f95972c1f129d7a1914bad877e8c0f7fc4d79f78aecaf664736f6c63430008020033a264697066735822122016cdea0fdac4aa0ca08c58ca50ae363a2493a12b544d9f25ca8889fc4248adb764736f6c63430008020033"; + "0x60806040523480156200001157600080fd5b506200002e67784fbecdae736a6660c01b6200007c60201b60201c565b6200004a673c4f82d0637c303b60c01b6200007c60201b60201c565b62000066675ba65bd803a31e2060c01b6200007c60201b60201c565b620000766200007f60201b60201c565b62000229565b50565b600060019054906101000a900460ff1615620000d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000c9906200017d565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001435760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200013a91906200019f565b60405180910390a15b565b600062000154602783620001bc565b91506200016182620001da565b604082019050919050565b6200017781620001cd565b82525050565b60006020820190508181036000830152620001988162000145565b9050919050565b6000602082019050620001b660008301846200016c565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b6175b580620002396000396000f3fe60806040523480156200001157600080fd5b5060043610620000e75760003560e01c8063b0a87ac1116200008d578063d03ffefb1162000063578063d03ffefb1462000217578063edeecdd3146200023a578063f2fde38b146200025a57620000e7565b8063b0a87ac1146200019f578063b628a33f14620001c1578063c4d66de814620001f757620000e7565b80638c43b41111620000c35780638c43b411146200013a5780638c53c9bd146200015a5780638da5cb5b146200017d57620000e7565b8062732e3014620000ec57806354fd4d50146200010c578063715018a6146200012e575b600080fd5b6200010a6004803603810190620001049190620017d5565b6200027a565b005b620001166200031f565b604051620001259190620020fd565b60405180910390f35b6200013862000324565b005b6200015860048036038101906200015291906200182d565b6200033c565b005b620001646200048c565b6040516200017492919062001f13565b60405180910390f35b62000187620004be565b60405162000196919062001d7e565b60405180910390f35b620001a9620004e8565b604051620001b8919062001d7e565b60405180910390f35b620001df6004803603810190620001d991906200186e565b6200050e565b604051620001ee919062001d7e565b60405180910390f35b6200021560048036038101906200020f9190620017d5565b6200085b565b005b6200022162000a6d565b6040516200023192919062001f13565b60405180910390f35b6200025860048036038101906200025291906200182d565b62000a9f565b005b620002786004803603810190620002729190620017d5565b62000bef565b005b62000290678510249ba5fc208e60c01b62000c7a565b6200029a62000c7d565b620002b0672c624effc4b7dc8760c01b62000c7a565b620002c667fbfa05b1ee72661a60c01b62000c7a565b620002db66dc318b0cd515b660c01b62000c7a565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600381565b6200032e62000c7d565b6200033a600062000d02565b565b6200035267ab8f4f38b2049e6560c01b62000c7a565b6200035c62000c7d565b62000372678eaae73eb56fe14460c01b62000c7a565b620003886789cd010129c1afeb60c01b62000c7a565b6200039e67cd05ad93cb7aa01160c01b62000c7a565b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff16815260200182815250606860008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505062000435678369cb1f24452ae260c01b62000c7a565b6200044b67efeb67ec9005f1a160c01b62000c7a565b7f013c800b1a136f9798a25e471501a7b824156d1e9cba8439821c5a41adf2fb8942838360405162000480939291906200211a565b60405180910390a15050565b60688060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006200052667c844180ce335abbc60c01b62000c7a565b6200053c67a05dde25986bf65960c01b62000c7a565b62000552674e2bae8c2348c07360c01b62000c7a565b600088886040518060400160405280606660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016066600101548152506040518060400160405280606860000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016068600101548152506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018963ffffffff1681526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018b8152602001606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff168152602001881515815250604051620006c3906200162b565b620006d395949392919062001f81565b604051809103906000f080158015620006f0573d6000803e3d6000fd5b5090506200070967e2cbb8c54d0c82e360c01b62000c7a565b6200071f6743832e144ee971df60c01b62000c7a565b620007a2338260666040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505062000dc89092919063ffffffff16565b620007b867b0fdc45bca1160a860c01b62000c7a565b620007ce67d47b48b4de72770060c01b62000c7a565b7f2d0b32d809449b38bb442a046b092f68efaf9d4bef7678947afd25048117f187818a8a8a8a8a60666068338d8d6003604051620008189c9b9a9998979695949392919062001e05565b60405180910390a1620008366748277f078f4fabcd60c01b62000c7a565b6200084c6758165f725523d5e860c01b62000c7a565b80915050979650505050505050565b62000871672784f84de19bdc8c60c01b62000c7a565b60008060019054906101000a900460ff16159050808015620008a35750600160008054906101000a900460ff1660ff16105b80620008d45750620008b53062000e53565b158015620008d35750600160008054906101000a900460ff1660ff16145b5b62000916576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200090d9062002031565b60405180910390fd5b60016000806101000a81548160ff021916908360ff160217905550801562000954576001600060016101000a81548160ff0219169083151502179055505b6200096a67451311259d882a5c60c01b62000c7a565b6200098067a65d9775d82b3aee60c01b62000c7a565b62000996670ce16bb9af0cbe3760c01b62000c7a565b620009ac67061c272b4a82d9e260c01b62000c7a565b620009b662000e76565b620009cc67cdbb18a4e612471260c01b62000c7a565b81606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801562000a695760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405162000a60919062001f40565b60405180910390a15b5050565b60668060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b62000ab567a1c6c398b831654360c01b62000c7a565b62000abf62000c7d565b62000ad567370b9b4115e767a960c01b62000c7a565b62000aeb67b1760f26ace5cbf660c01b62000c7a565b62000b0167bf4459b76d855a9560c01b62000c7a565b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff16815260200182815250606660008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505062000b986718cbb442aab9529660c01b62000c7a565b62000bae67ee634f1c6750501d60c01b62000c7a565b7f35c5e8a6f8bed2c61a2eb1996d117b1b96192314c0d4ca7cd96360f25092007942838360405162000be3939291906200211a565b60405180910390a15050565b62000bf962000c7d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000c6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c639062001fed565b60405180910390fd5b62000c778162000d02565b50565b50565b62000c8762000ed4565b73ffffffffffffffffffffffffffffffffffffffff1662000ca7620004be565b73ffffffffffffffffffffffffffffffffffffffff161462000d00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cf79062002053565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000dde67eba890abd5c6a75960c01b62000edc565b62000df467b04facfefe209ca960c01b62000edc565b62000e0a679fd82d3b198ff42e60c01b62000edc565b62000e16838362000edf565b62000e2c6728c2e03e97b66c5d60c01b62000edc565b62000e4267a102dcd4441caad760c01b62000edc565b62000e4e838262001131565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff1662000ec8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ebf90620020b9565b60405180910390fd5b62000ed262001219565b565b600033905090565b50565b62000ef5672e54ea59257511eb60c01b62000edc565b62000f0b674e8e40e3fe690b9960c01b62000edc565b62000f2167374794e13b4eef9560c01b62000edc565b600082602001511115620011165762000f4567fd0e615dde5b41a460c01b62000edc565b62000f5b67db66974502781d8f60c01b62000edc565b62000f7167080d93e154980c1b60c01b62000edc565b6000826000015173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b815260040162000fb492919062001d9b565b60206040518083038186803b15801562000fcd57600080fd5b505afa15801562000fe2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200100891906200194d565b905062001020677dda1ed0663e65f460c01b62000edc565b62001036674a61ff67c4f4e6eb60c01b62000edc565b6200104c675a19dc5b13ed4fff60c01b62000edc565b826020015181101562001096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200108d9062002075565b60405180910390fd5b620010ac6790b84030d937b50e60c01b62000edc565b620010c2674fc2048aa3c7cf7060c01b62000edc565b620010d86752cc92bf23aa099a60c01b62000edc565b6200110f82308560200151866000015173ffffffffffffffffffffffffffffffffffffffff1662001281909392919063ffffffff16565b506200112d565b6200112c67eab61c20b614698760c01b62000edc565b5b5050565b62001147670c0ebada067a59b560c01b62000edc565b6200115d6751979652a99cd56a60c01b62000edc565b6200117367e795a2e8985d362860c01b62000edc565b600082602001511115620011fe57620011976732f390c8aa67422660c01b62000edc565b620011ad67434f21563c81b9cb60c01b62000edc565b620011c367bcd3ed1b2dea21fb60c01b62000edc565b620011f8818360200151846000015173ffffffffffffffffffffffffffffffffffffffff166200130e9092919063ffffffff16565b62001215565b62001214670a1e82b479f54f4760c01b62000edc565b5b5050565b600060019054906101000a900460ff166200126b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200126290620020b9565b60405180910390fd5b6200127f6200127962000ed4565b62000d02565b565b62001308846323b872dd60e01b858585604051602401620012a59392919062001dc8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505062001398565b50505050565b620013938363a9059cbb60e01b84846040516024016200133092919062001ee6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505062001398565b505050565b6000620013fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16620014689092919063ffffffff16565b90506000815114806200142157508080602001905181019062001420919062001801565b5b62001463576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200145a90620020db565b60405180910390fd5b505050565b606062001479848460008562001482565b90509392505050565b606082471015620014ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620014c1906200200f565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051620014f5919062001d65565b60006040518083038185875af1925050503d806000811462001534576040519150601f19603f3d011682016040523d82523d6000602084013e62001539565b606091505b50915091506200154c8783838762001558565b92505050949350505050565b60608315620015c357600083511415620015ba57620015778562000e53565b620015b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620015b09062002097565b60405180910390fd5b5b829050620015d0565b620015cf8383620015d8565b5b949350505050565b600082511115620015ec5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001622919062001f5d565b60405180910390fd5b614e79806200270783390190565b6000620016506200164a8462002180565b62002157565b9050828152602081018484840111156200166957600080fd5b6200167684828562002360565b509392505050565b6000620016956200168f84620021b6565b62002157565b905082815260208101848484011115620016ae57600080fd5b620016bb84828562002360565b509392505050565b600081359050620016d4816200266a565b92915050565b600081359050620016eb8162002684565b92915050565b60008135905062001702816200269e565b92915050565b60008151905062001719816200269e565b92915050565b600082601f8301126200173157600080fd5b81356200174384826020860162001639565b91505092915050565b6000813590506200175d81620026b8565b92915050565b600082601f8301126200177557600080fd5b8135620017878482602086016200167e565b91505092915050565b600081359050620017a181620026d2565b92915050565b600081519050620017b881620026d2565b92915050565b600081359050620017cf81620026ec565b92915050565b600060208284031215620017e857600080fd5b6000620017f884828501620016c3565b91505092915050565b6000602082840312156200181457600080fd5b6000620018248482850162001708565b91505092915050565b600080604083850312156200184157600080fd5b600062001851858286016200174c565b9250506020620018648582860162001790565b9150509250929050565b600080600080600080600060e0888a0312156200188a57600080fd5b600088013567ffffffffffffffff811115620018a557600080fd5b620018b38a828b0162001763565b975050602088013567ffffffffffffffff811115620018d157600080fd5b620018df8a828b016200171f565b9650506040620018f28a828b016200174c565b9550506060620019058a828b0162001790565b9450506080620019188a828b01620016da565b93505060a06200192b8a828b01620017be565b92505060c06200193e8a828b01620016f1565b91505092959891949750929550565b6000602082840312156200196057600080fd5b60006200197084828501620017a7565b91505092915050565b6200198481620022e8565b82525050565b62001995816200226d565b82525050565b620019a68162002259565b82525050565b620019b78162002259565b82525050565b620019c88162002281565b82525050565b620019d98162002281565b82525050565b6000620019ec82620021ec565b620019f8818562002202565b935062001a0a8185602086016200236f565b62001a158162002446565b840191505092915050565b600062001a2d82620021ec565b62001a39818562002213565b935062001a4b8185602086016200236f565b80840191505092915050565b62001a6281620022fc565b82525050565b62001a7381620022fc565b82525050565b62001a848162002324565b82525050565b600062001a9782620021f7565b62001aa381856200221e565b935062001ab58185602086016200236f565b62001ac08162002446565b840191505092915050565b600062001ada6026836200221e565b915062001ae78262002464565b604082019050919050565b600062001b016026836200221e565b915062001b0e82620024b3565b604082019050919050565b600062001b28602e836200221e565b915062001b358262002502565b604082019050919050565b600062001b4f6020836200221e565b915062001b5c8262002551565b602082019050919050565b600062001b76601d836200221e565b915062001b83826200257a565b602082019050919050565b600062001b9d601d836200221e565b915062001baa82620025a3565b602082019050919050565b600062001bc4602b836200221e565b915062001bd182620025cc565b604082019050919050565b600062001beb602a836200221e565b915062001bf8826200261b565b604082019050919050565b60408201600082015162001c1b600085018262001a57565b50602082015162001c30602085018262001d21565b50505050565b60408201600080830154905062001c4d81620023a5565b62001c5c600086018262001a57565b506001830154905062001c6f81620023c3565b62001c7e602086018262001d21565b5050505050565b60e08201600082015162001c9d60008501826200199b565b50602082015162001cb2602085018262001d43565b50604082015162001cc7604085018262001a57565b50606082015162001cdc606085018262001d21565b50608082015162001cf160808501826200199b565b5060a082015162001d0660a08501826200198a565b5060c082015162001d1b60c0850182620019bd565b50505050565b62001d2c81620022c1565b82525050565b62001d3d81620022c1565b82525050565b62001d4e81620022cb565b82525050565b62001d5f81620022cb565b82525050565b600062001d73828462001a20565b915081905092915050565b600060208201905062001d956000830184620019ac565b92915050565b600060408201905062001db26000830185620019ac565b62001dc16020830184620019ac565b9392505050565b600060608201905062001ddf6000830186620019ac565b62001dee6020830185620019ac565b62001dfd604083018462001d32565b949350505050565b60006101c08201905062001e1d600083018f620019ac565b818103602083015262001e31818e62001a8a565b9050818103604083015262001e47818d620019df565b905062001e58606083018c620019ac565b62001e67608083018b62001d32565b62001e7660a083018a62001979565b62001e8560c083018962001c36565b62001e9561010083018862001c36565b62001ea5610140830187620019ac565b62001eb561016083018662001d54565b62001ec5610180830185620019ce565b62001ed56101a083018462001d32565b9d9c50505050505050505050505050565b600060408201905062001efd6000830185620019ac565b62001f0c602083018462001d32565b9392505050565b600060408201905062001f2a600083018562001a68565b62001f39602083018462001d32565b9392505050565b600060208201905062001f57600083018462001a79565b92915050565b6000602082019050818103600083015262001f79818462001a8a565b905092915050565b60006101a082019050818103600083015262001f9e818862001a8a565b9050818103602083015262001fb48187620019df565b905062001fc5604083018662001c03565b62001fd4608083018562001c03565b62001fe360c083018462001c85565b9695505050505050565b60006020820190508181036000830152620020088162001acb565b9050919050565b600060208201905081810360008301526200202a8162001af2565b9050919050565b600060208201905081810360008301526200204c8162001b19565b9050919050565b600060208201905081810360008301526200206e8162001b40565b9050919050565b60006020820190508181036000830152620020908162001b67565b9050919050565b60006020820190508181036000830152620020b28162001b8e565b9050919050565b60006020820190508181036000830152620020d48162001bb5565b9050919050565b60006020820190508181036000830152620020f68162001bdc565b9050919050565b600060208201905062002114600083018462001d32565b92915050565b600060608201905062002131600083018662001d32565b620021406020830185620019ac565b6200214f604083018462001d32565b949350505050565b60006200216362002176565b9050620021718282620023e1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200219e576200219d62002417565b5b620021a98262002446565b9050602081019050919050565b600067ffffffffffffffff821115620021d457620021d362002417565b5b620021df8262002446565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200226682620022a1565b9050919050565b60006200227a82620022a1565b9050919050565b60008115159050919050565b60006200229a8262002259565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b6000620022f58262002338565b9050919050565b6000620023098262002310565b9050919050565b60006200231d82620022a1565b9050919050565b60006200233182620022db565b9050919050565b600062002345826200234c565b9050919050565b60006200235982620022a1565b9050919050565b82818337600083830152505050565b60005b838110156200238f57808201518184015260208101905062002372565b838111156200239f576000848401525b50505050565b6000620023bc620023b68362002457565b6200222f565b9050919050565b6000620023da620023d48362002457565b6200224f565b9050919050565b620023ec8262002446565b810181811067ffffffffffffffff821117156200240e576200240d62002417565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160001c9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552524f52203a204465706f7369742062616420616c6c6f77616e6365000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b620026758162002259565b81146200268157600080fd5b50565b6200268f816200226d565b81146200269b57600080fd5b50565b620026a98162002281565b8114620026b557600080fd5b50565b620026c3816200228d565b8114620026cf57600080fd5b50565b620026dd81620022c1565b8114620026e957600080fd5b50565b620026f781620022cb565b81146200270357600080fd5b5056fe60806040523480156200001157600080fd5b5060405162004e7938038062004e7983398181016040528101906200003791906200089f565b6200005367b26df9290b66dfc360c01b620004d960201b60201c565b6200006f67197ba710974c32e560c01b620004d960201b60201c565b6200008b67b744e394bd41e2ab60c01b620004d960201b60201c565b620000a767a6a29ec8b26b567360c01b620004d960201b60201c565b8060c001518015620000c357506000816020015163ffffffff16115b1562000106576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000fd906200097b565b60405180910390fd5b62000122679f8e462f82fd6bf060c01b620004d960201b60201c565b6200013e67f6ecb2b671bd1efe60c01b620004d960201b60201c565b846001908051906020019062000156929190620004dc565b5062000173679588db56ab918bba60c01b620004d960201b60201c565b83600290805190602001906200018b9291906200056d565b50620001a8670620ecc1e9d32a9060c01b620004d960201b60201c565b8060400151600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200020967cdda0a4feb60c6f360c01b620004d960201b60201c565b806060015160048190555062000230671da179ab82c8ba2660c01b620004d960201b60201c565b8060800151600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000291675637603bbcfb814560c01b620004d960201b60201c565b8060a00151600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002f267e6e4479a6d99dc4960c01b620004d960201b60201c565b80600001516000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003526784e2da4d8de9460560c01b620004d960201b60201c565b82600860008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050620003c567e313d5dbed0597b460c01b620004d960201b60201c565b81600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050620004386706f1b5769231762160c01b620004d960201b60201c565b6000600c60006101000a81548160ff0219169083151502179055506200046f676e695fbaaa697bd760c01b620004d960201b60201c565b8060200151600660146101000a81548163ffffffff021916908363ffffffff160217905550620004b06790f51837984cf8b960c01b620004d960201b60201c565b8060c00151600660186101000a81548160ff021916908315150217905550505050505062000ce7565b50565b828054620004ea9062000afb565b90600052602060002090601f0160209004810192826200050e57600085556200055a565b82601f106200052957805160ff19168380011785556200055a565b828001600101855582156200055a579182015b82811115620005595782518255916020019190600101906200053c565b5b509050620005699190620005fe565b5090565b8280546200057b9062000afb565b90600052602060002090601f0160209004810192826200059f5760008555620005eb565b82601f10620005ba57805160ff1916838001178555620005eb565b82800160010185558215620005eb579182015b82811115620005ea578251825591602001919060010190620005cd565b5b509050620005fa9190620005fe565b5090565b5b8082111562000619576000816000905550600101620005ff565b5090565b6000620006346200062e84620009c6565b6200099d565b9050828152602081018484840111156200064d57600080fd5b6200065a84828562000ac5565b509392505050565b6000620006796200067384620009fc565b6200099d565b9050828152602081018484840111156200069257600080fd5b6200069f84828562000ac5565b509392505050565b600081519050620006b88162000c4b565b92915050565b600081519050620006cf8162000c65565b92915050565b600081519050620006e68162000c7f565b92915050565b600082601f830112620006fe57600080fd5b8151620007108482602086016200061d565b91505092915050565b6000815190506200072a8162000c99565b92915050565b600082601f8301126200074257600080fd5b81516200075484826020860162000662565b91505092915050565b6000604082840312156200077057600080fd5b6200077c60406200099d565b905060006200078e8482850162000719565b6000830152506020620007a48482850162000871565b60208301525092915050565b600060e08284031215620007c357600080fd5b620007cf60e06200099d565b90506000620007e184828501620006a7565b6000830152506020620007f78482850162000888565b60208301525060406200080d8482850162000719565b6040830152506060620008238482850162000871565b60608301525060806200083984828501620006a7565b60808301525060a06200084f84828501620006be565b60a08301525060c06200086584828501620006d5565b60c08301525092915050565b600081519050620008828162000cb3565b92915050565b600081519050620008998162000ccd565b92915050565b60008060008060006101a08688031215620008b957600080fd5b600086015167ffffffffffffffff811115620008d457600080fd5b620008e28882890162000730565b955050602086015167ffffffffffffffff8111156200090057600080fd5b6200090e88828901620006ec565b945050604062000921888289016200075d565b935050608062000934888289016200075d565b92505060c06200094788828901620007b0565b9150509295509295909350565b60006200096360528362000a32565b9150620009708262000bd6565b606082019050919050565b60006020820190508181036000830152620009968162000954565b9050919050565b6000620009a9620009bc565b9050620009b7828262000b31565b919050565b6000604051905090565b600067ffffffffffffffff821115620009e457620009e362000b96565b5b620009ef8262000bc5565b9050602081019050919050565b600067ffffffffffffffff82111562000a1a5762000a1962000b96565b5b62000a258262000bc5565b9050602081019050919050565b600082825260208201905092915050565b600062000a508262000a8b565b9050919050565b600062000a648262000a8b565b9050919050565b60008115159050919050565b600062000a848262000a43565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60005b8381101562000ae557808201518184015260208101905062000ac8565b8381111562000af5576000848401525b50505050565b6000600282049050600182168062000b1457607f821691505b6020821081141562000b2b5762000b2a62000b67565b5b50919050565b62000b3c8262000bc5565b810181811067ffffffffffffffff8211171562000b5e5762000b5d62000b96565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552524f523a2043616e27742063726561746520612077686974654c6973746560008201527f642071756573742077697468206d617820706c6179657273206772656174657260208201527f207468616e20302028696e66696e697479290000000000000000000000000000604082015250565b62000c568162000a43565b811462000c6257600080fd5b50565b62000c708162000a57565b811462000c7c57600080fd5b50565b62000c8a8162000a6b565b811462000c9657600080fd5b50565b62000ca48162000a77565b811462000cb057600080fd5b50565b62000cbe8162000aab565b811462000cca57600080fd5b50565b62000cd88162000ab5565b811462000ce457600080fd5b50565b6141828062000cf76000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638b5b9ccc116100cd578063d03ffefb11610081578063e492814f11610066578063e492814f1461037d578063f294cf3814610399578063f7c618c1146103b75761016c565b8063d03ffefb14610340578063e0c234231461035f5761016c565b8063a888c2cd116100b2578063a888c2cd146102d4578063b0a87ac114610306578063b434151c146103245761016c565b80638b5b9ccc146102975780638c53c9bd146102b55761016c565b8063579ca2c911610124578063775b9c1311610109578063775b9c131461022d5780637ceae3101461024957806385c99e2b146102675761016c565b8063579ca2c9146102055780636c3a4cce1461020f5761016c565b8063310a1ee311610155578063310a1ee3146101ab57806348d6cb53146101c95780634c2412a2146101e75761016c565b8063151dfb06146101715780632f17b1821461018d575b600080fd5b61018b60048036038101906101869190612fe4565b6103d5565b005b610195610970565b6040516101a29190613641565b60405180910390f35b6101b3610983565b6040516101c09190613942565b60405180910390f35b6101d1610989565b6040516101de9190613641565b60405180910390f35b6101ef61099c565b6040516101fc919061395d565b60405180910390f35b61020d6109b2565b005b610217610e3f565b6040516102249190613530565b60405180910390f35b6102476004803603810190610242919061300d565b610e63565b005b6102516110da565b60405161025e919061354b565b60405180910390f35b610281600480360381019061027c9190612fe4565b611100565b60405161028e9190613641565b60405180910390f35b61029f611171565b6040516102ac91906135ef565b60405180910390f35b6102bd61123b565b6040516102cb9291906136d7565b60405180910390f35b6102ee60048036038101906102e991906130f2565b61126d565b6040516102fd9392919061367e565b60405180910390f35b61030e61134f565b60405161031b9190613530565b60405180910390f35b61033e60048036038101906103399190613077565b611375565b005b610348611c90565b6040516103569291906136d7565b60405180910390f35b610367611cc2565b604051610374919061365c565b60405180910390f35b61039760048036038101906103929190612fe4565b611d50565b005b6103a1612374565b6040516103ae9190613700565b60405180910390f35b6103bf612402565b6040516103cc91906136bc565b60405180910390f35b6103e96732efddbbd1f87bb560c01b612428565b6103fd67d9c931de784e200c60c01b612428565b610411674d6d5bd7811ccda160c01b612428565b6104256749e5a4c773555eab60c01b612428565b60001515600660189054906101000a900460ff1615151461047b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610472906137a2565b60405180910390fd5b61048f67ebbfef2a04fe78a360c01b612428565b6104a367be90eb0ac3298e7c60c01b612428565b6104b76771f725ce80907b3560c01b612428565b6104cb677cb135e2d9386f0560c01b612428565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561051657506105156748f2625fb17a642860c01b61242b565b5b80610588575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610587575061058667fc77a832c860288360c01b61242b565b5b5b6105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be90613922565b60405180910390fd5b6105db679a5d0901e925863860c01b612428565b6105ef6720c5db7312fea82c60c01b612428565b61060367a8c6c695dc9ddad460c01b612428565b600061060e82612436565b905061062467e4e40d0375be283760c01b612428565b61063867429f355e31530f7f60c01b612428565b61064c67be76644ceca6017c60c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114156106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a690613782565b60405180910390fd5b6106c367c60fd9636a7ef87360c01b612428565b6106d76744a6a408a2be299860c01b612428565b600d6001600d805490506106eb9190613ad0565b81548110610722577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d8281548110610787577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107e367c9bfe374997edbae60c01b612428565b6107f7676f7fc1215b156a5160c01b612428565b600d80548061082f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561087867b44331a05f3b0b4e60c01b612428565b61088c67d00e531781d8ad3f60c01b612428565b61090b82600a6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505061260290919063ffffffff16565b61091f67552817a91899ecf060c01b612428565b6109336794770ed3857a2c3f60c01b612428565b7fc4a67a0877d477de99d765a3d9f48abfbe6181dff4727d68c3cb60715555417582426040516109649291906135c6565b60405180910390a15050565b600660189054906101000a900460ff1681565b60045481565b600c60009054906101000a900460ff1681565b600660149054906101000a900463ffffffff1681565b6109c66726b2d608d44c887a60c01b612428565b6109da677938f75bc1c0029160c01b612428565b6109ee6738f79bf577616b7a60c01b612428565b610a0267833d3d7320f0701d60c01b612428565b600454421015610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e906137e2565b60405180910390fd5b610a5b672547b108dfb5682a60c01b612428565b610a6f6703659150f0865c7560c01b612428565b610a836796b5699448e959e060c01b612428565b600c60009054906101000a900460ff16610ba657610aab67d6536ad812e0c4e760c01b612428565b610abf67b3965c9a4fb2fae160c01b612428565b610ad36787d26b6b15e008cb60c01b612428565b610b7260008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660086040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505061260290919063ffffffff16565b610b866702e06a24254cdc6860c01b612428565b6001600c60006101000a81548160ff021916908315150217905550610bbb565b610bba67bdd8913a081625f860c01b612428565b5b610bcf67ca820ce9be9d1c1a60c01b612428565b610be36720412470be5617f160c01b612428565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c409190613530565b60206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c90919061311b565b9050610ca667af9ff70a195c906660c01b612428565b610cba67a33f16a47597eeb460c01b612428565b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d9057610d4967f1ad32bfd8362e3f60c01b612428565b610d5d679f744bcdd4ca559f60c01b612428565b610d85600d80549050600a60010154610d769190613a76565b826126d890919063ffffffff16565b905080915050610da5565b610da4674328584f75b2115560c01b612428565b5b610db967a3c63b90fd69ac7260c01b612428565b610dcd67db414657d0100b1e60c01b612428565b610e3c600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166127009092919063ffffffff16565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e7767911e80d70ad0da4d60c01b612428565b610e8b67e8912bdb315dfb6160c01b612428565b610e9f67a7b5220eef006e0760c01b612428565b610eb3677c239f3b69a5f8ff60c01b612428565b610ec76769ee8ffa5327919f60c01b612428565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90613822565b60405180910390fd5b610f6967929a3003443ca31f60c01b612428565b610f7d672e514711a332c80b60c01b612428565b610f9167df4089bf9b1361da60c01b612428565b610fa56732d5bee520552a8560c01b612428565b610fb967a0f9e2c19ced742460c01b612428565b610fcd675ec4fd4020272a7f60c01b612428565b610fe16796589a48cfdfc9ee60c01b612428565b60011515600660189054906101000a900460ff16151514611037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102e90613722565b60405180910390fd5b61104b672a4f6cf2038ebf9b60c01b612428565b61105f6796cc6a408a9940d360c01b612428565b80600d9080519060200190611075929190612d50565b5061108a67d4e1a3635fdbc85660c01b612428565b61109e67b5a2c344d7c31f9460c01b612428565b7fb1565d66d9899787abe67ac307850cf339a24f69de2bf7ffa4179e0eaeb939b081426040516110cf929190613611565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061111667e9bef6653e501c7060c01b612428565b61112a67c289ccc3dab4f40260c01b612428565b61113e67d57895a4422d2f5a60c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61116883612436565b14159050919050565b6060611187673ea543d729fcaabe60c01b612428565b61119b67edcb6c1726fc943b60c01b612428565b6111af6786417e35d96aec8260c01b612428565b600d80548060200260200160405190810160405280929190818152602001828054801561123157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116111e7575b5050505050905090565b600a8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6007818154811061127d57600080fd5b90600052602060002090600302016000915090508060000180546112a090613bd4565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc90613bd4565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611389676ef330ba4f59d47360c01b612428565b61139d670a012faffaff72dc60c01b612428565b6113b167728066e634af75dd60c01b612428565b6113c5673ab2f862350730f060c01b612428565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90613862565b60405180910390fd5b6114696715b00d4aa53d509e60c01b612428565b61147d6722b46e930f32ab4560c01b612428565b61149167a6b10536649fd96660c01b612428565b6114a5673cb13ebb8b3de3e760c01b612428565b6000845114156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906138c2565b60405180910390fd5b6114fe67fdd6371a77b5adf460c01b612428565b611512676dbceaa93a8c873960c01b612428565b61152667f76090ffd46db8f360c01b612428565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115839190613530565b60206040518083038186803b15801561159b57600080fd5b505afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d3919061311b565b90506115e967d4152bf5e1329c9a60c01b612428565b6115fd67e8eba4cc47bbb55560c01b612428565b811561189f576116176750586c2ec75d39fb60c01b612428565b61162b67fa8c9a0ca7ca8ac260c01b612428565b61163f67888ff90e9c79c86160c01b612428565b600860000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611730576116ce675aa7a3f3feaeadd360c01b612428565b6116e2679cf430f60bab3f1a60c01b612428565b6116f66799a6589436abea8960c01b612428565b6000611710600860010154836126d890919063ffffffff16565b9150506117276754b4ab17973d322260c01b612428565b8093505061175c565b61174467bb372447a92d737e60c01b612428565b6117586722453c249b596ba360c01b612428565b8092505b61177067284ccd79b24eaf7b60c01b612428565b611784674ef0a128517675ba60c01b612428565b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611885576118136713ce5940a025e8d160c01b612428565b61182767ea4fac06254b8a1e60c01b612428565b61183b67206332479c6c1e7360c01b612428565b6000611865600d80549050600a600101546118569190613a76565b856126d890919063ffffffff16565b91505061187c674b1e9e5c8f6cd15f60c01b612428565b8093505061189a565b61189967ad1de8c827a7837f60c01b612428565b5b6118b4565b6118b367ac248d58f87fe5f060c01b612428565b5b6118c8676a6e169c03b2873360c01b612428565b6118dc672be9a176d42bc00d60c01b612428565b600860000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a495761196b67ad4b254d8b8f9cdc60c01b612428565b61197f67511e91302448563660c01b612428565b6119936785ecf86c8d7035d060c01b612428565b60006119a884836126d890919063ffffffff16565b9150506119bf678814d876ff183ed960c01b612428565b6119d36723c7f0e23d91087060c01b612428565b6119e76749ee317a00bfd3ae60c01b612428565b600860010154811015611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2690613762565b60405180910390fd5b611a43671e5f42ffbf0057dc60c01b612428565b50611a5e565b611a5d67e0101bb9a08ce9c660c01b612428565b5b611a7267ced2c7ab168a85de60c01b612428565b611a866716e2349da65aed1960c01b612428565b6000831115611b1d57611aa367e873bf55a422f10060c01b612428565b611ab767c67bb315447bbce060c01b612428565b611acb674192327b8bcf1e8160c01b612428565b611b188484600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166127009092919063ffffffff16565b611b32565b611b316778e9ae643c139ad760c01b612428565b5b611b46679b585cfe66dff3ac60c01b612428565b611b5a675868bcc870def64860c01b612428565b600760405180606001604052808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018581525090806001815401808255809150506001900390600052602060002090600302016000909190919091506000820151816000019080519060200190611bd2929190612dda565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201555050611c3a678fe05a4f2812a43160c01b612428565b611c4e67242fd74ceb27e63f60c01b612428565b7fa1c3b325aa2c115e4b244062eba2515bc5585ae5b41556be8fef399ae9fde11b858585604051611c819392919061367e565b60405180910390a15050505050565b60088060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60028054611ccf90613bd4565b80601f0160208091040260200160405190810160405280929190818152602001828054611cfb90613bd4565b8015611d485780601f10611d1d57610100808354040283529160200191611d48565b820191906000526020600020905b815481529060010190602001808311611d2b57829003601f168201915b505050505081565b611d646703c884caede3dd8960c01b612428565b611d786762ed42ce61d240be60c01b612428565b611d8c677140c0c8d19bd94c60c01b612428565b611da067a6a66235cefcbd0e60c01b612428565b60001515600660189054906101000a900460ff16151514611df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ded90613802565b60405180910390fd5b611e0a67f94c071a0fcac21e60c01b612428565b611e1e676e447be0494f14fe60c01b612428565b611e3267d517f4d84787ab1a60c01b612428565b611e4667563be2a60d97c32760c01b612428565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611e915750611e9067318577897d4e252d60c01b61242b565b5b80611f03575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611f025750611f0167e8dee74784c1f5b760c01b61242b565b5b5b611f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3990613922565b60405180910390fd5b611f5667e6b9964cb272c92260c01b612428565b611f6a679d2c316ff5f3a9b960c01b612428565b611f7e67c83e06932aa2ccdb60c01b612428565b611f92674d3d961f8aec578460c01b612428565b6000600660149054906101000a900463ffffffff1663ffffffff16148015611fca5750611fc96763da1ef308d7bbef60c01b61242b565b5b8061200d5750600660149054906101000a900463ffffffff1663ffffffff16600d8054905010801561200c575061200b670800b5a00353d8f060c01b61242b565b5b5b61204c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204390613842565b60405180910390fd5b61206067409fb108bd7ff3fe60c01b612428565b61207467b0c51f8fdf205e8460c01b612428565b612088671f9160fda101764f60c01b612428565b61209c67e4382a9823c40ac260c01b612428565b60045442106120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d790613742565b60405180910390fd5b6120f46737c4eef1aede193760c01b612428565b612108674147474b6baccda660c01b612428565b61211c6735581ede4eba5c1460c01b612428565b600061212782612436565b905061213d67e6fd9d84698aeb7360c01b612428565b61215167ffdbb62b7795341c60c01b612428565b612165678411e44fd8b88ca360c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121be906138e2565b60405180910390fd5b6121db671accdf3ebde9791760c01b612428565b6121ef678c3a03c67001fdd360c01b612428565b612203673d28b8b5edd6235e60c01b612428565b6122843330600a6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250506127869092919063ffffffff16565b61229867c374ff4a280dbf3560c01b612428565b6122ac67efff330a40df0bf260c01b612428565b600d829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061232367d0203a72a760845760c01b612428565b61233767da9eb66dc3d82b0b60c01b612428565b7f35ec60f951b4abc8b287ab5148caf98524052482927d42e86a720cc71b8a76a182426040516123689291906135c6565b60405180910390a15050565b6001805461238190613bd4565b80601f01602080910402602001604051908101604052809291908181526020018280546123ad90613bd4565b80156123fa5780601f106123cf576101008083540402835291602001916123fa565b820191906000526020600020905b8154815290600101906020018083116123dd57829003601f168201915b505050505081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b600060019050919050565b600061244c675f2983638d9fc6d560c01b612428565b6124606755f8452fb4531fe960c01b612428565b61247467b84d1092f452041960c01b612428565b60005b600d805490508110156125b05761249867ca719689d18bf05660c01b612428565b6124ac67659f8e998dc9c1de60c01b612428565b8273ffffffffffffffffffffffffffffffffffffffff16600d82815481106124fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156125895761255867a05ea05bd5822e1660c01b612428565b61256c6751108c97d793da7060c01b612428565b612580671bb7c9a3a27e26fe60c01b612428565b809150506125fd565b61259d672bd813f0c0b2426960c01b612428565b80806125a890613c37565b915050612477565b506125c5675a3af027ee4d61e960c01b612428565b6125d96764bcd8e112a86bf060c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505b919050565b612616670c0ebada067a59b560c01b612803565b61262a6751979652a99cd56a60c01b612803565b61263e67e795a2e8985d362860c01b612803565b6000826020015111156126bf5761265f6732f390c8aa67422660c01b612803565b61267367434f21563c81b9cb60c01b612803565b61268767bcd3ed1b2dea21fb60c01b612803565b6126ba818360200151846000015173ffffffffffffffffffffffffffffffffffffffff166127009092919063ffffffff16565b6126d4565b6126d3670a1e82b479f54f4760c01b612803565b5b5050565b600080838311156126ef57600080915091506126f9565b6001838503915091505b9250929050565b6127818363a9059cbb60e01b848460405160240161271f9291906135c6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612806565b505050565b61279a67eba890abd5c6a75960c01b612803565b6127ae67b04facfefe209ca960c01b612803565b6127c2679fd82d3b198ff42e60c01b612803565b6127cc83836128ce565b6127e06728c2e03e97b66c5d60c01b612803565b6127f467a102dcd4441caad760c01b612803565b6127fe8382612602565b505050565b50565b6000612868826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612af99092919063ffffffff16565b905060008151148061288a575080806020019051810190612889919061304e565b5b6128c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c090613902565b60405180910390fd5b505050565b6128e2672e54ea59257511eb60c01b612803565b6128f6674e8e40e3fe690b9960c01b612803565b61290a67374794e13b4eef9560c01b612803565b600082602001511115612ae05761292b67fd0e615dde5b41a460c01b612803565b61293f67db66974502781d8f60c01b612803565b61295367080d93e154980c1b60c01b612803565b6000826000015173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b8152600401612994929190613566565b60206040518083038186803b1580156129ac57600080fd5b505afa1580156129c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e4919061311b565b90506129fa677dda1ed0663e65f460c01b612803565b612a0e674a61ff67c4f4e6eb60c01b612803565b612a22675a19dc5b13ed4fff60c01b612803565b8260200151811015612a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6090613882565b60405180910390fd5b612a7d6790b84030d937b50e60c01b612803565b612a91674fc2048aa3c7cf7060c01b612803565b612aa56752cc92bf23aa099a60c01b612803565b612ada82308560200151866000015173ffffffffffffffffffffffffffffffffffffffff16612b11909392919063ffffffff16565b50612af5565b612af467eab61c20b614698760c01b612803565b5b5050565b6060612b088484600085612b9a565b90509392505050565b612b94846323b872dd60e01b858585604051602401612b329392919061358f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612806565b50505050565b606082471015612bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd6906137c2565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612c089190613519565b60006040518083038185875af1925050503d8060008114612c45576040519150601f19603f3d011682016040523d82523d6000602084013e612c4a565b606091505b5091509150612c5b87838387612c67565b92505050949350505050565b60608315612cca57600083511415612cc257612c8285612cdd565b612cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb8906138a2565b60405180910390fd5b5b829050612cd5565b612cd48383612d00565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115612d135781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d479190613700565b60405180910390fd5b828054828255906000526020600020908101928215612dc9579160200282015b82811115612dc85782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612d70565b5b509050612dd69190612e60565b5090565b828054612de690613bd4565b90600052602060002090601f016020900481019282612e085760008555612e4f565b82601f10612e2157805160ff1916838001178555612e4f565b82800160010185558215612e4f579182015b82811115612e4e578251825591602001919060010190612e33565b5b509050612e5c9190612e60565b5090565b5b80821115612e79576000816000905550600101612e61565b5090565b6000612e90612e8b8461399d565b613978565b90508083825260208201905082856020860282011115612eaf57600080fd5b60005b85811015612edf5781612ec58882612f27565b845260208401935060208301925050600181019050612eb2565b5050509392505050565b6000612efc612ef7846139c9565b613978565b905082815260208101848484011115612f1457600080fd5b612f1f848285613b92565b509392505050565b600081359050612f3681614107565b92915050565b600082601f830112612f4d57600080fd5b8135612f5d848260208601612e7d565b91505092915050565b600081359050612f758161411e565b92915050565b600081519050612f8a8161411e565b92915050565b600082601f830112612fa157600080fd5b8135612fb1848260208601612ee9565b91505092915050565b600081359050612fc981614135565b92915050565b600081519050612fde81614135565b92915050565b600060208284031215612ff657600080fd5b600061300484828501612f27565b91505092915050565b60006020828403121561301f57600080fd5b600082013567ffffffffffffffff81111561303957600080fd5b61304584828501612f3c565b91505092915050565b60006020828403121561306057600080fd5b600061306e84828501612f7b565b91505092915050565b6000806000806080858703121561308d57600080fd5b600085013567ffffffffffffffff8111156130a757600080fd5b6130b387828801612f90565b94505060206130c487828801612f27565b93505060406130d587828801612fba565b92505060606130e687828801612f66565b91505092959194509250565b60006020828403121561310457600080fd5b600061311284828501612fba565b91505092915050565b60006020828403121561312d57600080fd5b600061313b84828501612fcf565b91505092915050565b6000613150838361316b565b60208301905092915050565b61316581613b16565b82525050565b61317481613b04565b82525050565b61318381613b04565b82525050565b600061319482613a0a565b61319e8185613a38565b93506131a9836139fa565b8060005b838110156131da5781516131c18882613144565b97506131cc83613a2b565b9250506001810190506131ad565b5085935050505092915050565b6131f081613b28565b82525050565b600061320182613a15565b61320b8185613a49565b935061321b818560208601613ba1565b61322481613d0d565b840191505092915050565b600061323a82613a15565b6132448185613a5a565b9350613254818560208601613ba1565b80840191505092915050565b61326981613b6e565b82525050565b600061327a82613a20565b6132848185613a65565b9350613294818560208601613ba1565b61329d81613d0d565b840191505092915050565b60006132b5603d83613a65565b91506132c082613d1e565b604082019050919050565b60006132d8601483613a65565b91506132e382613d6d565b602082019050919050565b60006132fb602783613a65565b915061330682613d96565b604082019050919050565b600061331e601983613a65565b915061332982613de5565b602082019050919050565b6000613341602783613a65565b915061334c82613e0e565b604082019050919050565b6000613364602683613a65565b915061336f82613e5d565b604082019050919050565b6000613387601283613a65565b915061339282613eac565b602082019050919050565b60006133aa603783613a65565b91506133b582613ed5565b604082019050919050565b60006133cd602383613a65565b91506133d882613f24565b604082019050919050565b60006133f0601a83613a65565b91506133fb82613f73565b602082019050919050565b6000613413601883613a65565b915061341e82613f9c565b602082019050919050565b6000613436601d83613a65565b915061344182613fc5565b602082019050919050565b6000613459601d83613a65565b915061346482613fee565b602082019050919050565b600061347c601283613a65565b915061348782614017565b602082019050919050565b600061349f601c83613a65565b91506134aa82614040565b602082019050919050565b60006134c2602a83613a65565b91506134cd82614069565b604082019050919050565b60006134e5602483613a65565b91506134f0826140b8565b604082019050919050565b61350481613b54565b82525050565b61351381613b5e565b82525050565b6000613525828461322f565b915081905092915050565b6000602082019050613545600083018461317a565b92915050565b6000602082019050613560600083018461315c565b92915050565b600060408201905061357b600083018561317a565b613588602083018461317a565b9392505050565b60006060820190506135a4600083018661317a565b6135b1602083018561317a565b6135be60408301846134fb565b949350505050565b60006040820190506135db600083018561317a565b6135e860208301846134fb565b9392505050565b600060208201905081810360008301526136098184613189565b905092915050565b6000604082019050818103600083015261362b8185613189565b905061363a60208301846134fb565b9392505050565b600060208201905061365660008301846131e7565b92915050565b6000602082019050818103600083015261367681846131f6565b905092915050565b6000606082019050818103600083015261369881866131f6565b90506136a7602083018561317a565b6136b460408301846134fb565b949350505050565b60006020820190506136d16000830184613260565b92915050565b60006040820190506136ec6000830185613260565b6136f960208301846134fb565b9392505050565b6000602082019050818103600083015261371a818461326f565b905092915050565b6000602082019050818103600083015261373b816132a8565b9050919050565b6000602082019050818103600083015261375b816132cb565b9050919050565b6000602082019050818103600083015261377b816132ee565b9050919050565b6000602082019050818103600083015261379b81613311565b9050919050565b600060208201905081810360008301526137bb81613334565b9050919050565b600060208201905081810360008301526137db81613357565b9050919050565b600060208201905081810360008301526137fb8161337a565b9050919050565b6000602082019050818103600083015261381b8161339d565b9050919050565b6000602082019050818103600083015261383b816133c0565b9050919050565b6000602082019050818103600083015261385b816133e3565b9050919050565b6000602082019050818103600083015261387b81613406565b9050919050565b6000602082019050818103600083015261389b81613429565b9050919050565b600060208201905081810360008301526138bb8161344c565b9050919050565b600060208201905081810360008301526138db8161346f565b9050919050565b600060208201905081810360008301526138fb81613492565b9050919050565b6000602082019050818103600083015261391b816134b5565b9050919050565b6000602082019050818103600083015261393b816134d8565b9050919050565b600060208201905061395760008301846134fb565b92915050565b6000602082019050613972600083018461350a565b92915050565b6000613982613993565b905061398e8282613c06565b919050565b6000604051905090565b600067ffffffffffffffff8211156139b8576139b7613cde565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156139e4576139e3613cde565b5b6139ed82613d0d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613a8182613b54565b9150613a8c83613b54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ac557613ac4613c80565b5b828202905092915050565b6000613adb82613b54565b9150613ae683613b54565b925082821015613af957613af8613c80565b5b828203905092915050565b6000613b0f82613b34565b9050919050565b6000613b2182613b34565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b6000613b7982613b80565b9050919050565b6000613b8b82613b34565b9050919050565b82818337600083830152505050565b60005b83811015613bbf578082015181840152602081019050613ba4565b83811115613bce576000848401525b50505050565b60006002820490506001821680613bec57607f821691505b60208210811415613c0057613bff613caf565b5b50919050565b613c0f82613d0d565b810181811067ffffffffffffffff82111715613c2e57613c2d613cde565b5b80604052505050565b6000613c4282613b54565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613c7557613c74613c80565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552524f523a2043616e27742073657420746865207768697465206c6973742060008201527f746f2061206e6f6e2d77686974656c697374656420636f6e7472616374000000602082015250565b7f4552524f523a2051756573742065787069726564000000000000000000000000600082015250565b7f4552524f523a2053686f756c64206e6f742065786365656420616c6c6f77656460008201527f20626f756e747900000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a20706c61796572206e6f7420696e206c69737400000000000000600082015250565b7f4552524f523a2063616e277420756e706c617920612077686974656c6973746560008201527f6420717565737400000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a204e6f7420657870697265640000000000000000000000000000600082015250565b7f4552524f523a2043616e27742073656c6620726567697374657220616e64207060008201527f6c617920612077686974656c6973746564205175657374000000000000000000602082015250565b7f4f6e6c792063726561746f722063616e2063616c6c20746869732066756e637460008201527f696f6e0000000000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a204d617820706c61796572732072656163686564000000000000600082015250565b7f4552524f523a2053656e646572206e6f7420676f7665726e0000000000000000600082015250565b7f4552524f52203a204465706f7369742062616420616c6c6f77616e6365000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f4552524f523a204e6f2065766964656e63650000000000000000000000000000600082015250565b7f4552524f523a20506c6179657220616c72656164792065786973747300000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f4552524f523a2053656e646572206e6f7420706c61796572206e6f722063726560008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b61411081613b04565b811461411b57600080fd5b50565b61412781613b28565b811461413257600080fd5b50565b61413e81613b54565b811461414957600080fd5b5056fea264697066735822122006e1b05bd228d10d4450b7ed980efb1c16e149eaea52f9c8111d40bcb04cf1a964736f6c63430008020033a26469706673582212206f7f6de32d7b0259b4b6beffb01a36853b4c12e5832da3c2b09f94d2172d262064736f6c63430008020033"; diff --git a/packages/hardhat/typechain/factories/Quest__factory.ts b/packages/hardhat/typechain/factories/Quest__factory.ts index 93e0e2a3..8e947195 100644 --- a/packages/hardhat/typechain/factories/Quest__factory.ts +++ b/packages/hardhat/typechain/factories/Quest__factory.ts @@ -553,4 +553,4 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b50604051620028e7380380620028e7833981016040819052620000349162000423565b8060c0015180156200005057506000816020015163ffffffff16115b15620000e35760405162461bcd60e51b815260206004820152605260248201527f4552524f523a2043616e27742063726561746520612077686974654c6973746560448201527f642071756573742077697468206d617820706c61796572732067726561746572606482015271207468616e20302028696e66696e6974792960701b608482015260a40160405180910390fd5b8451620000f8906001906020880190620001f1565b5083516200010e906002906020870190620001f1565b506040810151600380546001600160a01b03199081166001600160a01b03938416179091556060830151600455608083015160058054831691841691909117905560a083015160068054855160008054861691871691909117905587516008805486169187169190911790556020978801516009558651600a8054861691871691909117905595870151600b55600c805460ff191690559584015160c0909401519490911691161763ffffffff60a01b1916600160a01b63ffffffff909216919091021760ff60c01b1916600160c01b9115159190910217905550620005909050565b828054620001ff9062000524565b90600052602060002090601f0160209004810192826200022357600085556200026e565b82601f106200023e57805160ff19168380011785556200026e565b828001600101855582156200026e579182015b828111156200026e57825182559160200191906001019062000251565b506200027c92915062000280565b5090565b5b808211156200027c576000815560010162000281565b60006001600160401b03831115620002b357620002b362000561565b6020620002c9601f8501601f19168201620004f1565b9150838252848484011115620002de57600080fd5b60005b84811015620002fc57838101518382018301528101620002e1565b848111156200030e5760008286850101525b50509392505050565b8051620003248162000577565b919050565b805180151581146200032457600080fd5b6000604082840312156200034c578081fd5b620003586040620004f1565b90508151620003678162000577565b808252506020820151602082015292915050565b600060e082840312156200038d578081fd5b6200039960e0620004f1565b90508151620003a88162000577565b8152602082015163ffffffff81168114620003c257600080fd5b6020820152620003d56040830162000317565b604082015260608201516060820152620003f26080830162000317565b60808201526200040560a0830162000317565b60a08201526200041860c0830162000329565b60c082015292915050565b60008060008060006101a086880312156200043c578081fd5b85516001600160401b038082111562000453578283fd5b818801915088601f83011262000467578283fd5b620004788983516020850162000297565b965060208801519150808211156200048e578283fd5b508601601f81018813620004a0578182fd5b620004b18882516020840162000297565b945050620004c387604088016200033a565b9250620004d487608088016200033a565b9150620004e58760c088016200037b565b90509295509295909350565b604051601f8201601f191681016001600160401b03811182821017156200051c576200051c62000561565b604052919050565b6002810460018216806200053957607f821691505b602082108114156200055b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200058d57600080fd5b50565b61234780620005a06000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638b5b9ccc116100cd578063d03ffefb11610081578063e492814f11610066578063e492814f146103ab578063f294cf38146103be578063f7c618c1146103c65761016c565b8063d03ffefb14610372578063e0c23423146103965761016c565b8063a888c2cd116100b2578063a888c2cd1461031d578063b0a87ac11461033f578063b434151c1461035f5761016c565b80638b5b9ccc146102b85780638c53c9bd146102cd5761016c565b8063579ca2c911610124578063775b9c1311610109578063775b9c13146102725780637ceae3101461028557806385c99e2b146102a55761016c565b8063579ca2c9146102255780636c3a4cce1461022d5761016c565b8063310a1ee311610155578063310a1ee3146101c457806348d6cb53146101db5780634c2412a2146101e85761016c565b8063151dfb06146101715780632f17b18214610186575b600080fd5b61018461017f366004611e1c565b6103e6565b005b6006546101af907801000000000000000000000000000000000000000000000000900460ff1681565b60405190151581526020015b60405180910390f35b6101cd60045481565b6040519081526020016101bb565b600c546101af9060ff1681565b6006546102109074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101bb565b610184610807565b60005461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b610184610280366004611e3d565b6109fb565b60065461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b6101af6102b3366004611e1c565b610ba5565b6102c0610bdb565b6040516101bb91906120c6565b600a54600b546102f19173ffffffffffffffffffffffffffffffffffffffff169082565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101bb565b61033061032b366004611fe0565b610c4a565b6040516101bb9392919061210e565b60055461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b61018461036d366004611f07565b610d23565b6008546009546102f19173ffffffffffffffffffffffffffffffffffffffff169082565b61039e611151565b6040516101bb91906120fb565b6101846103b9366004611e1c565b6111df565b61039e6115ea565b60035461024d9073ffffffffffffffffffffffffffffffffffffffff1681565b6006547801000000000000000000000000000000000000000000000000900460ff161561049a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4552524f523a2063616e277420756e706c617920612077686974656c6973746560448201527f642071756573740000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806104d5575060005473ffffffffffffffffffffffffffffffffffffffff1633145b610560576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552524f523a2053656e646572206e6f7420706c61796572206e6f722063726560448201527f61746f72000000000000000000000000000000000000000000000000000000006064820152608401610491565b600061056b826115f7565b9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14156105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552524f523a20706c61796572206e6f7420696e206c697374000000000000006044820152606401610491565b600d8054610607906001906121d5565b8154811061063e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260209091200154600d805473ffffffffffffffffffffffffffffffffffffffff909216918390811061069e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d80548061071e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600082815260209081902082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560408051808201909152600a5473ffffffffffffffffffffffffffffffffffffffff168152600b54918101919091526107b490836116bf565b6040805173ffffffffffffffffffffffffffffffffffffffff841681524260208201527fc4a67a0877d477de99d765a3d9f48abfbe6181dff4727d68c3cb60715555417591015b60405180910390a15050565b600454421015610873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4552524f523a204e6f74206578706972656400000000000000000000000000006044820152606401610491565b600c5460ff166108e5576000546040805180820190915260085473ffffffffffffffffffffffffffffffffffffffff908116825260095460208301526108b992166116bf565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b6003546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a082319060240160206040518083038186803b15801561094f57600080fd5b505afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109879190611ff8565b600a5460035491925073ffffffffffffffffffffffffffffffffffffffff918216911614156109ce57600d54600b546109ca916109c391612198565b82906116f8565b9150505b6006546003546109f89173ffffffffffffffffffffffffffffffffffffffff91821691168361171e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610aa2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792063726561746f722063616e2063616c6c20746869732066756e637460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152608401610491565b6006547801000000000000000000000000000000000000000000000000900460ff161515600114610b55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552524f523a2043616e27742073657420746865207768697465206c6973742060448201527f746f2061206e6f6e2d77686974656c697374656420636f6e74726163740000006064820152608401610491565b8051610b6890600d906020840190611cda565b507fb1565d66d9899787abe67ac307850cf339a24f69de2bf7ffa4179e0eaeb939b08142604051610b9a9291906120d9565b60405180910390a150565b6000610bb0826115f7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff141590505b919050565b6060600d805480602002602001604051908101604052809291908181526020018280548015610c4057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c15575b5050505050905090565b60078181548110610c5a57600080fd5b9060005260206000209060030201600091509050806000018054610c7d90612218565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca990612218565b8015610cf65780601f10610ccb57610100808354040283529160200191610cf6565b820191906000526020600020905b815481529060010190602001808311610cd957829003601f168201915b505050506001830154600290930154919273ffffffffffffffffffffffffffffffffffffffff1691905083565b60055473ffffffffffffffffffffffffffffffffffffffff163314610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552524f523a2053656e646572206e6f7420676f7665726e00000000000000006044820152606401610491565b8351610e0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4552524f523a204e6f2065766964656e636500000000000000000000000000006044820152606401610491565b6003546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a082319060240160206040518083038186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae9190611ff8565b90508115610f445760085460035473ffffffffffffffffffffffffffffffffffffffff90811691161415610ef757600954600090610eed9083906116f8565b9450610efb915050565b8092505b600a5460035473ffffffffffffffffffffffffffffffffffffffff90811691161415610f4457600d54600b54600091610f3f91610f389190612198565b85906116f8565b945050505b60085460035473ffffffffffffffffffffffffffffffffffffffff90811691161415611010576000610f7682856116f8565b91505060086001015481101561100e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4552524f523a2053686f756c64206e6f742065786365656420616c6c6f77656460448201527f20626f756e7479000000000000000000000000000000000000000000000000006064820152608401610491565b505b821561103a5760035461103a9073ffffffffffffffffffffffffffffffffffffffff16858561171e565b6040805160608101825286815273ffffffffffffffffffffffffffffffffffffffff86166020808301919091529181018590526007805460018101825560009190915281518051929360039092027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68801926110b89284920190611d64565b5060208201516001820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055604091820151600290910155517fa1c3b325aa2c115e4b244062eba2515bc5585ae5b41556be8fef399ae9fde11b906111429087908790879061210e565b60405180910390a15050505050565b6002805461115e90612218565b80601f016020809104026020016040519081016040528092919081815260200182805461118a90612218565b80156111d75780601f106111ac576101008083540402835291602001916111d7565b820191906000526020600020905b8154815290600101906020018083116111ba57829003601f168201915b505050505081565b6006547801000000000000000000000000000000000000000000000000900460ff161561128e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4552524f523a2043616e27742073656c6620726567697374657220616e64207060448201527f6c617920612077686974656c69737465642051756573740000000000000000006064820152608401610491565b3373ffffffffffffffffffffffffffffffffffffffff821614806112c9575060005473ffffffffffffffffffffffffffffffffffffffff1633145b611354576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552524f523a2053656e646572206e6f7420706c61796572206e6f722063726560448201527f61746f72000000000000000000000000000000000000000000000000000000006064820152608401610491565b60065474010000000000000000000000000000000000000000900463ffffffff1615806113a35750600654600d547401000000000000000000000000000000000000000090910463ffffffff16115b611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4552524f523a204d617820706c617965727320726561636865640000000000006044820152606401610491565b6004544210611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4552524f523a20517565737420657870697265640000000000000000000000006044820152606401610491565b600061147f826115f7565b9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552524f523a20506c6179657220616c726561647920657869737473000000006044820152606401610491565b60408051808201909152600a5473ffffffffffffffffffffffffffffffffffffffff168152600b5460208201526115429033306117f7565b600d80546001810182556000919091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155604080519182524260208301527f35ec60f951b4abc8b287ab5148caf98524052482927d42e86a720cc71b8a76a191016107fb565b6001805461115e90612218565b6000805b600d54811015611697578273ffffffffffffffffffffffffffffffffffffffff16600d8281548110611656577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415611685579050610bd6565b8061168f8161226c565b9150506115fb565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b6020820151156116f457602082015182516116f49173ffffffffffffffffffffffffffffffffffffffff90911690839061171e565b5050565b6000808383111561170e57506000905080611717565b50600190508183035b9250929050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526117f29084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261180b565b505050565b611801838361191a565b6117f283826116bf565b600061186d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a6a9092919063ffffffff16565b905080516000148061188e57508080602001905181019061188e9190611eeb565b6117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610491565b6020820151156116f45781516040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152600092169063dd62ed3e9060440160206040518083038186803b15801561199557600080fd5b505afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd9190611ff8565b90508260200151811015611a3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4552524f52203a204465706f7369742062616420616c6c6f77616e63650000006044820152606401610491565b602083015183516117f29173ffffffffffffffffffffffffffffffffffffffff9091169084903090611a81565b6060611a798484600085611ae5565b949350505050565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611adf9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611770565b50505050565b606082471015611b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610491565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611ba091906120aa565b60006040518083038185875af1925050503d8060008114611bdd576040519150601f19603f3d011682016040523d82523d6000602084013e611be2565b606091505b5091509150611bf387838387611bfe565b979650505050505050565b60608315611c91578251611c8a5773ffffffffffffffffffffffffffffffffffffffff85163b611c8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610491565b5081611a79565b611a798383815115611ca65781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049191906120fb565b828054828255906000526020600020908101928215611d54579160200282015b82811115611d5457825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611cfa565b50611d60929150611dd8565b5090565b828054611d7090612218565b90600052602060002090601f016020900481019282611d925760008555611d54565b82601f10611dab57805160ff1916838001178555611d54565b82800160010185558215611d54579182015b82811115611d54578251825591602001919060010190611dbd565b5b80821115611d605760008155600101611dd9565b803573ffffffffffffffffffffffffffffffffffffffff81168114610bd657600080fd5b8035610bd681612303565b600060208284031215611e2d578081fd5b611e3682611ded565b9392505050565b60006020808385031215611e4f578182fd5b823567ffffffffffffffff80821115611e66578384fd5b818501915085601f830112611e79578384fd5b813581811115611e8b57611e8b6122d4565b8381029150611e9b848301612149565b8181528481019084860184860187018a1015611eb5578788fd5b8795505b83861015611ede57611eca81611ded565b835260019590950194918601918601611eb9565b5098975050505050505050565b600060208284031215611efc578081fd5b8151611e3681612303565b60008060008060808587031215611f1c578283fd5b843567ffffffffffffffff80821115611f33578485fd5b818701915087601f830112611f46578485fd5b8135602082821115611f5a57611f5a6122d4565b611f8a817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601612149565b92508183528981838601011115611f9f578687fd5b818185018285013786818385010152829750611fbc818a01611ded565b96505050505060408501359150611fd560608601611e11565b905092959194509250565b600060208284031215611ff1578081fd5b5035919050565b600060208284031215612009578081fd5b5051919050565b6000815180845260208085019450808401835b8381101561205557815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612023565b509495945050505050565b600081518084526120788160208601602086016121ec565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082516120bc8184602087016121ec565b9190910192915050565b600060208252611e366020830184612010565b6000604082526120ec6040830185612010565b90508260208301529392505050565b600060208252611e366020830184612060565b6000606082526121216060830186612060565b73ffffffffffffffffffffffffffffffffffffffff9490941660208301525060400152919050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612190576121906122d4565b604052919050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121d0576121d06122a5565b500290565b6000828210156121e7576121e76122a5565b500390565b60005b838110156122075781810151838201526020016121ef565b83811115611adf5750506000910152565b60028104600182168061222c57607f821691505b60208210811415612266577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561229e5761229e6122a5565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80151581146109f857600080fdfea26469706673582212207a89747e6d25956d64f95972c1f129d7a1914bad877e8c0f7fc4d79f78aecaf664736f6c63430008020033"; + "0x60806040523480156200001157600080fd5b5060405162004e7938038062004e7983398181016040528101906200003791906200089f565b6200005367b26df9290b66dfc360c01b620004d960201b60201c565b6200006f67197ba710974c32e560c01b620004d960201b60201c565b6200008b67b744e394bd41e2ab60c01b620004d960201b60201c565b620000a767a6a29ec8b26b567360c01b620004d960201b60201c565b8060c001518015620000c357506000816020015163ffffffff16115b1562000106576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000fd906200097b565b60405180910390fd5b62000122679f8e462f82fd6bf060c01b620004d960201b60201c565b6200013e67f6ecb2b671bd1efe60c01b620004d960201b60201c565b846001908051906020019062000156929190620004dc565b5062000173679588db56ab918bba60c01b620004d960201b60201c565b83600290805190602001906200018b9291906200056d565b50620001a8670620ecc1e9d32a9060c01b620004d960201b60201c565b8060400151600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200020967cdda0a4feb60c6f360c01b620004d960201b60201c565b806060015160048190555062000230671da179ab82c8ba2660c01b620004d960201b60201c565b8060800151600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000291675637603bbcfb814560c01b620004d960201b60201c565b8060a00151600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002f267e6e4479a6d99dc4960c01b620004d960201b60201c565b80600001516000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003526784e2da4d8de9460560c01b620004d960201b60201c565b82600860008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050620003c567e313d5dbed0597b460c01b620004d960201b60201c565b81600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050620004386706f1b5769231762160c01b620004d960201b60201c565b6000600c60006101000a81548160ff0219169083151502179055506200046f676e695fbaaa697bd760c01b620004d960201b60201c565b8060200151600660146101000a81548163ffffffff021916908363ffffffff160217905550620004b06790f51837984cf8b960c01b620004d960201b60201c565b8060c00151600660186101000a81548160ff021916908315150217905550505050505062000ce7565b50565b828054620004ea9062000afb565b90600052602060002090601f0160209004810192826200050e57600085556200055a565b82601f106200052957805160ff19168380011785556200055a565b828001600101855582156200055a579182015b82811115620005595782518255916020019190600101906200053c565b5b509050620005699190620005fe565b5090565b8280546200057b9062000afb565b90600052602060002090601f0160209004810192826200059f5760008555620005eb565b82601f10620005ba57805160ff1916838001178555620005eb565b82800160010185558215620005eb579182015b82811115620005ea578251825591602001919060010190620005cd565b5b509050620005fa9190620005fe565b5090565b5b8082111562000619576000816000905550600101620005ff565b5090565b6000620006346200062e84620009c6565b6200099d565b9050828152602081018484840111156200064d57600080fd5b6200065a84828562000ac5565b509392505050565b6000620006796200067384620009fc565b6200099d565b9050828152602081018484840111156200069257600080fd5b6200069f84828562000ac5565b509392505050565b600081519050620006b88162000c4b565b92915050565b600081519050620006cf8162000c65565b92915050565b600081519050620006e68162000c7f565b92915050565b600082601f830112620006fe57600080fd5b8151620007108482602086016200061d565b91505092915050565b6000815190506200072a8162000c99565b92915050565b600082601f8301126200074257600080fd5b81516200075484826020860162000662565b91505092915050565b6000604082840312156200077057600080fd5b6200077c60406200099d565b905060006200078e8482850162000719565b6000830152506020620007a48482850162000871565b60208301525092915050565b600060e08284031215620007c357600080fd5b620007cf60e06200099d565b90506000620007e184828501620006a7565b6000830152506020620007f78482850162000888565b60208301525060406200080d8482850162000719565b6040830152506060620008238482850162000871565b60608301525060806200083984828501620006a7565b60808301525060a06200084f84828501620006be565b60a08301525060c06200086584828501620006d5565b60c08301525092915050565b600081519050620008828162000cb3565b92915050565b600081519050620008998162000ccd565b92915050565b60008060008060006101a08688031215620008b957600080fd5b600086015167ffffffffffffffff811115620008d457600080fd5b620008e28882890162000730565b955050602086015167ffffffffffffffff8111156200090057600080fd5b6200090e88828901620006ec565b945050604062000921888289016200075d565b935050608062000934888289016200075d565b92505060c06200094788828901620007b0565b9150509295509295909350565b60006200096360528362000a32565b9150620009708262000bd6565b606082019050919050565b60006020820190508181036000830152620009968162000954565b9050919050565b6000620009a9620009bc565b9050620009b7828262000b31565b919050565b6000604051905090565b600067ffffffffffffffff821115620009e457620009e362000b96565b5b620009ef8262000bc5565b9050602081019050919050565b600067ffffffffffffffff82111562000a1a5762000a1962000b96565b5b62000a258262000bc5565b9050602081019050919050565b600082825260208201905092915050565b600062000a508262000a8b565b9050919050565b600062000a648262000a8b565b9050919050565b60008115159050919050565b600062000a848262000a43565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60005b8381101562000ae557808201518184015260208101905062000ac8565b8381111562000af5576000848401525b50505050565b6000600282049050600182168062000b1457607f821691505b6020821081141562000b2b5762000b2a62000b67565b5b50919050565b62000b3c8262000bc5565b810181811067ffffffffffffffff8211171562000b5e5762000b5d62000b96565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552524f523a2043616e27742063726561746520612077686974654c6973746560008201527f642071756573742077697468206d617820706c6179657273206772656174657260208201527f207468616e20302028696e66696e697479290000000000000000000000000000604082015250565b62000c568162000a43565b811462000c6257600080fd5b50565b62000c708162000a57565b811462000c7c57600080fd5b50565b62000c8a8162000a6b565b811462000c9657600080fd5b50565b62000ca48162000a77565b811462000cb057600080fd5b50565b62000cbe8162000aab565b811462000cca57600080fd5b50565b62000cd88162000ab5565b811462000ce457600080fd5b50565b6141828062000cf76000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638b5b9ccc116100cd578063d03ffefb11610081578063e492814f11610066578063e492814f1461037d578063f294cf3814610399578063f7c618c1146103b75761016c565b8063d03ffefb14610340578063e0c234231461035f5761016c565b8063a888c2cd116100b2578063a888c2cd146102d4578063b0a87ac114610306578063b434151c146103245761016c565b80638b5b9ccc146102975780638c53c9bd146102b55761016c565b8063579ca2c911610124578063775b9c1311610109578063775b9c131461022d5780637ceae3101461024957806385c99e2b146102675761016c565b8063579ca2c9146102055780636c3a4cce1461020f5761016c565b8063310a1ee311610155578063310a1ee3146101ab57806348d6cb53146101c95780634c2412a2146101e75761016c565b8063151dfb06146101715780632f17b1821461018d575b600080fd5b61018b60048036038101906101869190612fe4565b6103d5565b005b610195610970565b6040516101a29190613641565b60405180910390f35b6101b3610983565b6040516101c09190613942565b60405180910390f35b6101d1610989565b6040516101de9190613641565b60405180910390f35b6101ef61099c565b6040516101fc919061395d565b60405180910390f35b61020d6109b2565b005b610217610e3f565b6040516102249190613530565b60405180910390f35b6102476004803603810190610242919061300d565b610e63565b005b6102516110da565b60405161025e919061354b565b60405180910390f35b610281600480360381019061027c9190612fe4565b611100565b60405161028e9190613641565b60405180910390f35b61029f611171565b6040516102ac91906135ef565b60405180910390f35b6102bd61123b565b6040516102cb9291906136d7565b60405180910390f35b6102ee60048036038101906102e991906130f2565b61126d565b6040516102fd9392919061367e565b60405180910390f35b61030e61134f565b60405161031b9190613530565b60405180910390f35b61033e60048036038101906103399190613077565b611375565b005b610348611c90565b6040516103569291906136d7565b60405180910390f35b610367611cc2565b604051610374919061365c565b60405180910390f35b61039760048036038101906103929190612fe4565b611d50565b005b6103a1612374565b6040516103ae9190613700565b60405180910390f35b6103bf612402565b6040516103cc91906136bc565b60405180910390f35b6103e96732efddbbd1f87bb560c01b612428565b6103fd67d9c931de784e200c60c01b612428565b610411674d6d5bd7811ccda160c01b612428565b6104256749e5a4c773555eab60c01b612428565b60001515600660189054906101000a900460ff1615151461047b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610472906137a2565b60405180910390fd5b61048f67ebbfef2a04fe78a360c01b612428565b6104a367be90eb0ac3298e7c60c01b612428565b6104b76771f725ce80907b3560c01b612428565b6104cb677cb135e2d9386f0560c01b612428565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561051657506105156748f2625fb17a642860c01b61242b565b5b80610588575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610587575061058667fc77a832c860288360c01b61242b565b5b5b6105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be90613922565b60405180910390fd5b6105db679a5d0901e925863860c01b612428565b6105ef6720c5db7312fea82c60c01b612428565b61060367a8c6c695dc9ddad460c01b612428565b600061060e82612436565b905061062467e4e40d0375be283760c01b612428565b61063867429f355e31530f7f60c01b612428565b61064c67be76644ceca6017c60c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114156106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a690613782565b60405180910390fd5b6106c367c60fd9636a7ef87360c01b612428565b6106d76744a6a408a2be299860c01b612428565b600d6001600d805490506106eb9190613ad0565b81548110610722577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d8281548110610787577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107e367c9bfe374997edbae60c01b612428565b6107f7676f7fc1215b156a5160c01b612428565b600d80548061082f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561087867b44331a05f3b0b4e60c01b612428565b61088c67d00e531781d8ad3f60c01b612428565b61090b82600a6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505061260290919063ffffffff16565b61091f67552817a91899ecf060c01b612428565b6109336794770ed3857a2c3f60c01b612428565b7fc4a67a0877d477de99d765a3d9f48abfbe6181dff4727d68c3cb60715555417582426040516109649291906135c6565b60405180910390a15050565b600660189054906101000a900460ff1681565b60045481565b600c60009054906101000a900460ff1681565b600660149054906101000a900463ffffffff1681565b6109c66726b2d608d44c887a60c01b612428565b6109da677938f75bc1c0029160c01b612428565b6109ee6738f79bf577616b7a60c01b612428565b610a0267833d3d7320f0701d60c01b612428565b600454421015610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e906137e2565b60405180910390fd5b610a5b672547b108dfb5682a60c01b612428565b610a6f6703659150f0865c7560c01b612428565b610a836796b5699448e959e060c01b612428565b600c60009054906101000a900460ff16610ba657610aab67d6536ad812e0c4e760c01b612428565b610abf67b3965c9a4fb2fae160c01b612428565b610ad36787d26b6b15e008cb60c01b612428565b610b7260008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660086040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505061260290919063ffffffff16565b610b866702e06a24254cdc6860c01b612428565b6001600c60006101000a81548160ff021916908315150217905550610bbb565b610bba67bdd8913a081625f860c01b612428565b5b610bcf67ca820ce9be9d1c1a60c01b612428565b610be36720412470be5617f160c01b612428565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c409190613530565b60206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c90919061311b565b9050610ca667af9ff70a195c906660c01b612428565b610cba67a33f16a47597eeb460c01b612428565b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d9057610d4967f1ad32bfd8362e3f60c01b612428565b610d5d679f744bcdd4ca559f60c01b612428565b610d85600d80549050600a60010154610d769190613a76565b826126d890919063ffffffff16565b905080915050610da5565b610da4674328584f75b2115560c01b612428565b5b610db967a3c63b90fd69ac7260c01b612428565b610dcd67db414657d0100b1e60c01b612428565b610e3c600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166127009092919063ffffffff16565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e7767911e80d70ad0da4d60c01b612428565b610e8b67e8912bdb315dfb6160c01b612428565b610e9f67a7b5220eef006e0760c01b612428565b610eb3677c239f3b69a5f8ff60c01b612428565b610ec76769ee8ffa5327919f60c01b612428565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90613822565b60405180910390fd5b610f6967929a3003443ca31f60c01b612428565b610f7d672e514711a332c80b60c01b612428565b610f9167df4089bf9b1361da60c01b612428565b610fa56732d5bee520552a8560c01b612428565b610fb967a0f9e2c19ced742460c01b612428565b610fcd675ec4fd4020272a7f60c01b612428565b610fe16796589a48cfdfc9ee60c01b612428565b60011515600660189054906101000a900460ff16151514611037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102e90613722565b60405180910390fd5b61104b672a4f6cf2038ebf9b60c01b612428565b61105f6796cc6a408a9940d360c01b612428565b80600d9080519060200190611075929190612d50565b5061108a67d4e1a3635fdbc85660c01b612428565b61109e67b5a2c344d7c31f9460c01b612428565b7fb1565d66d9899787abe67ac307850cf339a24f69de2bf7ffa4179e0eaeb939b081426040516110cf929190613611565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061111667e9bef6653e501c7060c01b612428565b61112a67c289ccc3dab4f40260c01b612428565b61113e67d57895a4422d2f5a60c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61116883612436565b14159050919050565b6060611187673ea543d729fcaabe60c01b612428565b61119b67edcb6c1726fc943b60c01b612428565b6111af6786417e35d96aec8260c01b612428565b600d80548060200260200160405190810160405280929190818152602001828054801561123157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116111e7575b5050505050905090565b600a8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6007818154811061127d57600080fd5b90600052602060002090600302016000915090508060000180546112a090613bd4565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc90613bd4565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611389676ef330ba4f59d47360c01b612428565b61139d670a012faffaff72dc60c01b612428565b6113b167728066e634af75dd60c01b612428565b6113c5673ab2f862350730f060c01b612428565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90613862565b60405180910390fd5b6114696715b00d4aa53d509e60c01b612428565b61147d6722b46e930f32ab4560c01b612428565b61149167a6b10536649fd96660c01b612428565b6114a5673cb13ebb8b3de3e760c01b612428565b6000845114156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906138c2565b60405180910390fd5b6114fe67fdd6371a77b5adf460c01b612428565b611512676dbceaa93a8c873960c01b612428565b61152667f76090ffd46db8f360c01b612428565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115839190613530565b60206040518083038186803b15801561159b57600080fd5b505afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d3919061311b565b90506115e967d4152bf5e1329c9a60c01b612428565b6115fd67e8eba4cc47bbb55560c01b612428565b811561189f576116176750586c2ec75d39fb60c01b612428565b61162b67fa8c9a0ca7ca8ac260c01b612428565b61163f67888ff90e9c79c86160c01b612428565b600860000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611730576116ce675aa7a3f3feaeadd360c01b612428565b6116e2679cf430f60bab3f1a60c01b612428565b6116f66799a6589436abea8960c01b612428565b6000611710600860010154836126d890919063ffffffff16565b9150506117276754b4ab17973d322260c01b612428565b8093505061175c565b61174467bb372447a92d737e60c01b612428565b6117586722453c249b596ba360c01b612428565b8092505b61177067284ccd79b24eaf7b60c01b612428565b611784674ef0a128517675ba60c01b612428565b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611885576118136713ce5940a025e8d160c01b612428565b61182767ea4fac06254b8a1e60c01b612428565b61183b67206332479c6c1e7360c01b612428565b6000611865600d80549050600a600101546118569190613a76565b856126d890919063ffffffff16565b91505061187c674b1e9e5c8f6cd15f60c01b612428565b8093505061189a565b61189967ad1de8c827a7837f60c01b612428565b5b6118b4565b6118b367ac248d58f87fe5f060c01b612428565b5b6118c8676a6e169c03b2873360c01b612428565b6118dc672be9a176d42bc00d60c01b612428565b600860000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a495761196b67ad4b254d8b8f9cdc60c01b612428565b61197f67511e91302448563660c01b612428565b6119936785ecf86c8d7035d060c01b612428565b60006119a884836126d890919063ffffffff16565b9150506119bf678814d876ff183ed960c01b612428565b6119d36723c7f0e23d91087060c01b612428565b6119e76749ee317a00bfd3ae60c01b612428565b600860010154811015611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2690613762565b60405180910390fd5b611a43671e5f42ffbf0057dc60c01b612428565b50611a5e565b611a5d67e0101bb9a08ce9c660c01b612428565b5b611a7267ced2c7ab168a85de60c01b612428565b611a866716e2349da65aed1960c01b612428565b6000831115611b1d57611aa367e873bf55a422f10060c01b612428565b611ab767c67bb315447bbce060c01b612428565b611acb674192327b8bcf1e8160c01b612428565b611b188484600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166127009092919063ffffffff16565b611b32565b611b316778e9ae643c139ad760c01b612428565b5b611b46679b585cfe66dff3ac60c01b612428565b611b5a675868bcc870def64860c01b612428565b600760405180606001604052808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018581525090806001815401808255809150506001900390600052602060002090600302016000909190919091506000820151816000019080519060200190611bd2929190612dda565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201555050611c3a678fe05a4f2812a43160c01b612428565b611c4e67242fd74ceb27e63f60c01b612428565b7fa1c3b325aa2c115e4b244062eba2515bc5585ae5b41556be8fef399ae9fde11b858585604051611c819392919061367e565b60405180910390a15050505050565b60088060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60028054611ccf90613bd4565b80601f0160208091040260200160405190810160405280929190818152602001828054611cfb90613bd4565b8015611d485780601f10611d1d57610100808354040283529160200191611d48565b820191906000526020600020905b815481529060010190602001808311611d2b57829003601f168201915b505050505081565b611d646703c884caede3dd8960c01b612428565b611d786762ed42ce61d240be60c01b612428565b611d8c677140c0c8d19bd94c60c01b612428565b611da067a6a66235cefcbd0e60c01b612428565b60001515600660189054906101000a900460ff16151514611df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ded90613802565b60405180910390fd5b611e0a67f94c071a0fcac21e60c01b612428565b611e1e676e447be0494f14fe60c01b612428565b611e3267d517f4d84787ab1a60c01b612428565b611e4667563be2a60d97c32760c01b612428565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611e915750611e9067318577897d4e252d60c01b61242b565b5b80611f03575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611f025750611f0167e8dee74784c1f5b760c01b61242b565b5b5b611f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3990613922565b60405180910390fd5b611f5667e6b9964cb272c92260c01b612428565b611f6a679d2c316ff5f3a9b960c01b612428565b611f7e67c83e06932aa2ccdb60c01b612428565b611f92674d3d961f8aec578460c01b612428565b6000600660149054906101000a900463ffffffff1663ffffffff16148015611fca5750611fc96763da1ef308d7bbef60c01b61242b565b5b8061200d5750600660149054906101000a900463ffffffff1663ffffffff16600d8054905010801561200c575061200b670800b5a00353d8f060c01b61242b565b5b5b61204c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204390613842565b60405180910390fd5b61206067409fb108bd7ff3fe60c01b612428565b61207467b0c51f8fdf205e8460c01b612428565b612088671f9160fda101764f60c01b612428565b61209c67e4382a9823c40ac260c01b612428565b60045442106120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d790613742565b60405180910390fd5b6120f46737c4eef1aede193760c01b612428565b612108674147474b6baccda660c01b612428565b61211c6735581ede4eba5c1460c01b612428565b600061212782612436565b905061213d67e6fd9d84698aeb7360c01b612428565b61215167ffdbb62b7795341c60c01b612428565b612165678411e44fd8b88ca360c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121be906138e2565b60405180910390fd5b6121db671accdf3ebde9791760c01b612428565b6121ef678c3a03c67001fdd360c01b612428565b612203673d28b8b5edd6235e60c01b612428565b6122843330600a6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250506127869092919063ffffffff16565b61229867c374ff4a280dbf3560c01b612428565b6122ac67efff330a40df0bf260c01b612428565b600d829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061232367d0203a72a760845760c01b612428565b61233767da9eb66dc3d82b0b60c01b612428565b7f35ec60f951b4abc8b287ab5148caf98524052482927d42e86a720cc71b8a76a182426040516123689291906135c6565b60405180910390a15050565b6001805461238190613bd4565b80601f01602080910402602001604051908101604052809291908181526020018280546123ad90613bd4565b80156123fa5780601f106123cf576101008083540402835291602001916123fa565b820191906000526020600020905b8154815290600101906020018083116123dd57829003601f168201915b505050505081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b600060019050919050565b600061244c675f2983638d9fc6d560c01b612428565b6124606755f8452fb4531fe960c01b612428565b61247467b84d1092f452041960c01b612428565b60005b600d805490508110156125b05761249867ca719689d18bf05660c01b612428565b6124ac67659f8e998dc9c1de60c01b612428565b8273ffffffffffffffffffffffffffffffffffffffff16600d82815481106124fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156125895761255867a05ea05bd5822e1660c01b612428565b61256c6751108c97d793da7060c01b612428565b612580671bb7c9a3a27e26fe60c01b612428565b809150506125fd565b61259d672bd813f0c0b2426960c01b612428565b80806125a890613c37565b915050612477565b506125c5675a3af027ee4d61e960c01b612428565b6125d96764bcd8e112a86bf060c01b612428565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505b919050565b612616670c0ebada067a59b560c01b612803565b61262a6751979652a99cd56a60c01b612803565b61263e67e795a2e8985d362860c01b612803565b6000826020015111156126bf5761265f6732f390c8aa67422660c01b612803565b61267367434f21563c81b9cb60c01b612803565b61268767bcd3ed1b2dea21fb60c01b612803565b6126ba818360200151846000015173ffffffffffffffffffffffffffffffffffffffff166127009092919063ffffffff16565b6126d4565b6126d3670a1e82b479f54f4760c01b612803565b5b5050565b600080838311156126ef57600080915091506126f9565b6001838503915091505b9250929050565b6127818363a9059cbb60e01b848460405160240161271f9291906135c6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612806565b505050565b61279a67eba890abd5c6a75960c01b612803565b6127ae67b04facfefe209ca960c01b612803565b6127c2679fd82d3b198ff42e60c01b612803565b6127cc83836128ce565b6127e06728c2e03e97b66c5d60c01b612803565b6127f467a102dcd4441caad760c01b612803565b6127fe8382612602565b505050565b50565b6000612868826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612af99092919063ffffffff16565b905060008151148061288a575080806020019051810190612889919061304e565b5b6128c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c090613902565b60405180910390fd5b505050565b6128e2672e54ea59257511eb60c01b612803565b6128f6674e8e40e3fe690b9960c01b612803565b61290a67374794e13b4eef9560c01b612803565b600082602001511115612ae05761292b67fd0e615dde5b41a460c01b612803565b61293f67db66974502781d8f60c01b612803565b61295367080d93e154980c1b60c01b612803565b6000826000015173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b8152600401612994929190613566565b60206040518083038186803b1580156129ac57600080fd5b505afa1580156129c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e4919061311b565b90506129fa677dda1ed0663e65f460c01b612803565b612a0e674a61ff67c4f4e6eb60c01b612803565b612a22675a19dc5b13ed4fff60c01b612803565b8260200151811015612a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6090613882565b60405180910390fd5b612a7d6790b84030d937b50e60c01b612803565b612a91674fc2048aa3c7cf7060c01b612803565b612aa56752cc92bf23aa099a60c01b612803565b612ada82308560200151866000015173ffffffffffffffffffffffffffffffffffffffff16612b11909392919063ffffffff16565b50612af5565b612af467eab61c20b614698760c01b612803565b5b5050565b6060612b088484600085612b9a565b90509392505050565b612b94846323b872dd60e01b858585604051602401612b329392919061358f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612806565b50505050565b606082471015612bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd6906137c2565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612c089190613519565b60006040518083038185875af1925050503d8060008114612c45576040519150601f19603f3d011682016040523d82523d6000602084013e612c4a565b606091505b5091509150612c5b87838387612c67565b92505050949350505050565b60608315612cca57600083511415612cc257612c8285612cdd565b612cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb8906138a2565b60405180910390fd5b5b829050612cd5565b612cd48383612d00565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115612d135781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d479190613700565b60405180910390fd5b828054828255906000526020600020908101928215612dc9579160200282015b82811115612dc85782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612d70565b5b509050612dd69190612e60565b5090565b828054612de690613bd4565b90600052602060002090601f016020900481019282612e085760008555612e4f565b82601f10612e2157805160ff1916838001178555612e4f565b82800160010185558215612e4f579182015b82811115612e4e578251825591602001919060010190612e33565b5b509050612e5c9190612e60565b5090565b5b80821115612e79576000816000905550600101612e61565b5090565b6000612e90612e8b8461399d565b613978565b90508083825260208201905082856020860282011115612eaf57600080fd5b60005b85811015612edf5781612ec58882612f27565b845260208401935060208301925050600181019050612eb2565b5050509392505050565b6000612efc612ef7846139c9565b613978565b905082815260208101848484011115612f1457600080fd5b612f1f848285613b92565b509392505050565b600081359050612f3681614107565b92915050565b600082601f830112612f4d57600080fd5b8135612f5d848260208601612e7d565b91505092915050565b600081359050612f758161411e565b92915050565b600081519050612f8a8161411e565b92915050565b600082601f830112612fa157600080fd5b8135612fb1848260208601612ee9565b91505092915050565b600081359050612fc981614135565b92915050565b600081519050612fde81614135565b92915050565b600060208284031215612ff657600080fd5b600061300484828501612f27565b91505092915050565b60006020828403121561301f57600080fd5b600082013567ffffffffffffffff81111561303957600080fd5b61304584828501612f3c565b91505092915050565b60006020828403121561306057600080fd5b600061306e84828501612f7b565b91505092915050565b6000806000806080858703121561308d57600080fd5b600085013567ffffffffffffffff8111156130a757600080fd5b6130b387828801612f90565b94505060206130c487828801612f27565b93505060406130d587828801612fba565b92505060606130e687828801612f66565b91505092959194509250565b60006020828403121561310457600080fd5b600061311284828501612fba565b91505092915050565b60006020828403121561312d57600080fd5b600061313b84828501612fcf565b91505092915050565b6000613150838361316b565b60208301905092915050565b61316581613b16565b82525050565b61317481613b04565b82525050565b61318381613b04565b82525050565b600061319482613a0a565b61319e8185613a38565b93506131a9836139fa565b8060005b838110156131da5781516131c18882613144565b97506131cc83613a2b565b9250506001810190506131ad565b5085935050505092915050565b6131f081613b28565b82525050565b600061320182613a15565b61320b8185613a49565b935061321b818560208601613ba1565b61322481613d0d565b840191505092915050565b600061323a82613a15565b6132448185613a5a565b9350613254818560208601613ba1565b80840191505092915050565b61326981613b6e565b82525050565b600061327a82613a20565b6132848185613a65565b9350613294818560208601613ba1565b61329d81613d0d565b840191505092915050565b60006132b5603d83613a65565b91506132c082613d1e565b604082019050919050565b60006132d8601483613a65565b91506132e382613d6d565b602082019050919050565b60006132fb602783613a65565b915061330682613d96565b604082019050919050565b600061331e601983613a65565b915061332982613de5565b602082019050919050565b6000613341602783613a65565b915061334c82613e0e565b604082019050919050565b6000613364602683613a65565b915061336f82613e5d565b604082019050919050565b6000613387601283613a65565b915061339282613eac565b602082019050919050565b60006133aa603783613a65565b91506133b582613ed5565b604082019050919050565b60006133cd602383613a65565b91506133d882613f24565b604082019050919050565b60006133f0601a83613a65565b91506133fb82613f73565b602082019050919050565b6000613413601883613a65565b915061341e82613f9c565b602082019050919050565b6000613436601d83613a65565b915061344182613fc5565b602082019050919050565b6000613459601d83613a65565b915061346482613fee565b602082019050919050565b600061347c601283613a65565b915061348782614017565b602082019050919050565b600061349f601c83613a65565b91506134aa82614040565b602082019050919050565b60006134c2602a83613a65565b91506134cd82614069565b604082019050919050565b60006134e5602483613a65565b91506134f0826140b8565b604082019050919050565b61350481613b54565b82525050565b61351381613b5e565b82525050565b6000613525828461322f565b915081905092915050565b6000602082019050613545600083018461317a565b92915050565b6000602082019050613560600083018461315c565b92915050565b600060408201905061357b600083018561317a565b613588602083018461317a565b9392505050565b60006060820190506135a4600083018661317a565b6135b1602083018561317a565b6135be60408301846134fb565b949350505050565b60006040820190506135db600083018561317a565b6135e860208301846134fb565b9392505050565b600060208201905081810360008301526136098184613189565b905092915050565b6000604082019050818103600083015261362b8185613189565b905061363a60208301846134fb565b9392505050565b600060208201905061365660008301846131e7565b92915050565b6000602082019050818103600083015261367681846131f6565b905092915050565b6000606082019050818103600083015261369881866131f6565b90506136a7602083018561317a565b6136b460408301846134fb565b949350505050565b60006020820190506136d16000830184613260565b92915050565b60006040820190506136ec6000830185613260565b6136f960208301846134fb565b9392505050565b6000602082019050818103600083015261371a818461326f565b905092915050565b6000602082019050818103600083015261373b816132a8565b9050919050565b6000602082019050818103600083015261375b816132cb565b9050919050565b6000602082019050818103600083015261377b816132ee565b9050919050565b6000602082019050818103600083015261379b81613311565b9050919050565b600060208201905081810360008301526137bb81613334565b9050919050565b600060208201905081810360008301526137db81613357565b9050919050565b600060208201905081810360008301526137fb8161337a565b9050919050565b6000602082019050818103600083015261381b8161339d565b9050919050565b6000602082019050818103600083015261383b816133c0565b9050919050565b6000602082019050818103600083015261385b816133e3565b9050919050565b6000602082019050818103600083015261387b81613406565b9050919050565b6000602082019050818103600083015261389b81613429565b9050919050565b600060208201905081810360008301526138bb8161344c565b9050919050565b600060208201905081810360008301526138db8161346f565b9050919050565b600060208201905081810360008301526138fb81613492565b9050919050565b6000602082019050818103600083015261391b816134b5565b9050919050565b6000602082019050818103600083015261393b816134d8565b9050919050565b600060208201905061395760008301846134fb565b92915050565b6000602082019050613972600083018461350a565b92915050565b6000613982613993565b905061398e8282613c06565b919050565b6000604051905090565b600067ffffffffffffffff8211156139b8576139b7613cde565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156139e4576139e3613cde565b5b6139ed82613d0d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613a8182613b54565b9150613a8c83613b54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ac557613ac4613c80565b5b828202905092915050565b6000613adb82613b54565b9150613ae683613b54565b925082821015613af957613af8613c80565b5b828203905092915050565b6000613b0f82613b34565b9050919050565b6000613b2182613b34565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b6000613b7982613b80565b9050919050565b6000613b8b82613b34565b9050919050565b82818337600083830152505050565b60005b83811015613bbf578082015181840152602081019050613ba4565b83811115613bce576000848401525b50505050565b60006002820490506001821680613bec57607f821691505b60208210811415613c0057613bff613caf565b5b50919050565b613c0f82613d0d565b810181811067ffffffffffffffff82111715613c2e57613c2d613cde565b5b80604052505050565b6000613c4282613b54565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613c7557613c74613c80565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552524f523a2043616e27742073657420746865207768697465206c6973742060008201527f746f2061206e6f6e2d77686974656c697374656420636f6e7472616374000000602082015250565b7f4552524f523a2051756573742065787069726564000000000000000000000000600082015250565b7f4552524f523a2053686f756c64206e6f742065786365656420616c6c6f77656460008201527f20626f756e747900000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a20706c61796572206e6f7420696e206c69737400000000000000600082015250565b7f4552524f523a2063616e277420756e706c617920612077686974656c6973746560008201527f6420717565737400000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a204e6f7420657870697265640000000000000000000000000000600082015250565b7f4552524f523a2043616e27742073656c6620726567697374657220616e64207060008201527f6c617920612077686974656c6973746564205175657374000000000000000000602082015250565b7f4f6e6c792063726561746f722063616e2063616c6c20746869732066756e637460008201527f696f6e0000000000000000000000000000000000000000000000000000000000602082015250565b7f4552524f523a204d617820706c61796572732072656163686564000000000000600082015250565b7f4552524f523a2053656e646572206e6f7420676f7665726e0000000000000000600082015250565b7f4552524f52203a204465706f7369742062616420616c6c6f77616e6365000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f4552524f523a204e6f2065766964656e63650000000000000000000000000000600082015250565b7f4552524f523a20506c6179657220616c72656164792065786973747300000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f4552524f523a2053656e646572206e6f7420706c61796572206e6f722063726560008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b61411081613b04565b811461411b57600080fd5b50565b61412781613b28565b811461413257600080fd5b50565b61413e81613b54565b811461414957600080fd5b5056fea264697066735822122006e1b05bd228d10d4450b7ed980efb1c16e149eaea52f9c8111d40bcb04cf1a964736f6c63430008020033"; diff --git a/packages/hardhat/typechain/factories/TokenMock__factory.ts b/packages/hardhat/typechain/factories/TokenMock__factory.ts index 9f973024..80b6e889 100644 --- a/packages/hardhat/typechain/factories/TokenMock__factory.ts +++ b/packages/hardhat/typechain/factories/TokenMock__factory.ts @@ -353,4 +353,4 @@ const _abi = [ ]; const _bytecode = - "0x608060405260405162000ec738038062000ec78339810160408190526200002691620001b9565b8151829082906200003f90600390602085019062000060565b5080516200005590600490602084019062000060565b505050505062000273565b8280546200006e9062000220565b90600052602060002090601f016020900481019282620000925760008555620000dd565b82601f10620000ad57805160ff1916838001178555620000dd565b82800160010185558215620000dd579182015b82811115620000dd578251825591602001919060010190620000c0565b50620000eb929150620000ef565b5090565b5b80821115620000eb5760008155600101620000f0565b600082601f83011262000117578081fd5b81516001600160401b03808211156200013457620001346200025d565b604051601f8301601f19908116603f011681019082821181831017156200015f576200015f6200025d565b816040528381526020925086838588010111156200017b578485fd5b8491505b838210156200019e57858201830151818301840152908201906200017f565b83821115620001af57848385830101525b9695505050505050565b60008060408385031215620001cc578182fd5b82516001600160401b0380821115620001e3578384fd5b620001f18683870162000106565b9350602085015191508082111562000207578283fd5b50620002168582860162000106565b9150509250929050565b6002810460018216806200023557607f821691505b602082108114156200025757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610c4480620002836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806340c10f1911610081578063a457c2d71161005b578063a457c2d714610191578063a9059cbb146101a4578063dd62ed3e146101b7576100d4565b806340c10f191461016157806370a082311461017657806395d89b4114610189576100d4565b806323b872dd116100b257806323b872dd1461012c578063313ce5671461013f578063395093511461014e576100d4565b806306fdde03146100d9578063095ea7b3146100f757806318160ddd1461011a575b600080fd5b6100e16101fd565b6040516100ee9190610b0c565b60405180910390f35b61010a610105366004610ae3565b61028f565b60405190151581526020016100ee565b6002545b6040519081526020016100ee565b61010a61013a366004610aa8565b6102a7565b604051601281526020016100ee565b61010a61015c366004610ae3565b6102cb565b61017461016f366004610ae3565b610317565b005b61011e610184366004610a55565b610325565b6100e1610351565b61010a61019f366004610ae3565b610360565b61010a6101b2366004610ae3565b610436565b61011e6101c5366004610a76565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020c90610bba565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610bba565b80156102855780601f1061025a57610100808354040283529160200191610285565b820191906000526020600020905b81548152906001019060200180831161026857829003601f168201915b5050505050905090565b60003361029d818585610444565b5060019392505050565b6000336102b58582856105f7565b6102c08585856106ce565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061029d9082908690610312908790610b7d565b610444565b610321828261093d565b5050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60606004805461020c90610bba565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c08286868403610444565b60003361029d8185856106ce565b73ffffffffffffffffffffffffffffffffffffffff83166104e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610420565b73ffffffffffffffffffffffffffffffffffffffff8216610589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610420565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106c857818110156106bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610420565b6106c88484848403610444565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610420565b73ffffffffffffffffffffffffffffffffffffffff8216610814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610420565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156108ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610420565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36106c8565b73ffffffffffffffffffffffffffffffffffffffff82166109ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610420565b80600260008282546109cc9190610b7d565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610321565b803573ffffffffffffffffffffffffffffffffffffffff8116811461034c57600080fd5b600060208284031215610a66578081fd5b610a6f82610a31565b9392505050565b60008060408385031215610a88578081fd5b610a9183610a31565b9150610a9f60208401610a31565b90509250929050565b600080600060608486031215610abc578081fd5b610ac584610a31565b9250610ad360208501610a31565b9150604084013590509250925092565b60008060408385031215610af5578182fd5b610afe83610a31565b946020939093013593505050565b6000602080835283518082850152825b81811015610b3857858101830151858201604001528201610b1c565b81811115610b495783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60008219821115610bb5577f4e487b710000000000000000000000000000000000000000000000000000000081526011600452602481fd5b500190565b600281046001821680610bce57607f821691505b60208210811415610c08577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212205736dd923321a5d60220ed8346a2be0440f03acac5b3578fe15792cf63d5d11d64736f6c63430008020033"; + "0x6080604052604051620017de380380620017de833981810160405281019062000029919062000189565b818181600390805190602001906200004392919062000067565b5080600490805190602001906200005c92919062000067565b50505050506200036c565b828054620000759062000291565b90600052602060002090601f016020900481019282620000995760008555620000e5565b82601f10620000b457805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e4578251825591602001919060010190620000c7565b5b509050620000f49190620000f8565b5090565b5b8082111562000113576000816000905550600101620000f9565b5090565b60006200012e620001288462000225565b620001fc565b9050828152602081018484840111156200014757600080fd5b620001548482856200025b565b509392505050565b600082601f8301126200016e57600080fd5b81516200018084826020860162000117565b91505092915050565b600080604083850312156200019d57600080fd5b600083015167ffffffffffffffff811115620001b857600080fd5b620001c6858286016200015c565b925050602083015167ffffffffffffffff811115620001e457600080fd5b620001f2858286016200015c565b9150509250929050565b6000620002086200021b565b9050620002168282620002c7565b919050565b6000604051905090565b600067ffffffffffffffff8211156200024357620002426200032c565b5b6200024e826200035b565b9050602081019050919050565b60005b838110156200027b5780820151818401526020810190506200025e565b838111156200028b576000848401525b50505050565b60006002820490506001821680620002aa57607f821691505b60208210811415620002c157620002c0620002fd565b5b50919050565b620002d2826200035b565b810181811067ffffffffffffffff82111715620002f457620002f36200032c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b611462806200037c6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806340c10f1911610081578063a457c2d71161005b578063a457c2d71461022d578063a9059cbb1461025d578063dd62ed3e1461028d576100d4565b806340c10f19146101c357806370a08231146101df57806395d89b411461020f576100d4565b806323b872dd116100b257806323b872dd14610145578063313ce567146101755780633950935114610193576100d4565b806306fdde03146100d9578063095ea7b3146100f757806318160ddd14610127575b600080fd5b6100e16102bd565b6040516100ee9190610edf565b60405180910390f35b610111600480360381019061010c9190610d0a565b61034f565b60405161011e9190610ec4565b60405180910390f35b61012f610372565b60405161013c9190611001565b60405180910390f35b61015f600480360381019061015a9190610cbb565b61037c565b60405161016c9190610ec4565b60405180910390f35b61017d6103ab565b60405161018a919061101c565b60405180910390f35b6101ad60048036038101906101a89190610d0a565b6103b4565b6040516101ba9190610ec4565b60405180910390f35b6101dd60048036038101906101d89190610d0a565b6103eb565b005b6101f960048036038101906101f49190610c56565b6103f9565b6040516102069190611001565b60405180910390f35b610217610441565b6040516102249190610edf565b60405180910390f35b61024760048036038101906102429190610d0a565b6104d3565b6040516102549190610ec4565b60405180910390f35b61027760048036038101906102729190610d0a565b61054a565b6040516102849190610ec4565b60405180910390f35b6102a760048036038101906102a29190610c7f565b61056d565b6040516102b49190611001565b60405180910390f35b6060600380546102cc90611131565b80601f01602080910402602001604051908101604052809291908181526020018280546102f890611131565b80156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b60008061035a6105f4565b90506103678185856105fc565b600191505092915050565b6000600254905090565b6000806103876105f4565b90506103948582856107c7565b61039f858585610853565b60019150509392505050565b60006012905090565b6000806103bf6105f4565b90506103e08185856103d1858961056d565b6103db9190611053565b6105fc565b600191505092915050565b6103f58282610acb565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461045090611131565b80601f016020809104026020016040519081016040528092919081815260200182805461047c90611131565b80156104c95780601f1061049e576101008083540402835291602001916104c9565b820191906000526020600020905b8154815290600101906020018083116104ac57829003601f168201915b5050505050905090565b6000806104de6105f4565b905060006104ec828661056d565b905083811015610531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052890610fc1565b60405180910390fd5b61053e82868684036105fc565b60019250505092915050565b6000806105556105f4565b9050610562818585610853565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066390610fa1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d390610f21565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107ba9190611001565b60405180910390a3505050565b60006107d3848461056d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084d578181101561083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083690610f41565b60405180910390fd5b61084c84848484036105fc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ba90610f81565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092a90610f01565b60405180910390fd5b61093e838383610c22565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90610f61565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ab29190611001565b60405180910390a3610ac5848484610c27565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290610fe1565b60405180910390fd5b610b4760008383610c22565b8060026000828254610b599190611053565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c0a9190611001565b60405180910390a3610c1e60008383610c27565b5050565b505050565b505050565b600081359050610c3b816113fe565b92915050565b600081359050610c5081611415565b92915050565b600060208284031215610c6857600080fd5b6000610c7684828501610c2c565b91505092915050565b60008060408385031215610c9257600080fd5b6000610ca085828601610c2c565b9250506020610cb185828601610c2c565b9150509250929050565b600080600060608486031215610cd057600080fd5b6000610cde86828701610c2c565b9350506020610cef86828701610c2c565b9250506040610d0086828701610c41565b9150509250925092565b60008060408385031215610d1d57600080fd5b6000610d2b85828601610c2c565b9250506020610d3c85828601610c41565b9150509250929050565b610d4f816110bb565b82525050565b6000610d6082611037565b610d6a8185611042565b9350610d7a8185602086016110fe565b610d83816111c1565b840191505092915050565b6000610d9b602383611042565b9150610da6826111d2565b604082019050919050565b6000610dbe602283611042565b9150610dc982611221565b604082019050919050565b6000610de1601d83611042565b9150610dec82611270565b602082019050919050565b6000610e04602683611042565b9150610e0f82611299565b604082019050919050565b6000610e27602583611042565b9150610e32826112e8565b604082019050919050565b6000610e4a602483611042565b9150610e5582611337565b604082019050919050565b6000610e6d602583611042565b9150610e7882611386565b604082019050919050565b6000610e90601f83611042565b9150610e9b826113d5565b602082019050919050565b610eaf816110e7565b82525050565b610ebe816110f1565b82525050565b6000602082019050610ed96000830184610d46565b92915050565b60006020820190508181036000830152610ef98184610d55565b905092915050565b60006020820190508181036000830152610f1a81610d8e565b9050919050565b60006020820190508181036000830152610f3a81610db1565b9050919050565b60006020820190508181036000830152610f5a81610dd4565b9050919050565b60006020820190508181036000830152610f7a81610df7565b9050919050565b60006020820190508181036000830152610f9a81610e1a565b9050919050565b60006020820190508181036000830152610fba81610e3d565b9050919050565b60006020820190508181036000830152610fda81610e60565b9050919050565b60006020820190508181036000830152610ffa81610e83565b9050919050565b60006020820190506110166000830184610ea6565b92915050565b60006020820190506110316000830184610eb5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061105e826110e7565b9150611069836110e7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561109e5761109d611163565b5b828201905092915050565b60006110b4826110c7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561111c578082015181840152602081019050611101565b8381111561112b576000848401525b50505050565b6000600282049050600182168061114957607f821691505b6020821081141561115d5761115c611192565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611407816110a9565b811461141257600080fd5b50565b61141e816110e7565b811461142957600080fd5b5056fea2646970667358221220113a607208ef4e71bc6eff621995a8e4b1a2306fe81b127f6356a6d4f4df45c564736f6c63430008020033"; diff --git a/yarn.lock b/yarn.lock index f54c3162..e3343d91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5853,10 +5853,10 @@ dependencies: antlr4ts "^0.5.0-alpha.4" -"@solidity-parser/parser@^0.14.1": - version "0.14.5" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" - integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== +"@solidity-parser/parser@^0.16.0": + version "0.16.1" + resolved "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.1.tgz#f7c8a686974e1536da0105466c4db6727311253c" + integrity sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw== dependencies: antlr4ts "^0.5.0-alpha.4" @@ -25010,13 +25010,13 @@ solidity-comments-extractor@^0.0.7: resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== -solidity-coverage@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.2.tgz#bc39604ab7ce0a3fa7767b126b44191830c07813" - integrity sha512-cv2bWb7lOXPE9/SSleDO6czkFiMHgP4NXPj+iW9W7iEKLBk7Cj0AGBiNmGX3V1totl9wjPrT0gHmABZKZt65rQ== +solidity-coverage@0.8.4: + version "0.8.4" + resolved "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.4.tgz#c57a21979f5e86859c5198de9fbae2d3bc6324a5" + integrity sha512-xeHOfBOjdMF6hWTbt42iH4x+7j1Atmrf5OldDPMxI+i/COdExUxszOswD9qqvcBTaLGiOrrpnh9UZjSpt4rBsg== dependencies: "@ethersproject/abi" "^5.0.9" - "@solidity-parser/parser" "^0.14.1" + "@solidity-parser/parser" "^0.16.0" chalk "^2.4.2" death "^1.1.0" detect-port "^1.3.0"