[ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "contract SteakHutVoter", "name": "_voterAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "BurnFeeUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "FeeUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "voterProxy", "type": "address" } ], "name": "SetVoterProxy", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "_tokenAddress", "type": "address" } ], "name": "Withdraw", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "isEnabled", "type": "bool" } ], "name": "ZapperEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "hJOEBurn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "hJOEMinted", "type": "event" }, { "inputs": [], "name": "HJOE", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "JOE", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "burnFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burnHJoe", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "depositHJoe", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "fee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isZapperEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_burnFee", "type": "uint256" } ], "name": "setBurnFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_fee", "type": "uint256" } ], "name": "setDepositFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract SteakHutVoter", "name": "_voterAddress", "type": "address" } ], "name": "setVoterProxy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_isEnabled", "type": "bool" } ], "name": "setZapperStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "voter", "outputs": [ { "internalType": "contract SteakHutVoter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_tokenAddress", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526019600755601e6008553480156200001b57600080fd5b5060405162003b7138038062003b7183398181016040528101906200004191906200045f565b6040518060400160405280600881526020017f48657264204a4f450000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f684a4f4500000000000000000000000000000000000000000000000000000000815250620000cd620000c16200017660201b60201c565b6200017e60201b60201c565b8160049080519060200190620000e592919062000381565b508060059080519060200190620000fe92919062000381565b50505062000112826200024260201b60201c565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660146101000a81548160ff02191690831515021790555050506200069c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002526200017660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002786200035860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c89062000510565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000344576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200033b90620004ee565b60405180910390fd5b62000355816200017e60201b60201c565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200038f906200058b565b90600052602060002090601f016020900481019282620003b35760008555620003ff565b82601f10620003ce57805160ff1916838001178555620003ff565b82800160010185558215620003ff579182015b82811115620003fe578251825591602001919060010190620003e1565b5b5090506200040e919062000412565b5090565b5b808211156200042d57600081600090555060010162000413565b5090565b600081519050620004428162000668565b92915050565b600081519050620004598162000682565b92915050565b600080604083850312156200047357600080fd5b6000620004838582860162000431565b9250506020620004968582860162000448565b9150509250929050565b6000620004af60268362000532565b9150620004bc82620005f0565b604082019050919050565b6000620004d660208362000532565b9150620004e3826200063f565b602082019050919050565b600060208201905081810360008301526200050981620004a0565b9050919050565b600060208201905081810360008301526200052b81620004c7565b9050919050565b600082825260208201905092915050565b600062000550826200056b565b9050919050565b6000620005648262000543565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006002820490506001821680620005a457607f821691505b60208210811415620005bb57620005ba620005c1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b620006738162000543565b81146200067f57600080fd5b50565b6200068d8162000557565b81146200069957600080fd5b50565b6134c580620006ac6000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c806370a0823111610104578063a9059cbb116100a2578063f1f7f11911610071578063f1f7f11914610519578063f2fde38b14610537578063fce589d814610553578063ffebad3014610571576101ce565b8063a9059cbb1461047f578063b6b55f25146104af578063dd62ed3e146104cb578063ddca3f43146104fb576101ce565b80638da5cb5b116100de5780638da5cb5b146103f757806395d89b4114610415578063a0712d6814610433578063a457c2d71461044f576101ce565b806370a08231146103a1578063715018a6146103d15780637a2e346d146103db576101ce565b806339509351116101715780634bf2c7c91161014b5780634bf2c7c91461032f5780634c36e9231461034b5780634ff611d0146103675780635d9aaacb14610385576101ce565b806339509351146102c557806346c96aac146102f5578063490ae21014610313576101ce565b8063095ea7b3116101ad578063095ea7b31461022957806318160ddd1461025957806323b872dd14610277578063313ce567146102a7576101ce565b8062f714ce146101d3578063052cdc0c146101ef57806306fdde031461020b575b600080fd5b6101ed60048036038101906101e89190612444565b61058f565b005b610209600480360381019061020491906123c9565b6106dc565b005b6102136107d3565b60405161022091906128be565b60405180910390f35b610243600480360381019061023e919061233b565b610865565b604051610250919061286d565b60405180910390f35b610261610888565b60405161026e9190612b80565b60405180910390f35b610291600480360381019061028c91906122ec565b610892565b60405161029e919061286d565b60405180910390f35b6102af6108c1565b6040516102bc9190612bc4565b60405180910390f35b6102df60048036038101906102da919061233b565b6108ca565b6040516102ec919061286d565b60405180910390f35b6102fd610974565b60405161030a91906128a3565b60405180910390f35b61032d600480360381019061032891906123f2565b61099a565b005b610349600480360381019061034491906123f2565b610a9a565b005b610365600480360381019061036091906123f2565b610b9a565b005b61036f610e33565b60405161037c9190612888565b60405180910390f35b61039f600480360381019061039a9190612377565b610e4b565b005b6103bb60048036038101906103b69190612287565b610f1b565b6040516103c89190612b80565b60405180910390f35b6103d9610f64565b005b6103f560048036038101906103f091906123f2565b610fec565b005b6103ff611178565b60405161040c91906127f2565b60405180910390f35b61041d6111a1565b60405161042a91906128be565b60405180910390f35b61044d600480360381019061044891906123f2565b611233565b005b6104696004803603810190610464919061233b565b61130a565b604051610476919061286d565b60405180910390f35b6104996004803603810190610494919061233b565b6113f4565b6040516104a6919061286d565b60405180910390f35b6104c960048036038101906104c491906123f2565b611417565b005b6104e560048036038101906104e091906122b0565b611764565b6040516104f29190612b80565b60405180910390f35b6105036117eb565b6040516105109190612b80565b60405180910390f35b6105216117f1565b60405161052e919061286d565b60405180910390f35b610551600480360381019061054c9190612287565b611808565b005b61055b611900565b6040516105689190612b80565b60405180910390f35b610579611906565b6040516105869190612888565b60405180910390f35b61059761191e565b73ffffffffffffffffffffffffffffffffffffffff166105b5611178565b73ffffffffffffffffffffffffffffffffffffffff161461060b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060290612a20565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b815260040161064b929190612844565b602060405180830381600087803b15801561066557600080fd5b505af1158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d91906123a0565b507f8353ffcac0876ad14e226d9783c04540bfebf13871e868157d2a391cad98e91883836040516106cf929190612b9b565b60405180910390a1505050565b6106e461191e565b73ffffffffffffffffffffffffffffffffffffffff16610702611178565b73ffffffffffffffffffffffffffffffffffffffff1614610758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074f90612a20565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4d1dcdaad9008b137e95722e4aff22c349fd188f0f0ac3e3d9d6f1b81c707349816040516107c891906127f2565b60405180910390a150565b6060600480546107e290612df2565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90612df2565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b60008061087061191e565b905061087d818585611926565b600191505092915050565b6000600354905090565b60008061089d61191e565b90506108aa858285611af1565b6108b5858585611b7d565b60019150509392505050565b60006012905090565b6000806108d561191e565b9050610969818585600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109649190612bfb565b611926565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109a261191e565b73ffffffffffffffffffffffffffffffffffffffff166109c0611178565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d90612a20565b60405180910390fd5b60648110610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a50906129a0565b60405180910390fd5b806007819055507f88258d7c1f0510045362f22cdeb36a2c501ef80d7a06168881189fb8480cfe2f81604051610a8f9190612b80565b60405180910390a150565b610aa261191e565b73ffffffffffffffffffffffffffffffffffffffff16610ac0611178565b73ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90612a20565b60405180910390fd5b60328110610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612980565b60405180910390fd5b806008819055507f833551cc66d3f901a5070c6e285084dd4daded1ac6b4ff1d6e1879623479976481604051610b8f9190612b80565b60405180910390a150565b600660149054906101000a900460ff16610be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be090612b20565b60405180910390fd5b736e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c3691906127f2565b60206040518083038186803b158015610c4e57600080fd5b505afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c86919061241b565b811115610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90612a60565b60405180910390fd5b610cd23382611e01565b6000606460085483610ce49190612c82565b610cee9190612c51565b905060008183610cfe9190612cdc565b9050736e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610d4f929190612844565b602060405180830381600087803b158015610d6957600080fd5b505af1158015610d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da191906123a0565b610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790612b00565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f8fef910c4c73cd638ad6ac5b4cef8d66e2079e386f82728a1201b9268725719884604051610e269190612b80565b60405180910390a2505050565b7380ed8a2e8ab5fda8d132ee76843ee43a32f866c181565b610e5361191e565b73ffffffffffffffffffffffffffffffffffffffff16610e71611178565b73ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90612a20565b60405180910390fd5b80600660146101000a81548160ff0219169083151502179055507f1bd8dec6bfa47260e7165465c4384ba375f615e1c03eda953b8622a33f4dcbcf81604051610f10919061286d565b60405180910390a150565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f6c61191e565b73ffffffffffffffffffffffffffffffffffffffff16610f8a611178565b73ffffffffffffffffffffffffffffffffffffffff1614610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd790612a20565b60405180910390fd5b610fea6000611fda565b565b600660149054906101000a900460ff1661103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103290612ae0565b60405180910390fd5b7380ed8a2e8ab5fda8d132ee76843ee43a32f866c173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161108c9392919061280d565b602060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de91906123a0565b61111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490612a00565b60405180910390fd5b611127338261209e565b3373ffffffffffffffffffffffffffffffffffffffff167f6ad84126d249722689d4efabf1ac946f0240505cb8b9c0bc0e4b8a152207856e8260405161116d9190612b80565b60405180910390a250565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546111b090612df2565b80601f01602080910402602001604051908101604052809291908181526020018280546111dc90612df2565b80156112295780601f106111fe57610100808354040283529160200191611229565b820191906000526020600020905b81548152906001019060200180831161120c57829003601f168201915b5050505050905090565b61123b61191e565b73ffffffffffffffffffffffffffffffffffffffff16611259611178565b73ffffffffffffffffffffffffffffffffffffffff16146112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690612a20565b60405180910390fd5b6112b9338261209e565b3373ffffffffffffffffffffffffffffffffffffffff167f6ad84126d249722689d4efabf1ac946f0240505cb8b9c0bc0e4b8a152207856e826040516112ff9190612b80565b60405180910390a250565b60008061131561191e565b90506000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290612b40565b60405180910390fd5b6113e88286868403611926565b60019250505092915050565b6000806113ff61191e565b905061140c818585611b7d565b600191505092915050565b600660149054906101000a900460ff16611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90612ae0565b60405180910390fd5b60006064600754836114789190612c82565b6114829190612c51565b9050600081836114929190612cdc565b9050736e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd73ffffffffffffffffffffffffffffffffffffffff166323b872dd33600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b81526004016115079392919061280d565b602060405180830381600087803b15801561152157600080fd5b505af1158015611535573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155991906123a0565b611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f90612960565b60405180910390fd5b736e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b81526004016115e99392919061280d565b602060405180830381600087803b15801561160357600080fd5b505af1158015611617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163b91906123a0565b61167a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167190612a40565b60405180910390fd5b611684338461209e565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327201bac826040518263ffffffff1660e01b81526004016116df9190612b80565b600060405180830381600087803b1580156116f957600080fd5b505af115801561170d573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff167f6ad84126d249722689d4efabf1ac946f0240505cb8b9c0bc0e4b8a152207856e846040516117579190612b80565b60405180910390a2505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b6000600660149054906101000a900460ff16905090565b61181061191e565b73ffffffffffffffffffffffffffffffffffffffff1661182e611178565b73ffffffffffffffffffffffffffffffffffffffff1614611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b90612a20565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb90612920565b60405180910390fd5b6118fd81611fda565b50565b60085481565b736e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd81565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198d90612ac0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fd90612940565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae49190612b80565b60405180910390a3505050565b6000611afd8484611764565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b775781811015611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b60906129c0565b60405180910390fd5b611b768484848403611926565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490612aa0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c54906128e0565b60405180910390fd5b611c688383836121ff565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce6906129e0565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d849190612bfb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de89190612b80565b60405180910390a3611dfb848484612204565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890612a80565b60405180910390fd5b611e7d826000836121ff565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efb90612900565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254611f5c9190612cdc565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fc19190612b80565b60405180910390a3611fd583600084612204565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561210e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210590612b60565b60405180910390fd5b61211a600083836121ff565b806003600082825461212c9190612bfb565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121829190612bfb565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121e79190612b80565b60405180910390a36121fb60008383612204565b5050565b505050565b505050565b60008135905061221881613433565b92915050565b60008135905061222d8161344a565b92915050565b6000815190506122428161344a565b92915050565b60008135905061225781613461565b92915050565b60008135905061226c81613478565b92915050565b60008151905061228181613478565b92915050565b60006020828403121561229957600080fd5b60006122a784828501612209565b91505092915050565b600080604083850312156122c357600080fd5b60006122d185828601612209565b92505060206122e285828601612209565b9150509250929050565b60008060006060848603121561230157600080fd5b600061230f86828701612209565b935050602061232086828701612209565b92505060406123318682870161225d565b9150509250925092565b6000806040838503121561234e57600080fd5b600061235c85828601612209565b925050602061236d8582860161225d565b9150509250929050565b60006020828403121561238957600080fd5b60006123978482850161221e565b91505092915050565b6000602082840312156123b257600080fd5b60006123c084828501612233565b91505092915050565b6000602082840312156123db57600080fd5b60006123e984828501612248565b91505092915050565b60006020828403121561240457600080fd5b60006124128482850161225d565b91505092915050565b60006020828403121561242d57600080fd5b600061243b84828501612272565b91505092915050565b6000806040838503121561245757600080fd5b60006124658582860161225d565b925050602061247685828601612209565b9150509250929050565b61248981612d10565b82525050565b61249881612d22565b82525050565b6124a781612d77565b82525050565b6124b681612d9b565b82525050565b60006124c782612bdf565b6124d18185612bea565b93506124e1818560208601612dbf565b6124ea81612eb1565b840191505092915050565b6000612502602383612bea565b915061250d82612ec2565b604082019050919050565b6000612525602283612bea565b915061253082612f11565b604082019050919050565b6000612548602683612bea565b915061255382612f60565b604082019050919050565b600061256b602283612bea565b915061257682612faf565b604082019050919050565b600061258e601983612bea565b915061259982612ffe565b602082019050919050565b60006125b1602b83612bea565b91506125bc82613027565b604082019050919050565b60006125d4602683612bea565b91506125df82613076565b604082019050919050565b60006125f7601d83612bea565b9150612602826130c5565b602082019050919050565b600061261a602683612bea565b9150612625826130ee565b604082019050919050565b600061263d602283612bea565b91506126488261313d565b604082019050919050565b6000612660602083612bea565b915061266b8261318c565b602082019050919050565b6000612683601d83612bea565b915061268e826131b5565b602082019050919050565b60006126a6602983612bea565b91506126b1826131de565b604082019050919050565b60006126c9602183612bea565b91506126d48261322d565b604082019050919050565b60006126ec602583612bea565b91506126f78261327c565b604082019050919050565b600061270f602483612bea565b915061271a826132cb565b604082019050919050565b6000612732601b83612bea565b915061273d8261331a565b602082019050919050565b6000612755602183612bea565b915061276082613343565b604082019050919050565b6000612778601c83612bea565b915061278382613392565b602082019050919050565b600061279b602583612bea565b91506127a6826133bb565b604082019050919050565b60006127be601f83612bea565b91506127c98261340a565b602082019050919050565b6127dd81612d60565b82525050565b6127ec81612d6a565b82525050565b60006020820190506128076000830184612480565b92915050565b60006060820190506128226000830186612480565b61282f6020830185612480565b61283c60408301846127d4565b949350505050565b60006040820190506128596000830185612480565b61286660208301846127d4565b9392505050565b6000602082019050612882600083018461248f565b92915050565b600060208201905061289d600083018461249e565b92915050565b60006020820190506128b860008301846124ad565b92915050565b600060208201905081810360008301526128d881846124bc565b905092915050565b600060208201905081810360008301526128f9816124f5565b9050919050565b6000602082019050818103600083015261291981612518565b9050919050565b600060208201905081810360008301526129398161253b565b9050919050565b600060208201905081810360008301526129598161255e565b9050919050565b6000602082019050818103600083015261297981612581565b9050919050565b60006020820190508181036000830152612999816125a4565b9050919050565b600060208201905081810360008301526129b9816125c7565b9050919050565b600060208201905081810360008301526129d9816125ea565b9050919050565b600060208201905081810360008301526129f98161260d565b9050919050565b60006020820190508181036000830152612a1981612630565b9050919050565b60006020820190508181036000830152612a3981612653565b9050919050565b60006020820190508181036000830152612a5981612676565b9050919050565b60006020820190508181036000830152612a7981612699565b9050919050565b60006020820190508181036000830152612a99816126bc565b9050919050565b60006020820190508181036000830152612ab9816126df565b9050919050565b60006020820190508181036000830152612ad981612702565b9050919050565b60006020820190508181036000830152612af981612725565b9050919050565b60006020820190508181036000830152612b1981612748565b9050919050565b60006020820190508181036000830152612b398161276b565b9050919050565b60006020820190508181036000830152612b598161278e565b9050919050565b60006020820190508181036000830152612b79816127b1565b9050919050565b6000602082019050612b9560008301846127d4565b92915050565b6000604082019050612bb060008301856127d4565b612bbd6020830184612480565b9392505050565b6000602082019050612bd960008301846127e3565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612c0682612d60565b9150612c1183612d60565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c4657612c45612e24565b5b828201905092915050565b6000612c5c82612d60565b9150612c6783612d60565b925082612c7757612c76612e53565b5b828204905092915050565b6000612c8d82612d60565b9150612c9883612d60565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cd157612cd0612e24565b5b828202905092915050565b6000612ce782612d60565b9150612cf283612d60565b925082821015612d0557612d04612e24565b5b828203905092915050565b6000612d1b82612d40565b9050919050565b60008115159050919050565b6000612d3982612d10565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d8282612d89565b9050919050565b6000612d9482612d40565b9050919050565b6000612da682612dad565b9050919050565b6000612db882612d40565b9050919050565b60005b83811015612ddd578082015181840152602081019050612dc2565b83811115612dec576000848401525b50505050565b60006002820490506001821680612e0a57607f821691505b60208210811415612e1e57612e1d612e82565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4a6f655a61707065723a7472616e73666572206661696c656400000000000000600082015250565b7f5a61707065723a204275726e204665652073686f756c64206265206c6f77657260008201527f207468616e206c696d6974000000000000000000000000000000000000000000602082015250565b7f5a61707065723a204665652073686f756c64206265206c6f776572207468616e60008201527f206c696d69740000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4a6f655a61707065723a207472616e7366657220684a4f45207631206661696c60008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4a6f655a61707065723a7472616e7366657220666565206661696c6564000000600082015250565b7f4a6f655a61707065723a206e6f7420656e6f756768204a4f453b20776169742060008201527f736f6d652074696d650000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4a6f655a61707065723a6465706f736974732064697361626c65640000000000600082015250565b7f4a6f655a61707065723a20636f756c64206e6f74207472616e73666572204a4f60008201527f4500000000000000000000000000000000000000000000000000000000000000602082015250565b7f4a6f655a61707065723a7a6170706572206e6f7420656e61626c656400000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61343c81612d10565b811461344757600080fd5b50565b61345381612d22565b811461345e57600080fd5b50565b61346a81612d2e565b811461347557600080fd5b50565b61348181612d60565b811461348c57600080fd5b5056fea264697066735822122080a480778cb42a7b02520100ed6197ce79ffa148ea566bcab95c6738f10e589964736f6c634300080400330000000000000000000000006a70c42cf31275bddf9522b61109faadbf8cf2280000000000000000000000001ab6b2f60a7e8da9d521cf8f90b2a5b5d314b3a6