0 txs
639 calls
constructor
constructor(address _gfi, address _governance)
functions
allFarms
viewfunction allFarms(uint256) view returns (address)
FarmImplementation
viewfunction FarmImplementation() view returns (address)
farmVersion
viewfunction farmVersion(address, address) view returns (uint256)
feeManager
viewfunction feeManager() view returns (address)
getFarm
viewfunction getFarm(address, address, uint256) view returns (address)
getFarmIndex
viewfunction getFarmIndex(address, address) view returns (uint256)
gfi
viewfunction gfi() view returns (address)
governance
viewfunction governance() view returns (address)
harvestFee
viewfunction harvestFee() view returns (uint256)
incinerator
viewfunction incinerator() view returns (address)
owner
viewfunction owner() view returns (address)
whitelist
viewfunction whitelist(address) view returns (bool)
adjustWhitelist
nonpayablefunction adjustWhitelist(address _address, bool _bool)
approveOrRevokeFarm
nonpayablefunction approveOrRevokeFarm(bool status, address from, address depositToken, address rewardToken, uint256 amount, uint256 blockReward, uint256 start, uint256 end, uint256 bonusEnd, uint256 bonus)
createFarm
nonpayablefunction createFarm(address depositToken, address rewardToken, uint256 amount, uint256 blockReward, uint256 start, uint256 end, uint256 bonusEnd, uint256 bonus)
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeManager
nonpayablefunction setFeeManager(address _feeManager)
setGovernance
nonpayablefunction setGovernance(address _governance)
setHarvestFee
nonpayablefunction setHarvestFee(uint256 _fee)
setIncinerator
nonpayablefunction setIncinerator(address _incinerator)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AddressChanged
event AddressChanged(address oldAddress, address newAddress)
FarmCreated
event FarmCreated(address farmAddress, address depositToken, address rewardToken, uint256 start, uint256 end)
HarvestFeeChanged
event HarvestFeeChanged(uint256 newFee)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
whiteListChanged
event whiteListChanged(address _address, bool newBool)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002efd38038062002efd833981016040819052620000349162000127565b6200003f33620000ac565b6040516200004d90620000fc565b604051809103906000f0801580156200006a573d6000803e3d6000fd5b50600180546001600160a01b03199081166001600160a01b0393841617909155600b80548216948316949094179093556008805490931691161790556200015e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611d4680620011b783390190565b80516001600160a01b03811681146200012257600080fd5b919050565b600080604083850312156200013a578182fd5b62000145836200010a565b915062000155602084016200010a565b90509250929050565b611049806200016e6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063792fc0db116100b8578063b59629171161007c578063b5962917146102c9578063b98af2aa146102d2578063bd18bd21146102e5578063d0fb0203146102f8578063f2fde38b1461030b578063ffac90521461031e57600080fd5b8063792fc0db1461024c5780638da5cb5b1461025f5780639b19251a146102705780639dcd0b21146102a3578063ab033ea9146102b657600080fd5b8063472d35b9116100ff578063472d35b9146101e057806354fede99146101f35780635aa6e6751461021e578063715018a614610231578063792b55b61461023957600080fd5b80630c19b05e1461013c578063190d1d2e1461016c5780631d44810d146101a55780632a2e71fb146101b857806343acb9a9146101cd575b600080fd5b600b5461014f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61019761017a366004610d86565b600560209081526000928352604080842090915290825290205481565b604051908152602001610163565b60095461014f906001600160a01b031681565b6101cb6101c6366004610df3565b610358565b005b61014f6101db366004610f37565b61077c565b6101cb6101ee366004610d65565b6107a6565b610197610201366004610d86565b600460209081526000928352604080842090915290825290205481565b60085461014f906001600160a01b031681565b6101cb610839565b6101cb610247366004610f37565b61086f565b6101cb61025a366004610d65565b610930565b6000546001600160a01b031661014f565b61029361027e366004610d65565b60076020526000908152604090205460ff1681565b6040519015158152602001610163565b6101cb6102b1366004610e59565b6109c3565b6101cb6102c4366004610d65565b610a50565b610197600a5481565b6101cb6102e0366004610eab565b610ae3565b60015461014f906001600160a01b031681565b600c5461014f906001600160a01b031681565b6101cb610319366004610d65565b610b70565b61014f61032c366004610db8565b60036020908152600093845260408085208252928452828420905282529020546001600160a01b031681565b3360009081526007602052604090205460ff166103ff576000610382338a8a8a8a8a8a8a8a610c0b565b60008181526002602052604090205490915060ff166103e85760405162461bcd60e51b815260206004820152601e60248201527f4661726d20706172616d657465727320617265206e6f742076616c696421000060448201526064015b60405180910390fd5b6000908152600260205260409020805460ff191690555b6001600160a01b038089166000908152600560209081526040808320938b1683529290522054610430906001610fe1565b6001600160a01b0389811660009081526005602090815260408083208c85168452825280832085905580516bffffffffffffffffffffffff1960608f811b8216838601528e901b16603482015260488082019690965281518082039096018652606801905283519301929092206001549092916104ae911683610c53565b6001600160a01b038b811660008181526003602090815260408083208f8616808552908352818420858552600584528285208286528452828520548552835281842080549688166001600160a01b031997881681179091556006805496865260048086528487208488529095528386208790556001870181559094527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9094018054909516831790945592516323b872dd60e01b815233938101939093526024830152604482018b90529192506323b872dd90606401602060405180830381600087803b15801561059e57600080fd5b505af11580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d69190610e8f565b6106355760405162461bcd60e51b815260206004820152602a60248201527f4661696c656420746f207472616e7366657220746f6b656e7320746f206261636044820152696b206e6577206661726d60b01b60648201526084016103df565b806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b5050604051630d4b8cb960e01b81526001600160a01b038d811660048301528c81166024830152604482018c9052606482018b9052608482018a905260a4820189905260c4820188905260e4820187905284169250630d4b8cb9915061010401600060405180830381600087803b1580156106fe57600080fd5b505af1158015610712573d6000803e3d6000fd5b5050604080516001600160a01b0385811682528e811660208301528d1681830152606081018a90526080810189905290517f345d879fa0ac15c47d2d9da61899fc9f20739b1ea13cf9e40c935fbb6aeb877e93509081900360a0019150a150505050505050505050565b6006818154811061078c57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146107d05760405162461bcd60e51b81526004016103df90610fac565b600c54604080516001600160a01b03928316815291831660208301527f1552bf14c580c20e53a4227e9b76734da8e21905a818fdc5fa05dcb2891bb89e910160405180910390a1600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016103df90610fac565b61086d6000610cf9565b565b6000546001600160a01b031633146108995760405162461bcd60e51b81526004016103df90610fac565b60058111156108f55760405162461bcd60e51b815260206004820152602260248201527f4e6577206665652063616e206e6f742062652067726561746572207468616e20604482015261352560f01b60648201526084016103df565b600a8190556040518181527f8d3deb119e89219e2b4963500f53a7f4a174332303a8de695a7979203fcc0a6f9060200160405180910390a150565b6000546001600160a01b0316331461095a5760405162461bcd60e51b81526004016103df90610fac565b600954604080516001600160a01b03928316815291831660208301527f1552bf14c580c20e53a4227e9b76734da8e21905a818fdc5fa05dcb2891bb89e910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109ed5760405162461bcd60e51b81526004016103df90610fac565b6001600160a01b038216600081815260076020908152604091829020805460ff19168515159081179091558251938452908301527f9989cec740a9d888e73e94915eaa95e03f36dbca99da0eefb704f816015676ff910160405180910390a15050565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016103df90610fac565b600854604080516001600160a01b03928316815291831660208301527f1552bf14c580c20e53a4227e9b76734da8e21905a818fdc5fa05dcb2891bb89e910160405180910390a1600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b0d5760405162461bcd60e51b81526004016103df90610fac565b6000898989898989898989604051602001610b3099989796959493929190610f4f565b60408051808303601f190181529181528151602092830120600090815260029092529020805460ff19169b15159b909b17909a5550505050505050505050565b6000546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016103df90610fac565b6001600160a01b038116610bff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103df565b610c0881610cf9565b50565b6000898989898989898989604051602001610c2e99989796959493929190610f4f565b6040516020818303038152906040528051906020012090509998505050505050505050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528360601b60148201526e5af43d82803e903d91602b57fd5bf360881b6028820152826037826000f59150506001600160a01b038116610cf35760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c656400000000000000000060448201526064016103df565b92915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610d6057600080fd5b919050565b600060208284031215610d76578081fd5b610d7f82610d49565b9392505050565b60008060408385031215610d98578081fd5b610da183610d49565b9150610daf60208401610d49565b90509250929050565b600080600060608486031215610dcc578081fd5b610dd584610d49565b9250610de360208501610d49565b9150604084013590509250925092565b600080600080600080600080610100898b031215610e0f578384fd5b610e1889610d49565b9750610e2660208a01610d49565b979a9799505050506040860135956060810135956080820135955060a0820135945060c0820135935060e0909101359150565b60008060408385031215610e6b578182fd5b610e7483610d49565b91506020830135610e8481611005565b809150509250929050565b600060208284031215610ea0578081fd5b8151610d7f81611005565b6000806000806000806000806000806101408b8d031215610eca578182fd5b8a35610ed581611005565b9950610ee360208c01610d49565b9850610ef160408c01610d49565b9750610eff60608c01610d49565b999c989b50969960808101359860a0820135985060c0820135975060e082013596506101008201359550610120909101359350915050565b600060208284031215610f48578081fd5b5035919050565b6bffffffffffffffffffffffff1960609a8b1b81168252988a1b891660148201529690981b9096166028860152603c850193909352605c840191909152607c830152609c82015260bc81019190915260dc81019190915260fc0190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561100057634e487b7160e01b81526011600452602481fd5b500190565b8015158114610c0857600080fdfea26469706673582212201de5bbe4a06f6cb0f4cfcd4b5b5a48960600c4a6b6d865751fcb01bbbd6bdc0764736f6c63430008040033608060405234801561001057600080fd5b50611d26806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063ad9847db1161008c578063db2e21bc11610066578063db2e21bc1461028e578063e3161ddd14610296578063f40f0f521461029e578063f5a19f9e146102b157600080fd5b8063ad9847db14610226578063b6b55f2514610257578063d1f9e4091461026a57600080fd5b80632e1a7d4d116100c85780632e1a7d4d146101e1578063567e98f9146101f45780638129fc1c1461020b5780638dbb1e3a1461021357600080fd5b80630d4b8cb9146100ef5780631959a002146101045780631d49d66c14610145575b600080fd5b6101026100fd366004611b7c565b6102b9565b005b61012b610112366004611b3d565b600d602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b600254600354600454600554600654600754600854600954600a54600b54600c546101839a6001600160a01b039081169a169897969594939291908b565b604080516001600160a01b039c8d1681529b909a1660208c0152988a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526101008401526101208301526101408201526101600161013c565b6101026101ef366004611c06565b6104bd565b6101fd600e5481565b60405190815260200161013c565b610102610b31565b6101fd610221366004611c36565b610c23565b60005461023f906201000090046001600160a01b031681565b6040516001600160a01b03909116815260200161013c565b610102610265366004611c06565b610ccd565b60015461027e90600160a01b900460ff1681565b604051901515815260200161013c565b610102611344565b61010261144d565b6101fd6102ac366004611b3d565b6114e4565b61010261159c565b6000546201000090046001600160a01b031633146102d657600080fd5b600154600160a01b900460ff16156103415760405162461bcd60e51b8152602060048201526024808201527f477261766974792046696e616e63653a20496e697420616c72656164792063616044820152631b1b195960e21b60648201526084015b60405180910390fd5b6040516370a0823160e01b815230600482015286906001600160a01b038916906370a082319060240160206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c1e565b101561042e5760405162461bcd60e51b815260206004820152603e60248201527f4661726d20646f6573206e6f74206861766520656e6f7567682072657761726460448201527f20746f6b656e7320746f206261636b20696e697469616c697a6174696f6e00006064820152608401610338565b600380546001600160a01b0319166001600160a01b03891617905560048490556005859055600682905560078190558688600043871061046e5786610470565b435b600280546001600160a01b039094166001600160a01b0319909416939093179092555060095550506000600a55506008555050600b5550506001805460ff60a01b1916600160a01b179055565b336000908152600d60205260409020805482111561053b5760405162461bcd60e51b815260206004820152603560248201527f5769746864726177616c207265717565737420616d6f756e74206578636565646044820152741cc81d5cd95c8819985c9b5a5b99c8185b5bdd5b9d605a1b6064820152608401610338565b61054361144d565b8054821480156105535750600082115b156105745760016002600a01600082825461056e9190611cae565b90915550505b6001810154600a5482546000929164e8d4a51000916105939190611c8f565b61059d9190611c6f565b6105a79190611cae565b90506000600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b1580156105f957600080fd5b505afa15801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611c1e565b1180156106b65750600154604051634d8c928d60e11b81523360048201526001600160a01b0390911690639b19251a9060240160206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b49190611be6565b155b15610a1a576000606482600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b15801561070e57600080fd5b505afa158015610722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107469190611c1e565b6107509190611c8f565b61075a9190611c6f565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107aa57600080fd5b505afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611b60565b6003546001600160a01b039081169116141561090357600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084657600080fd5b505afa15801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190611b60565b6001600160a01b03166342966c68826040518263ffffffff1660e01b81526004016108ab91815260200190565b602060405180830381600087803b1580156108c557600080fd5b505af11580156108d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fd9190611be6565b50610a0c565b6003546001546040805163d0fb020360e01b815290516001600160a01b039384169363a9059cbb93169163d0fb0203916004808301926020929190829003018186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190611b60565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b1580156109d257600080fd5b505af11580156109e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0a9190611be6565b505b610a168183611cae565b9150505b610a2433826119f1565b82826000016000828254610a389190611cae565b9091555050600a54825464e8d4a5100091610a5291611c8f565b610a5c9190611c6f565b6001830155600e54610a6f908490611cae565b600e5560025460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af69190611be6565b5060405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505050565b600054610100900460ff1680610b4a575060005460ff16155b610bad5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610338565b600054610100900460ff16158015610bcf576000805461ffff19166101011790555b600080546201000033810262010000600160b01b03199092169190911791829055600180546001600160a01b031916919092046001600160a01b03161790558015610c20576000805461ff00191690555b50565b6000806002800154841015610c3a57600454610c3c565b835b905060008360026006015411610c5457600854610c56565b835b6006549091508111610c8257600754610c6f8383611cae565b610c799190611c8f565b92505050610cc7565b6006548210610c9557610c798282611cae565b600654610ca29082611cae565b600754600654610cb3908590611cae565b610cbd9190611c8f565b610c799190611c57565b92915050565b600454431015610d315760405162461bcd60e51b815260206004820152602960248201527f477261766974792046696e616e63653a204661726d696e6720686173206e6f7460448201526820737461727465642160b81b6064820152608401610338565b336000908152600d60205260409020610d4861144d565b805415611201576001810154600a5482546000929164e8d4a5100091610d6e9190611c8f565b610d789190611c6f565b610d829190611cae565b90506000600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b158015610dd457600080fd5b505afa158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c9190611c1e565b118015610e915750600154604051634d8c928d60e11b81523360048201526001600160a01b0390911690639b19251a9060240160206040518083038186803b158015610e5757600080fd5b505afa158015610e6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8f9190611be6565b155b156111f5576000606482600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee957600080fd5b505afa158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f219190611c1e565b610f2b9190611c8f565b610f359190611c6f565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8557600080fd5b505afa158015610f99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190611b60565b6003546001600160a01b03908116911614156110de57600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561102157600080fd5b505afa158015611035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110599190611b60565b6001600160a01b03166342966c68826040518263ffffffff1660e01b815260040161108691815260200190565b602060405180830381600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d89190611be6565b506111e7565b6003546001546040805163d0fb020360e01b815290516001600160a01b039384169363a9059cbb93169163d0fb0203916004808301926020929190829003018186803b15801561112d57600080fd5b505afa158015611141573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111659190611b60565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b1580156111ad57600080fd5b505af11580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e59190611be6565b505b6111f18183611cae565b9150505b6111ff33826119f1565b505b80541580156112105750600082115b156112315760016002600a01600082825461122b9190611c57565b90915550505b6002546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561128357600080fd5b505af1158015611297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bb9190611be6565b5081600e546112ca9190611c57565b600e558054829082906000906112e1908490611c57565b9091555050600a54815464e8d4a51000916112fb91611c8f565b6113059190611c6f565b600182015560405182815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a25050565b336000908152600d6020526040812080548282556001820192909255600e54909190611371908290611cae565b600e5580156113965760016002600a0160008282546113909190611cae565b90915550505b60025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156113e257600080fd5b505af11580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190611be6565b5060405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969590602001611338565b600954431161145857565b600e548061147957600854431061147157600854611473565b435b60095550565b600061148a60026007015443610c23565b60055490915060009061149d9083611c8f565b9050826114af8264e8d4a51000611c8f565b6114b99190611c6f565b600a546114c69190611c57565b600a5560085443106114da576008546114dc565b435b600955505050565b6001600160a01b0381166000908152600d60205260408120600a54600e546009544311801561151257508015155b1561156657600061152860026007015443610c23565b60055490915060009061153b9083611c8f565b90508261154d8264e8d4a51000611c8f565b6115579190611c6f565b6115619085611c57565b935050505b6001830154835464e8d4a510009061157f908590611c8f565b6115899190611c6f565b6115939190611cae565b95945050505050565b6001546040805163060cd82f60e11b815290516000926001600160a01b031691630c19b05e916004808301926020929190829003018186803b1580156115e157600080fd5b505afa1580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190611b60565b6003549091506001600160a01b038083169116148061164557506002546001600160a01b038281169116145b6116a35760405162461bcd60e51b815260206004820152602960248201527f52657761726420746f6b656e206f72204465706f73697420746f6b656e206d7560448201526873742062652047464960b81b6064820152608401610338565b60015460408051631d44810d60e01b815290516000926001600160a01b031691631d44810d916004808301926020929190829003018186803b1580156116e857600080fd5b505afa1580156116fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117209190611b60565b6001600160a01b031614156117825760405162461bcd60e51b815260206004820152602260248201527f496e63696e657261746f722063616e2774206265205a65726f20416464726573604482015261732160f01b6064820152608401610338565b600160009054906101000a90046001600160a01b03166001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b1580156117d057600080fd5b505afa1580156117e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118089190611b60565b6001600160a01b031663ffc76a88600160009054906101000a90046001600160a01b03166001600160a01b0316631d44810d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561186457600080fd5b505afa158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c9190611b60565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381600087803b1580156118dd57600080fd5b505af11580156118f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119159190611c1e565b50600160009054906101000a90046001600160a01b03166001600160a01b0316631d44810d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561196457600080fd5b505afa158015611978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199c9190611b60565b6001600160a01b031663cf15a8ee6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b5050505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015611a3557600080fd5b505afa158015611a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6d9190611c1e565b905080821115611b045760035460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044015b602060405180830381600087803b158015611ac657600080fd5b505af1158015611ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611afe9190611be6565b50505050565b60035460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529091169063a9059cbb90604401611aac565b600060208284031215611b4e578081fd5b8135611b5981611cdb565b9392505050565b600060208284031215611b71578081fd5b8151611b5981611cdb565b600080600080600080600080610100898b031215611b98578384fd5b8835611ba381611cdb565b97506020890135611bb381611cdb565b979a9799505050506040860135956060810135956080820135955060a0820135945060c0820135935060e0909101359150565b600060208284031215611bf7578081fd5b81518015158114611b59578182fd5b600060208284031215611c17578081fd5b5035919050565b600060208284031215611c2f578081fd5b5051919050565b60008060408385031215611c48578182fd5b50508035926020909101359150565b60008219821115611c6a57611c6a611cc5565b500190565b600082611c8a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611ca957611ca9611cc5565b500290565b600082821015611cc057611cc0611cc5565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610c2057600080fdfea264697066735822122020a701096c8b74968c160b1aa57ffd28992e0a8117c32dec89593512c547ac5e64736f6c63430008040033000000000000000000000000874e178a2f3f3f9d34db862453cd756e7eab0381000000000000000000000000ee5578a3bab33f7a56575785bb4846b90be37d50