ethereum

package

Versions in this module

v1
May 3, 2022
Apr 29, 2022
Apr 28, 2022
Apr 25, 2022
Apr 23, 2022
Apr 23, 2022
Apr 22, 2022
Apr 20, 2022
Apr 19, 2022
Apr 19, 2022
Apr 19, 2022
Apr 19, 2022
Changes in this version
type VRFCoordinatorV2ConfigSet
type VRFCoordinatorV2FundsRecovered
type VRFCoordinatorV2OwnershipTransferRequested
type VRFCoordinatorV2OwnershipTransferred
type VRFCoordinatorV2ProvingKeyDeregistered
type VRFCoordinatorV2ProvingKeyRegistered
type VRFCoordinatorV2RandomWordsFulfilled
type VRFCoordinatorV2RandomWordsRequested
type VRFCoordinatorV2SubscriptionCanceled
type VRFCoordinatorV2SubscriptionConsumerAdded
type VRFCoordinatorV2SubscriptionConsumerRemoved
type VRFCoordinatorV2SubscriptionCreated
type VRFCoordinatorV2SubscriptionFunded
type VRFCoordinatorV2SubscriptionOwnerTransferRequested
type VRFCoordinatorV2SubscriptionOwnerTransferred
Apr 19, 2022
Changes in this version
+ var MockV3AggregatorContractBin = "0x608060405234801561001057600080fd5b506040516105113803806105118339818101604052604081101561003357600080fd5b5080516020909101516000805460ff191660ff84161790556100548161005b565b50506100a2565b600181815542600281905560038054909201808355600090815260046020908152604080832095909555835482526005815284822083905592548152600690925291902055565b610460806100b16000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638205bf6a11610081578063b5ab58dc1161005b578063b5ab58dc14610273578063b633620c14610290578063feaf968c146102ad576100d4565b80638205bf6a146101db5780639a6fc8f5146101e3578063a87a20ce14610256576100d4565b806354fd4d50116100b257806354fd4d501461014e578063668a0f02146101565780637284e4161461015e576100d4565b8063313ce567146100d95780634aa2011f146100f757806350d25bcd14610134575b600080fd5b6100e16102b5565b6040805160ff9092168252519081900360200190f35b6101326004803603608081101561010d57600080fd5b5069ffffffffffffffffffff81351690602081013590604081013590606001356102be565b005b61013c61030b565b60408051918252519081900360200190f35b61013c610311565b61013c610316565b61016661031c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a0578181015183820152602001610188565b50505050905090810190601f1680156101cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61013c610353565b61020c600480360360208110156101f957600080fd5b503569ffffffffffffffffffff16610359565b604051808669ffffffffffffffffffff1681526020018581526020018481526020018381526020018269ffffffffffffffffffff1681526020019550505050505060405180910390f35b6101326004803603602081101561026c57600080fd5b5035610392565b61013c6004803603602081101561028957600080fd5b50356103d9565b61013c600480360360208110156102a657600080fd5b50356103eb565b61020c6103fd565b60005460ff1681565b69ffffffffffffffffffff90931660038181556001849055600283905560009182526004602090815260408084209590955581548352600581528483209390935554815260069091522055565b60015481565b600081565b60035481565b60408051808201909152601f81527f76302e362f74657374732f4d6f636b563341676772656761746f722e736f6c00602082015290565b60025481565b69ffffffffffffffffffff8116600090815260046020908152604080832054600683528184205460059093529220549293919290918490565b600181815542600281905560038054909201808355600090815260046020908152604080832095909555835482526005815284822083905592548152600690925291902055565b60046020526000908152604090205481565b60056020526000908152604090205481565b6003546000818152600460209081526040808320546006835281842054600590935292205483909192939456fea2646970667358221220ecf1c50e0f78cd131fb708022b7a4f2d2de0408537205a8d45c5a41fdbc0ad4d64736f6c63430007060033"
Apr 19, 2022
Apr 19, 2022
Apr 19, 2022
Apr 14, 2022
Apr 13, 2022
Apr 18, 2022
Changes in this version
+ var VRFConsumerV2Bin = "0x60a060405234801561001057600080fd5b50604051610b1a380380610b1a83398101604081905261002f91610082565b6001600160a01b039182166080819052600280546001600160a01b03199081169092179055600380549290931691161790556100b5565b80516001600160a01b038116811461007d57600080fd5b919050565b6000806040838503121561009557600080fd5b61009e83610066565b91506100ac60208401610066565b90509250929050565b608051610a4d6100cd60003960005050610a4d6000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c80631fe543e31461008857806327784fad1461009d5780632fa4e442146100c357806336bfffed146100d65780636802f726146100e9578063706da1ca146100fc578063e89e106a1461012e578063f08c5daa14610137578063f6eaffc814610140575b600080fd5b61009b6100963660046106c2565b610153565b005b6100b06100ab366004610794565b610161565b6040519081526020015b60405180910390f35b61009b6100d13660046107fd565b61020d565b61009b6100e436600461082d565b610309565b61009b6100f73660046107fd565b61040e565b60035461011690600160a01b90046001600160401b031681565b6040516001600160401b0390911681526020016100ba565b6100b060015481565b6100b060045481565b6100b061014e3660046108d3565b610571565b61015d8282610592565b5050565b6002546040516305d3b1d360e41b8152600481018790526001600160401b038616602482015261ffff8516604482015263ffffffff8085166064830152831660848201526000916001600160a01b031690635d3b1d309060a4016020604051808303816000875af11580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906108ec565b60018190559695505050505050565b600354600160a01b90046001600160401b03166000036102625760405162461bcd60e51b815260206004820152600b60248201526a1cdd58881b9bdd081cd95d60aa1b60448201526064015b60405180910390fd5b60035460025460408051600160a01b84046001600160401b031660208201526001600160a01b0393841693634000aea09316918591015b6040516020818303038152906040526040518463ffffffff1660e01b81526004016102c693929190610905565b6020604051808303816000875af11580156102e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015d9190610979565b600354600160a01b90046001600160401b031660000361035b5760405162461bcd60e51b815260206004820152600d60248201526c1cdd589251081b9bdd081cd95d609a1b6044820152606401610259565b60005b815181101561015d5760025460035483516001600160a01b0390921691637341c10c91600160a01b90046001600160401b0316908590859081106103a4576103a461099b565b60200260200101516040518363ffffffff1660e01b81526004016103c99291906109b1565b600060405180830381600087803b1580156103e357600080fd5b505af11580156103f7573d6000803e3d6000fd5b505050508080610406906109d3565b91505061035e565b600354600160a01b90046001600160401b031660000361026257600260009054906101000a90046001600160a01b03166001600160a01b031663a21a23e46040518163ffffffff1660e01b81526004016020604051808303816000875af115801561047d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a191906109fa565b6003805467ffffffffffffffff60a01b1916600160a01b6001600160401b0393841681029190911791829055600254604051631cd0704360e21b81526001600160a01b0390911693637341c10c93610501939004169030906004016109b1565b600060405180830381600087803b15801561051b57600080fd5b505af115801561052f573d6000803e3d6000fd5b505060035460025460408051600160a01b84046001600160401b031660208201526001600160a01b039384169550634000aea094509290911691859101610299565b6000818154811061058157600080fd5b600091825260209091200154905081565b60015482146105dd5760405162461bcd60e51b81526020600482015260176024820152761c995c5d595cdd081251081a5cc81a5b98dbdc9c9958dd604a1b6044820152606401610259565b5a60045580516105f49060009060208401906105f9565b505050565b828054828255906000526020600020908101928215610634579160200282015b82811115610634578251825591602001919060010190610619565b50610640929150610644565b5090565b5b808211156106405760008155600101610645565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561069757610697610659565b604052919050565b60006001600160401b038211156106b8576106b8610659565b5060051b60200190565b600080604083850312156106d557600080fd5b823591506020808401356001600160401b038111156106f357600080fd5b8401601f8101861361070457600080fd5b80356107176107128261069f565b61066f565b81815260059190911b8201830190838101908883111561073657600080fd5b928401925b828410156107545783358252928401929084019061073b565b80955050505050509250929050565b6001600160401b038116811461077857600080fd5b50565b803563ffffffff8116811461078f57600080fd5b919050565b600080600080600060a086880312156107ac57600080fd5b8535945060208601356107be81610763565b9350604086013561ffff811681146107d557600080fd5b92506107e36060870161077b565b91506107f16080870161077b565b90509295509295909350565b60006020828403121561080f57600080fd5b81356001600160601b038116811461082657600080fd5b9392505050565b6000602080838503121561084057600080fd5b82356001600160401b0381111561085657600080fd5b8301601f8101851361086757600080fd5b80356108756107128261069f565b81815260059190911b8201830190838101908783111561089457600080fd5b928401925b828410156108c85783356001600160a01b03811681146108b95760008081fd5b82529284019290840190610899565b979650505050505050565b6000602082840312156108e557600080fd5b5035919050565b6000602082840312156108fe57600080fd5b5051919050565b60018060a01b03841681526000602060018060601b0385168184015260606040840152835180606085015260005b8181101561094f57858101830151858201608001528201610933565b81811115610961576000608083870101525b50601f01601f19169290920160800195945050505050565b60006020828403121561098b57600080fd5b8151801515811461082657600080fd5b634e487b7160e01b600052603260045260246000fd5b6001600160401b039290921682526001600160a01b0316602082015260400190565b6000600182016109f357634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610a0c57600080fd5b81516108268161076356fea2646970667358221220440f61541a58900e2bd56c661fe15f704d34b703df3331d0429228a7f95dcadd64736f6c634300080d0033"
Mar 29, 2022
Mar 22, 2022
Mar 15, 2022
Feb 24, 2022
Feb 18, 2022
Feb 14, 2022
Changes in this version
Feb 10, 2022
Feb 9, 2022
Feb 9, 2022
Feb 2, 2022
Feb 1, 2022
Jan 27, 2022
Jan 27, 2022
Jan 26, 2022
Jan 26, 2022
Jan 25, 2022
Jan 25, 2022
Jan 25, 2022
Jan 21, 2022
Jan 21, 2022
Jan 21, 2022
Jan 19, 2022
Jan 20, 2022
Jan 19, 2022
Jan 18, 2022
Jan 14, 2022
Jan 13, 2022
Changes in this version
Jan 12, 2022
Jan 10, 2022
Jan 7, 2022
Jan 6, 2022
Jan 3, 2022
Jan 3, 2022
Jan 5, 2022
v0
Dec 17, 2021
Dec 16, 2021
Dec 16, 2021
Dec 16, 2021
Dec 16, 2021
Dec 16, 2021
Nov 8, 2021
Oct 25, 2021
Jan 5, 2022
Dec 15, 2021
Dec 14, 2021
Dec 14, 2021
Dec 13, 2021
Dec 13, 2021
Dec 12, 2021
Dec 9, 2021
Dec 8, 2021
Dec 7, 2021
Dec 7, 2021
Dec 6, 2021
Dec 3, 2021
Dec 3, 2021
Dec 2, 2021
Nov 30, 2021
Nov 30, 2021
Nov 30, 2021
Nov 24, 2021
Nov 24, 2021
Nov 11, 2021
Nov 8, 2021
Nov 8, 2021
Nov 8, 2021
Nov 8, 2021
Nov 8, 2021
Nov 8, 2021
Nov 4, 2021
Nov 3, 2021
Nov 3, 2021
Oct 29, 2021
Oct 27, 2021
Oct 22, 2021
Oct 21, 2021
Oct 20, 2021
Oct 15, 2021
Oct 14, 2021
Changes in this version
Oct 6, 2021
Oct 5, 2021
Sep 8, 2021
Sep 8, 2021
Sep 2, 2021
Changes in this version
type OffchainAggregatorOraclePaid
Aug 30, 2021
Changes in this version
+ var APIConsumerBin = "0x608060405260016004553480156200001657600080fd5b50604051620013c8380380620013c8833981810160405260208110156200003c57600080fd5b5051600680546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600160a01b038116620000b257620000ac6001600160e01b03620000cd16565b620000c6565b620000c6816001600160e01b036200015e16565b5062000180565b6200015c73c89bd4e1632d3a43cb03aaad5262cbe4038bc5716001600160a01b03166338cc48316040518163ffffffff1660e01b815260040160206040518083038186803b1580156200011f57600080fd5b505afa15801562000134573d6000803e3d6000fd5b505050506040513d60208110156200014b57600080fd5b50516001600160e01b036200015e16565b565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61123880620001906000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80638dc654a211610076578063ea3d508a1161005b578063ea3d508a1461029d578063ec65d0f8146102c2578063f2fde38b146102fb576100be565b80638dc654a2146102795780638f32d59b14610281576100be565b80634357855e116100a75780634357855e1461024457806373d4a13a146102695780638da5cb5b14610271576100be565b8063165d35e1146100c357806316ef7f1a146100e7575b600080fd5b6100cb610321565b604080516001600160a01b039092168252519081900360200190f35b610232600480360360c08110156100fd57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184600183028401116401000000008311171561016857600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460018302840111640100000000831117156101ef57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610330915050565b60408051918252519081900360200190f35b6102676004803603604081101561025a57600080fd5b50803590602001356104bd565b005b6102326104c3565b6100cb6104c9565b6102676104d8565b6102896106a2565b604080519115158252519081900360200190f35b6102a56106b3565b604080516001600160e01b03199092168252519081900360200190f35b610267600480360360808110156102d857600080fd5b508035906020810135906001600160e01b031960408201351690606001356106bc565b6102676004803603602081101561031157600080fd5b50356001600160a01b0316610727565b600061032b610789565b905090565b600061033a6106a2565b61038b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6008805463ffffffff1916634357855e1790556103a661116a565b6103d187307f4357855e00000000000000000000000000000000000000000000000000000000610798565b60408051808201909152600381527f6765740000000000000000000000000000000000000000000000000000000000602082015290915061041a9082908763ffffffff6107c316565b60408051808201909152600481527f706174680000000000000000000000000000000000000000000000000000000060208201526104609082908663ffffffff6107c316565b60408051808201909152600581527f74696d657300000000000000000000000000000000000000000000000000000060208201526104a69082908563ffffffff6107f216565b6104b188828861081c565b98975050505050505050565b60075550565b60075481565b6006546001600160a01b031690565b6104e06106a2565b610531576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600061053b610789565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519192506001600160a01b0383169163a9059cbb91339184916370a08231916024808301926020929190829003018186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d60208110156105d157600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561062257600080fd5b505af1158015610636573d6000803e3d6000fd5b505050506040513d602081101561064c57600080fd5b505161069f576040805162461bcd60e51b815260206004820152601260248201527f556e61626c6520746f207472616e736665720000000000000000000000000000604482015290519081900360640190fd5b50565b6006546001600160a01b0316331490565b60085460e01b81565b6106c46106a2565b610715576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61072184848484610a00565b50505050565b61072f6106a2565b610780576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61069f81610afe565b6002546001600160a01b031690565b6107a061116a565b6107a861116a565b6107ba8186868663ffffffff610bac16565b95945050505050565b60808301516107d8908363ffffffff610be916565b60808301516107ed908263ffffffff610be916565b505050565b6080830151610807908363ffffffff610be916565b60808301516107ed908263ffffffff610c0616565b6004546040805130606090811b602080840191909152603480840186905284518085039091018152605490930184528251928101929092209086019390935260008381526005909152818120805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038816179055905182917fb5e6e01e79f91267dc17b4e6314d5d4d03593d2ceee0fbb452b750bd70ea5af991a26002546001600160a01b0316634000aea085846108d187610c65565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561093b578181015183820152602001610923565b50505050905090810190601f1680156109685780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561098957600080fd5b505af115801561099d573d6000803e3d6000fd5b505050506040513d60208110156109b357600080fd5b50516109f05760405162461bcd60e51b81526004018080602001828103825260238152602001806111e06023913960400191505060405180910390fd5b6004805460010190559392505050565b600084815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19811690915590516001600160a01b039091169186917fe1fe3afa0f7f761ff0a8b89086790efd5140d2907ebd5b7ff6bfcb5e075fd4c59190a2604080517f6ee4d55300000000000000000000000000000000000000000000000000000000815260048101879052602481018690526001600160e01b0319851660448201526064810184905290516001600160a01b03831691636ee4d55391608480830192600092919082900301818387803b158015610adf57600080fd5b505af1158015610af3573d6000803e3d6000fd5b505050505050505050565b6001600160a01b038116610b435760405162461bcd60e51b81526004018080602001828103825260268152602001806111ba6026913960400191505060405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610bb461116a565b610bc48560800151610100610dbc565b50509183526001600160a01b031660208301526001600160e01b031916604082015290565b610bf68260038351610dfc565b6107ed828263ffffffff610f0616565b67ffffffffffffffff19811215610c2657610c218282610f27565b610c61565b67ffffffffffffffff811315610c4057610c218282610f66565b60008112610c5457610c2182600083610dfc565b610c618260018319610dfc565b5050565b8051602080830151604080850151606086810151608088015151935160006024820181815260448301829052606483018a90526001600160a01b03881660848401526001600160e01b0319861660a484015260c48301849052600160e48401819052610100610104850190815288516101248601528851969b7f40429946000000000000000000000000000000000000000000000000000000009b949a8b9a91999098909796939591949361014401918501908083838e5b83811015610d35578181015183820152602001610d1d565b50505050905090810190601f168015610d625780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909d169c909c17909b5250989950505050505050505050919050565b610dc461119f565b6020820615610dd95760208206602003820191505b506020808301829052604080518085526000815283019091019052815b92915050565b60178111610e2357610e1d8360e0600585901b16831763ffffffff610fa116565b506107ed565b60ff8111610e5957610e46836018611fe0600586901b161763ffffffff610fa116565b50610e1d8382600163ffffffff610fb916565b61ffff8111610e9057610e7d836019611fe0600586901b161763ffffffff610fa116565b50610e1d8382600263ffffffff610fb916565b63ffffffff8111610ec957610eb683601a611fe0600586901b161763ffffffff610fa116565b50610e1d8382600463ffffffff610fb916565b67ffffffffffffffff81116107ed57610ef383601b611fe0600586901b161763ffffffff610fa116565b506107218382600863ffffffff610fb916565b610f0e61119f565b610f2083846000015151848551610fda565b9392505050565b610f388260c363ffffffff610fa116565b50610c6182826000190360405160200180828152602001915050604051602081830303815290604052611086565b610f778260c263ffffffff610fa116565b50610c61828260405160200180828152602001915050604051602081830303815290604052611086565b610fa961119f565b610f208384600001515184611093565b610fc161119f565b610fd28485600001515185856110de565b949350505050565b610fe261119f565b8251821115610ff057600080fd5b8460200151828501111561101a5761101a85611012876020015187860161113c565b600202611153565b6000808651805187602083010193508088870111156110395787860182525b505050602084015b602084106110605780518252601f199093019260209182019101611041565b51815160001960208690036101000a019081169019919091161790525083949350505050565b610bf68260028351610dfc565b61109b61119f565b836020015183106110b7576110b7848560200151600202611153565b8351805160208583010184815350808514156110d4576001810182525b5093949350505050565b6110e661119f565b846020015184830111156111035761110385858401600202611153565b60006001836101000a0390508551838682010185831982511617815250805184870111156111315783860181525b509495945050505050565b60008183111561114d575081610df6565b50919050565b815161115f8383610dbc565b506107218382610f06565b6040805160a08101825260008082526020820181905291810182905260608101919091526080810161119a61119f565b905290565b60405180604001604052806060815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373756e61626c6520746f207472616e73666572416e6443616c6c20746f206f7261636c65a2646970667358221220bb7c71139113b3d2556b966500b6748be4a8d7461add623c63e9953604536cc564736f6c63430006000033"
+ var BlockhashStoreBin = "0x608060405234801561001057600080fd5b506102ec806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636057361d1461005157806383b6d6b714610070578063e9413d3814610078578063fadff0e1146100a7575b600080fd5b61006e6004803603602081101561006757600080fd5b5035610154565b005b61006e6101ba565b6100956004803603602081101561008e57600080fd5b50356101c9565b60408051918252519081900360200190f35b61006e600480360360408110156100bd57600080fd5b813591908101906040810160208201356401000000008111156100df57600080fd5b8201836020820111156100f157600080fd5b8035906020019184600183028401116401000000008311171561011357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610230945050505050565b8040806101a8576040805162461bcd60e51b815260206004820152601360248201527f626c6f636b68617368286e29206661696c656400000000000000000000000000604482015290519081900360640190fd5b60009182526020829052604090912055565b6101c76101004303610154565b565b6000818152602081905260408120548061022a576040805162461bcd60e51b815260206004820152601c60248201527f626c6f636b68617368206e6f7420666f756e6420696e2073746f726500000000604482015290519081900360640190fd5b92915050565b600080836001018152602001908152602001600020548180519060200120146102a0576040805162461bcd60e51b815260206004820152601c60248201527f6865616465722068617320756e6b6e6f776e20626c6f636b6861736800000000604482015290519081900360640190fd5b602401516000918252602082905260409091205556fea2646970667358221220b25f884ce4385996dd9dfcaf5b575442639e0f7d2c9e0629a7d75b8854d73f4a64736f6c63430006060033"
+ var DeviationFlaggingValidatorBin = "0x608060405234801561001057600080fd5b50604051610a52380380610a528339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b03191633179055610060826001600160e01b0361007916565b610072816001600160e01b0361014116565b5050610215565b6000546001600160a01b031633146100d8576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6002546001600160a01b03908116908216811461013d57600280546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f900aa01828592ab069e4d44e7a36c70ebd476e35f567c7db6a691e503b8029d890600090a35b5050565b6000546001600160a01b031633146101a0576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b600154600160a01b900463ffffffff81169062ffffff83811691161461013d576001805463ffffffff60a01b191662ffffff848116600160a01b81029290921790925560405190918316907f985b87e809fd5992ec257eac36f25777ce308055dd9249a0182123d7b5d6633a90600090a35050565b61082e806102246000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063eed8a1de11610076578063f2c0ea921161005b578063f2c0ea92146101a5578063f2fde38b146101ad578063ffd93670146101d3576100be565b8063eed8a1de1461015d578063f19876951461017f576100be565b806379ba5097116100a757806379ba5097146101085780638da5cb5b14610112578063beed9b511461011a576100be565b80630910ce4a146100c357806364cc4aa5146100e4575b600080fd5b6100cb610202565b6040805163ffffffff9092168252519081900360200190f35b6100ec610215565b604080516001600160a01b039092168252519081900360200190f35b610110610224565b005b6100ec6102e7565b6101496004803603608081101561013057600080fd5b50803590602081013590604081013590606001356102f6565b604080519115158252519081900360200190f35b6101106004803603602081101561017357600080fd5b503562ffffff1661039a565b6101106004803603602081101561019557600080fd5b50356001600160a01b0316610487565b6100cb61055b565b610110600480360360208110156101c357600080fd5b50356001600160a01b0316610562565b610149600480360360808110156101e957600080fd5b508035906020810135906040810135906060013561061f565b600154600160a01b900463ffffffff1681565b6002546001600160a01b031681565b6001546001600160a01b03163314610283576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b600080543373ffffffffffffffffffffffffffffffffffffffff19808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000546001600160a01b031681565b60006103048585858561061f565b61038e57600254604080517fd74af26300000000000000000000000000000000000000000000000000000000815233600482015290516001600160a01b039092169163d74af2639160248082019260009290919082900301818387803b15801561036d57600080fd5b505af1158015610381573d6000803e3d6000fd5b5050505060009050610392565b5060015b949350505050565b6000546001600160a01b031633146103f9576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b600154600160a01b900463ffffffff81169062ffffff83811691161461048357600180547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff1662ffffff848116600160a01b81029290921790925560405190918316907f985b87e809fd5992ec257eac36f25777ce308055dd9249a0182123d7b5d6633a90600090a35b5050565b6000546001600160a01b031633146104e6576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6002546001600160a01b039081169082168114610483576002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907f900aa01828592ab069e4d44e7a36c70ebd476e35f567c7db6a691e503b8029d890600090a35050565b620186a081565b6000546001600160a01b031633146105c1576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60008361062e57506001610392565b600080610641868563ffffffff6106ca16565b909250905060008061065684620186a0610715565b909250905060008061066e848b63ffffffff61076d16565b9150915060008061067e846107bc565b9150915086801561068c5750845b80156106955750825b801561069e5750805b80156106b95750600154600160a01b900463ffffffff168211155b9d9c50505050505050505050505050565b60008082840381841280156106df5750848113155b806106f55750600084121580156106f557508481135b1561070757506000915081905061070e565b9150600190505b9250929050565b60008083610729575060009050600161070e565b8360001914801561073d5750600160ff1b83145b1561074d5750600090508061070e565b8383028385828161075a57fe5b051461070757506000915081905061070e565b600080826107805750600090508061070e565b826000191480156107945750600160ff1b84145b156107a45750600090508061070e565b60008385816107af57fe5b0595600195509350505050565b600080600083126107d2575081905060016107f3565b600160ff1b8314156107e9575060009050806107f3565b5050600081900360015b91509156fea2646970667358221220bbb9667518ae306ebfd112372f2179a222b6898246429e7c41338ec768f4550364736f6c63430006060033"
+ var FlagsBin = "0x608060405234801561001057600080fd5b506040516110ff3803806110ff8339818101604052602081101561003357600080fd5b5051600080546001600160a01b031916331790556001805460ff60a01b1916600160a01b17905561006c816001600160e01b0361007216565b5061013a565b6000546001600160a01b031633146100d1576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03908116908216811461013657600380546001600160a01b0319166001600160a01b0384811691821790925560405190918316907fbaf9ea078655a4fffefd08f9435677bbc91e457a6d015fe7de1d0e68b8802cac90600090a35b5050565b610fb6806101496000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80637d723cac11610097578063a118f24911610066578063a118f24914610427578063d74af2631461044d578063dc7f012414610473578063f2fde38b1461047b57610100565b80637d723cac146103315780638038e4a1146103f15780638823da6c146103f95780638da5cb5b1461041f57610100565b8063517e89fe116100d3578063517e89fe146101dd5780636b14daf814610203578063760bc82d146102b957806379ba50971461032957610100565b80630a75698314610105578063282865961461010f5780632e1d859c1461017f578063357e47fe146101a3575b600080fd5b61010d6104a1565b005b61010d6004803603602081101561012557600080fd5b81019060208101813564010000000081111561014057600080fd5b82018360208201111561015257600080fd5b8035906020019184602083028401116401000000008311171561017457600080fd5b509092509050610544565b610187610639565b604080516001600160a01b039092168252519081900360200190f35b6101c9600480360360208110156101b957600080fd5b50356001600160a01b0316610648565b604080519115158252519081900360200190f35b61010d600480360360208110156101f357600080fd5b50356001600160a01b03166106e7565b6101c96004803603604081101561021957600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561024457600080fd5b82018360208201111561025657600080fd5b8035906020019184600183028401116401000000008311171561027857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107b5945050505050565b61010d600480360360208110156102cf57600080fd5b8101906020810181356401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184602083028401116401000000008311171561031e57600080fd5b5090925090506107db565b61010d61086b565b6103a16004803603602081101561034757600080fd5b81019060208101813564010000000081111561036257600080fd5b82018360208201111561037457600080fd5b8035906020019184602083028401116401000000008311171561039657600080fd5b50909250905061092e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103dd5781810151838201526020016103c5565b505050509050019250505060405180910390f35b61010d610a79565b61010d6004803603602081101561040f57600080fd5b50356001600160a01b0316610b20565b610187610bf2565b61010d6004803603602081101561043d57600080fd5b50356001600160a01b0316610c01565b61010d6004803603602081101561046357600080fd5b50356001600160a01b0316610cd4565b6101c9610d36565b61010d6004803603602081101561049157600080fd5b50356001600160a01b0316610d46565b6000546001600160a01b031633146104f9576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600154600160a01b900460ff1615610542576001805460ff60a01b191690556040517f3be8a977a014527b50ae38adda80b56911c267328965c98ddc385d248f53963890600090a15b565b6000546001600160a01b0316331461059c576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b60005b818110156106345760008383838181106105b557fe5b602090810292909201356001600160a01b0316600081815260049093526040909220549192505060ff161561062b576001600160a01b038116600081815260046020526040808220805460ff19169055517fd86728e2e5cbaa28c1d357b5fbccc9c1ab0add09950eb7cac42df9acb24c4bc89190a25b5060010161059f565b505050565b6003546001600160a01b031681565b600061068b336000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506107b592505050565b6106c8576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b506001600160a01b031660009081526004602052604090205460ff1690565b6000546001600160a01b0316331461073f576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6003546001600160a01b0390811690821681146107b1576003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fbaf9ea078655a4fffefd08f9435677bbc91e457a6d015fe7de1d0e68b8802cac90600090a35b5050565b60006107c18383610dfc565b806107d457506001600160a01b03831632145b9392505050565b6107e3610e33565b610834576040805162461bcd60e51b815260206004820152601a60248201527f4e6f7420616c6c6f77656420746f20726169736520666c616773000000000000604482015290519081900360640190fd5b60005b818110156106345761086383838381811061084e57fe5b905060200201356001600160a01b0316610f14565b600101610837565b6001546001600160a01b031633146108ca576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b600080543373ffffffffffffffffffffffffffffffffffffffff19808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6060610971336000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506107b592505050565b6109ae576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b60608267ffffffffffffffff811180156109c757600080fd5b506040519080825280602002602001820160405280156109f1578160200160208202803683370190505b50905060005b83811015610a715760046000868684818110610a0f57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff16828281518110610a5957fe5b911515602092830291909101909101526001016109f7565b509392505050565b6000546001600160a01b03163314610ad1576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600154600160a01b900460ff16610542576001805460ff60a01b1916600160a01b1790556040517faebf329500988c6488a0074e5a0a9ff304561fc5c6fc877aeb1d59c8282c348090600090a1565b6000546001600160a01b03163314610b78576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205460ff1615610bef576001600160a01b038116600081815260026020908152604091829020805460ff19169055815192835290517f3d68a6fce901d20453d1a7aa06bf3950302a735948037deb182a8db66df2a0d19281900390910190a15b50565b6000546001600160a01b031681565b6000546001600160a01b03163314610c59576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205460ff16610bef576001600160a01b038116600081815260026020908152604091829020805460ff19166001179055815192835290517f87286ad1f399c8e82bf0c4ef4fcdc570ea2e1e92176e5c848b6413545b885db49281900390910190a150565b610cdc610e33565b610d2d576040805162461bcd60e51b815260206004820152601a60248201527f4e6f7420616c6c6f77656420746f20726169736520666c616773000000000000604482015290519081900360640190fd5b610bef81610f14565b600154600160a01b900460ff1681565b6000546001600160a01b03163314610d9e576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6001600160a01b03821660009081526002602052604081205460ff16806107d4575050600154600160a01b900460ff161592915050565b600080546001600160a01b0316331480610f0f5750600354604080517f6b14daf800000000000000000000000000000000000000000000000000000000815233600482018181526024830193845236604484018190526001600160a01b0390951694636b14daf894929360009391929190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015610ee257600080fd5b505afa158015610ef6573d6000803e3d6000fd5b505050506040513d6020811015610f0c57600080fd5b50515b905090565b6001600160a01b03811660009081526004602052604090205460ff16610bef576001600160a01b038116600081815260046020526040808220805460ff19166001179055517f881febd4cd194dd4ace637642862aef1fb59a65c7e5551a5d9208f268d11c0069190a25056fea2646970667358221220d2e33ad8151bf3bf266e09089e7e2544af46c45c5f640da73d101f22877440ea64736f6c63430006060033"
+ var FluxAggregatorBin = "0x60c06040523480156200001157600080fd5b5060405162004d4638038062004d4683398181016040526101008110156200003857600080fd5b815160208301516040808501516060860151608087015160a088015160c089015160e08a0180519651989a9799959894979396929591949391820192846401000000008211156200008857600080fd5b9083019060208201858111156200009e57600080fd5b8251640100000000811182820188101715620000b957600080fd5b82525081516020918201929091019080838360005b83811015620000e8578181015183820152602001620000ce565b50505050905090810190601f168015620001165780820380516001836020036101000a031916815260200191505b50604052505060008054336001600160a01b0319918216178255600280549091166001600160a01b038c16179055620001559150889080808a6200021f565b62000169856001600160e01b03620005fd16565b608084905260a08390526005805460ff191660ff8416179055805162000197906006906020840190620007e1565b50620001b88663ffffffff1642620006c760201b620031161790919060201c565b6000805260096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6c80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620008839650505050505050565b6000546001600160a01b031633146200027f576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6000620002946001600160e01b036200072a16565b60ff1690508463ffffffff168463ffffffff161015620002fb576040805162461bcd60e51b815260206004820152601960248201527f6d6178206d75737420657175616c2f657863656564206d696e00000000000000604482015290519081900360640190fd5b8363ffffffff168163ffffffff1610156200035d576040805162461bcd60e51b815260206004820152601760248201527f6d61782063616e6e6f742065786365656420746f74616c000000000000000000604482015290519081900360640190fd5b63ffffffff811615806200037c57508263ffffffff168163ffffffff16115b620003ce576040805162461bcd60e51b815260206004820152601960248201527f64656c61792063616e6e6f742065786365656420746f74616c00000000000000604482015290519081900360640190fd5b620003eb6001600160801b0387166001600160e01b036200073116565b600d546001600160801b031610156200044b576040805162461bcd60e51b815260206004820152601e60248201527f696e73756666696369656e742066756e647320666f72207061796d656e740000604482015290519081900360640190fd5b6000620004606001600160e01b036200072a16565b60ff161115620004c65760008563ffffffff1611620004c6576040805162461bcd60e51b815260206004820152601a60248201527f6d696e206d7573742062652067726561746572207468616e2030000000000000604482015290519081900360640190fd5b85600460006101000a8154816001600160801b0302191690836001600160801b0316021790555084600460146101000a81548163ffffffff021916908363ffffffff16021790555083600460106101000a81548163ffffffff021916908363ffffffff16021790555082600460186101000a81548163ffffffff021916908363ffffffff160217905550816004601c6101000a81548163ffffffff021916908363ffffffff1602179055508363ffffffff168563ffffffff16600460009054906101000a90046001600160801b03166001600160801b03167f56800c9d1ed723511246614d15e58cfcde15b6a33c245b5c961b689c1890fd8f8686604051808363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019250505060405180910390a4505050505050565b6000546001600160a01b031633146200065d576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6003546001600160a01b039081169082168114620006c357600380546001600160a01b0319166001600160a01b0384811691821790925560405190918316907fcfac5dc75b8d9a7e074162f59d9adcd33da59f0fe8dfb21580db298fc0fdad0d90600090a35b5050565b6000828211156200071f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b600c545b90565b600062000724600262000768620007506001600160e01b036200072a16565b60ff16856200077c60201b620039891790919060201c565b6200077c60201b620039891790919060201c565b6000826200078d5750600062000724565b828202828482816200079b57fe5b0414620007da5760405162461bcd60e51b815260040180806020018281038252602181526020018062004d256021913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082457805160ff191683800117855562000854565b8280016001018555821562000854579182015b828111156200085457825182559160200191906001019062000837565b506200086292915062000866565b5090565b6200072e91905b808211156200086257600081556001016200086d565b60805160a051614474620008b160003980610b185280610da7525080610aa35280611a0752506144746000f3fe608060405234801561001057600080fd5b50600436106102d35760003560e01c8063668a0f0211610186578063a4c0ed36116100e3578063c937450011610097578063e9ee6eeb11610071578063e9ee6eeb14610976578063f2fde38b146109a4578063feaf968c146109ca576102d3565b8063c937450014610940578063d4cc54e414610948578063e2e4031714610950576102d3565b8063b633620c116100c8578063b633620c146108ef578063c10753291461090c578063c35905c614610938576102d3565b8063a4c0ed361461084d578063b5ab58dc146108d2576102d3565b80638205bf6a1161013a5780638da5cb5b1161011f5780638da5cb5b146107b657806398e5b12a146107be5780639a6fc8f5146107e5576102d3565b80638205bf6a1461071b57806388aa80e714610723576102d3565b80637284e4161161016b5780637284e4161461068e57806379ba50971461070b5780637c2b0b2114610713576102d3565b8063668a0f021461067e57806370dea79a14610686576102d3565b806340884c521161023457806357970e93116101e8578063613d8fcc116101cd578063613d8fcc1461062a578063628806ef1461063257806364efb22b14610658576102d3565b806357970e931461061a57806358609e4414610622576102d3565b80634f8fc3b5116102195780634f8fc3b51461060257806350d25bcd1461060a57806354fd4d5014610612576102d3565b806340884c521461058657806346fcff4c146105de576102d3565b8063357ebb021161028b5780633969c20f116102705780633969c20f146104005780633a5381b51461052c5780633d3d771414610550576102d3565b8063357ebb021461039557806338aa4c72146103b6576102d3565b806320ed0275116102bc57806320ed02751461032357806323ca29031461035d578063313ce56714610377576102d3565b80631327d3d8146102d8578063202ee0ed14610300575b600080fd5b6102fe600480360360208110156102ee57600080fd5b50356001600160a01b03166109d2565b005b6102fe6004803603604081101561031657600080fd5b5080359060200135610a93565b6102fe6004803603606081101561033957600080fd5b5080356001600160a01b03169060208101351515906040013563ffffffff16610c65565b610365610da5565b60408051918252519081900360200190f35b61037f610dc9565b6040805160ff9092168252519081900360200190f35b61039d610dd2565b6040805163ffffffff9092168252519081900360200190f35b6102fe600480360360a08110156103cc57600080fd5b506001600160801b038135169063ffffffff6020820135811691604081013582169160608201358116916080013516610de5565b6102fe600480360360c081101561041657600080fd5b81019060208101813564010000000081111561043157600080fd5b82018360208201111561044357600080fd5b8035906020019184602083028401116401000000008311171561046557600080fd5b91939092909160208101903564010000000081111561048357600080fd5b82018360208201111561049557600080fd5b803590602001918460208302840111640100000000831117156104b757600080fd5b9193909290916020810190356401000000008111156104d557600080fd5b8201836020820111156104e757600080fd5b8035906020019184602083028401116401000000008311171561050957600080fd5b919350915063ffffffff8135811691602081013582169160409091013516611193565b610534611370565b604080516001600160a01b039092168252519081900360200190f35b6102fe6004803603606081101561056657600080fd5b506001600160a01b0381358116916020810135909116906040013561137f565b61058e611582565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ca5781810151838201526020016105b2565b505050509050019250505060405180910390f35b6105e66115e5565b604080516001600160801b039092168252519081900360200190f35b6102fe6115f4565b61036561172d565b610365611750565b610534611755565b61039d611764565b61037f611777565b6102fe6004803603602081101561064857600080fd5b50356001600160a01b031661177d565b6105346004803603602081101561066e57600080fd5b50356001600160a01b0316611870565b61036561189a565b61039d6118ae565b6106966118c1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156106d05781810151838201526020016106b8565b50505050905090810190601f1680156106fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fe61194f565b610365611a05565b610365611a29565b6107556004803603604081101561073957600080fd5b5080356001600160a01b0316906020013563ffffffff16611a60565b60408051981515895263ffffffff90971660208901528787019590955267ffffffffffffffff93841660608801529190921660808601526001600160801b0391821660a086015260ff1660c08501521660e083015251908190036101000190f35b610534611bc9565b6107c6611bd8565b6040805169ffffffffffffffffffff9092168252519081900360200190f35b61080e600480360360208110156107fb57600080fd5b503569ffffffffffffffffffff16611cf8565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6102fe6004803603606081101561086357600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561089357600080fd5b8201836020820111156108a557600080fd5b803590602001918460018302840111640100000000831117156108c757600080fd5b509092509050611e42565b610365600480360360208110156108e857600080fd5b5035611ea3565b6103656004803603602081101561090557600080fd5b5035611ed7565b6102fe6004803603604081101561092257600080fd5b506001600160a01b038135169060200135611f17565b6105e66120cc565b61039d6120db565b6105e66120ee565b6103656004803603602081101561096657600080fd5b50356001600160a01b0316612104565b6102fe6004803603604081101561098c57600080fd5b506001600160a01b0381358116916020013516612128565b6102fe600480360360208110156109ba57600080fd5b50356001600160a01b0316612212565b61080e6122bb565b6000546001600160a01b03163314610a2a576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6003546001600160a01b039081169082168114610a8f57600380546001600160a01b0319166001600160a01b0384811691821790925560405190918316907fcfac5dc75b8d9a7e074162f59d9adcd33da59f0fe8dfb21580db298fc0fdad0d90600090a35b5050565b6060610a9f33846122f5565b90507f0000000000000000000000000000000000000000000000000000000000000000821215610b16576040805162461bcd60e51b815260206004820152601e60248201527f76616c75652062656c6f77206d696e5375626d697373696f6e56616c75650000604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000821315610b8b576040805162461bcd60e51b815260206004820152601e60248201527f76616c75652061626f7665206d61785375626d697373696f6e56616c75650000604482015290519081900360640190fd5b8051819015610c185760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bdd578181015183820152602001610bc5565b50505050905090810190601f168015610c0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610c22836125aa565b610c2c8284612653565b600080610c3885612744565b91509150610c45856128a4565b610c4e856129f9565b8115610c5e57610c5e8582612a70565b5050505050565b6000546001600160a01b03163314610cbd576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b0383166000908152600b602052604090205460ff1615158215151415610ce957610da0565b8115610d2c576001600160a01b0383166000908152600b60205260409020805460ff19168315151764ffffffff00191661010063ffffffff841602179055610d55565b6001600160a01b0383166000908152600b60205260409020805468ffffffffffffffffff191690555b60408051831515815263ffffffff8316602082015281516001600160a01b038616927fc3df5a754e002718f2e10804b99e6605e7c701d95cec9552c7680ca2b6f2820a928290030190a25b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60055460ff1681565b600454600160c01b900463ffffffff1681565b6000546001600160a01b03163314610e3d576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6000610e47611777565b60ff1690508463ffffffff168463ffffffff161015610ead576040805162461bcd60e51b815260206004820152601960248201527f6d6178206d75737420657175616c2f657863656564206d696e00000000000000604482015290519081900360640190fd5b8363ffffffff168163ffffffff161015610f0e576040805162461bcd60e51b815260206004820152601760248201527f6d61782063616e6e6f742065786365656420746f74616c000000000000000000604482015290519081900360640190fd5b63ffffffff81161580610f2c57508263ffffffff168163ffffffff16115b610f7d576040805162461bcd60e51b815260206004820152601960248201527f64656c61792063616e6e6f742065786365656420746f74616c00000000000000604482015290519081900360640190fd5b610f8f866001600160801b0316612b82565b600d546001600160801b03161015610fee576040805162461bcd60e51b815260206004820152601e60248201527f696e73756666696369656e742066756e647320666f72207061796d656e740000604482015290519081900360640190fd5b6000610ff8611777565b60ff16111561105c5760008563ffffffff161161105c576040805162461bcd60e51b815260206004820152601a60248201527f6d696e206d7573742062652067726561746572207468616e2030000000000000604482015290519081900360640190fd5b85600460006101000a8154816001600160801b0302191690836001600160801b0316021790555084600460146101000a81548163ffffffff021916908363ffffffff16021790555083600460106101000a81548163ffffffff021916908363ffffffff16021790555082600460186101000a81548163ffffffff021916908363ffffffff160217905550816004601c6101000a81548163ffffffff021916908363ffffffff1602179055508363ffffffff168563ffffffff16600460009054906101000a90046001600160801b03166001600160801b03167f56800c9d1ed723511246614d15e58cfcde15b6a33c245b5c961b689c1890fd8f8686604051808363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019250505060405180910390a4505050505050565b6000546001600160a01b031633146111eb576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b60005b888110156112225761121a8a8a8381811061120557fe5b905060200201356001600160a01b0316612bb0565b6001016111ee565b50858414611277576040805162461bcd60e51b815260206004820181905260248201527f6e6565642073616d65206f7261636c6520616e642061646d696e20636f756e74604482015290519081900360640190fd5b604d61129487611285611777565b60ff169063ffffffff612d8916565b11156112e7576040805162461bcd60e51b815260206004820152601360248201527f6d6178206f7261636c657320616c6c6f77656400000000000000000000000000604482015290519081900360640190fd5b60005b8681101561133a5761133288888381811061130157fe5b905060200201356001600160a01b031687878481811061131d57fe5b905060200201356001600160a01b0316612dea565b6001016112ea565b50600454611365906001600160801b03811690859085908590600160e01b900463ffffffff16610de5565b505050505050505050565b6003546001600160a01b031681565b6001600160a01b038381166000908152600860205260409020600201546201000090041633146113f6576040805162461bcd60e51b815260206004820152601660248201527f6f6e6c792063616c6c61626c652062792061646d696e00000000000000000000604482015290519081900360640190fd5b6001600160a01b03831660009081526008602052604090205481906001600160801b03908116908216811015611473576040805162461bcd60e51b815260206004820152601f60248201527f696e73756666696369656e7420776974686472617761626c652066756e647300604482015290519081900360640190fd5b61148c6001600160801b0382168363ffffffff6130a716565b6001600160a01b038616600090815260086020526040902080546fffffffffffffffffffffffffffffffff19166001600160801b03928316179055600d546114dd91600160801b90910416836130a7565b600d80546001600160801b03928316600160801b029083161790556002546040805163a9059cbb60e01b81526001600160a01b03888116600483015293861660248201529051929091169163a9059cbb916044808201926020929091908290030181600087803b15801561155057600080fd5b505af1158015611564573d6000803e3d6000fd5b505050506040513d602081101561157a57600080fd5b5051610c5e57fe5b6060600c8054806020026020016040519081016040528092919081815260200182805480156115da57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115bc575b505050505090505b90565b600d546001600160801b031690565b6115fc61430d565b50604080518082018252600d546001600160801b038082168352600160801b90910416602080830182905260025484517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152945193946000946116c694936001600160a01b03909316926370a082319260248082019391829003018186803b15801561168e57600080fd5b505afa1580156116a2573d6000803e3d6000fd5b505050506040513d60208110156116b857600080fd5b50519063ffffffff61311616565b82519091506001600160801b03168114610a8f57600d80546fffffffffffffffffffffffffffffffff19166001600160801b03831617905560405181907ffe25c73e3b9089fac37d55c4c7efcba6f04af04cebd2fc4d6d7dbb07e1e5234f90600090a25050565b600754640100000000900463ffffffff1660009081526009602052604090205490565b600381565b6002546001600160a01b031681565b600454600160801b900463ffffffff1681565b600c5490565b6001600160a01b038181166000908152600860205260409020600301541633146117ee576040805162461bcd60e51b815260206004820152601e60248201527f6f6e6c792063616c6c61626c652062792070656e64696e672061646d696e0000604482015290519081900360640190fd5b6001600160a01b0381166000818152600860205260408082206003810180546001600160a01b0319169055600201805475ffffffffffffffffffffffffffffffffffffffff00001916336201000081029190911790915590519092917f0c5055390645c15a4be9a21b3f8d019153dcb4a0c125685da6eb84048e2fe90491a350565b6001600160a01b03808216600090815260086020526040902060020154620100009004165b919050565b600754640100000000900463ffffffff1690565b600454600160e01b900463ffffffff1681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156119475780601f1061191c57610100808354040283529160200191611947565b820191906000526020600020905b81548152906001019060200180831161192a57829003601f168201915b505050505081565b6001546001600160a01b031633146119ae576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b7f000000000000000000000000000000000000000000000000000000000000000081565b600754640100000000900463ffffffff16600090815260096020526040902060010154600160401b900467ffffffffffffffff1690565b600080808080808080333214611abd576040805162461bcd60e51b815260206004820152601660248201527f6f66662d636861696e2072656164696e67206f6e6c7900000000000000000000604482015290519081900360640190fd5b63ffffffff891615611ba25763ffffffff89166000908152600960209081526040808320600a909252909120611af38c8c61316d565b6001600160a01b038d1660009081526008602052604090206001908101548482015491840154600d548f9367ffffffffffffffff1691600160401b900463ffffffff16906001600160801b0316611b48611777565b600189015467ffffffffffffffff16611b6c576004546001600160801b0316611b82565b6001880154600160601b90046001600160801b03165b8363ffffffff169350995099509950995099509950995099505050611bbc565b611bab8a6131c3565b975097509750975097509750975097505b9295985092959890939650565b6000546001600160a01b031681565b336000908152600b602052604081205460ff16611c3c576040805162461bcd60e51b815260206004820152601860248201527f6e6f7420617574686f72697a6564207265717565737465720000000000000000604482015290519081900360640190fd5b60075463ffffffff16600081815260096020526040902060010154600160401b900467ffffffffffffffff16151580611c795750611c798161338f565b611cca576040805162461bcd60e51b815260206004820152601f60248201527f7072657620726f756e64206d75737420626520737570657273656461626c6500604482015290519081900360640190fd5b6000611ce163ffffffff8084169060019061341d16565b9050611cec81613480565b63ffffffff1691505090565b6000806000806000611d08614324565b5063ffffffff80871660009081526009602090815260409182902082516080810184528154815260019091015467ffffffffffffffff80821693830193909352600160401b810490921692810192909252600160801b90049091166060820181905215801590611d885750611d888769ffffffffffffffffffff16613558565b6040518060400160405280600f81526020017f4e6f20646174612070726573656e74000000000000000000000000000000000081525090611e0a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610bdd578181015183820152602001610bc5565b508051602082015160408301516060909301519899919867ffffffffffffffff91821698509216955063ffffffff9091169350915050565b8015611e95576040805162461bcd60e51b815260206004820181905260248201527f7472616e7366657220646f65736e2774206163636570742063616c6c64617461604482015290519081900360640190fd5b611e9d6115f4565b50505050565b6000611eae82613558565b15611ecf575063ffffffff8116600090815260096020526040902054611895565b506000919050565b6000611ee282613558565b15611ecf575063ffffffff8116600090815260096020526040902060010154600160401b900467ffffffffffffffff16611895565b6000546001600160a01b03163314611f6f576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600d546004546001600160801b03918216918391611f9e91611f919116612b82565b839063ffffffff61311616565b1015611ff1576040805162461bcd60e51b815260206004820152601a60248201527f696e73756666696369656e7420726573657276652066756e6473000000000000604482015290519081900360640190fd5b6002546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561204757600080fd5b505af115801561205b573d6000803e3d6000fd5b505050506040513d602081101561207157600080fd5b50516120c4576040805162461bcd60e51b815260206004820152601560248201527f746f6b656e207472616e73666572206661696c65640000000000000000000000604482015290519081900360640190fd5b610da06115f4565b6004546001600160801b031681565b600454600160a01b900463ffffffff1681565b600d54600160801b90046001600160801b031690565b6001600160a01b03166000908152600860205260409020546001600160801b031690565b6001600160a01b0382811660009081526008602052604090206002015462010000900416331461219f576040805162461bcd60e51b815260206004820152601660248201527f6f6e6c792063616c6c61626c652062792061646d696e00000000000000000000604482015290519081900360640190fd5b6001600160a01b0382811660008181526008602090815260409182902060030180546001600160a01b0319169486169485179055815133815290810193909352805191927fb79bf2e89c2d70dde91d2991fb1ea69b7e478061ad7c04ed5b02b96bc52b8104929081900390910190a25050565b6000546001600160a01b0316331461226a576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60008060008060006122e4600760049054906101000a900463ffffffff1663ffffffff16611cf8565b945094509450945094509091929394565b6001600160a01b03821660009081526008602052604090205460075460609163ffffffff600160801b9091048116911681612369576040518060400160405280601281526020017f6e6f7420656e61626c6564206f7261636c650000000000000000000000000000815250925050506125a4565b8363ffffffff168263ffffffff1611156123bc576040518060400160405280601681526020017f6e6f742079657420656e61626c6564206f7261636c6500000000000000000000815250925050506125a4565b6001600160a01b03851660009081526008602052604090205463ffffffff808616600160a01b90920416101561242b576040518060400160405280601881526020017f6e6f206c6f6e67657220616c6c6f776564206f7261636c650000000000000000815250925050506125a4565b6001600160a01b03851660009081526008602052604090205463ffffffff808616600160c01b9092041610612499576040518060400160405280602081526020017f63616e6e6f74207265706f7274206f6e2070726576696f757320726f756e6473815250925050506125a4565b8063ffffffff168463ffffffff16141580156124d557506124c563ffffffff8083169060019061341d16565b63ffffffff168463ffffffff1614155b80156124e857506124e68482613562565b155b1561252c576040518060400160405280601781526020017f696e76616c696420726f756e6420746f207265706f7274000000000000000000815250925050506125a4565b8363ffffffff1660011415801561255d575061255b61255663ffffffff808716906001906135c316565b613626565b155b156125a1576040518060400160405280601f81526020017f70726576696f757320726f756e64206e6f7420737570657273656461626c6500815250925050506125a4565b50505b92915050565b6125b381613661565b6125bc57612650565b3360009081526008602052604090205460045463ffffffff600160e01b909204821691600160c01b90910481168201908316118015906125fb57508015155b156126065750612650565b61260f82613692565b5033600090815260086020526040902080547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b63ffffffff8416021790555b50565b61265c81613853565b6126ad576040805162461bcd60e51b815260206004820152601f60248201527f726f756e64206e6f7420616363657074696e67207375626d697373696f6e7300604482015290519081900360640190fd5b63ffffffff81166000818152600a602090815260408083208054600180820183559185528385200187905533808552600890935281842080547fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b8702178155018690555190929185917f92e98423f8adac6e64d0608e519fd1cefb861498385c6dee70d58fc926ddc68c9190a45050565b63ffffffff8082166000908152600a6020526040812060018101549054919283926401000000009092041611156127805750600090508061289f565b63ffffffff83166000908152600a6020908152604080832080548251818502810185019093528083526127e6938301828280156127dc57602002820191906000526020600020905b8154815260200190600101908083116127c8575b5050505050613873565b63ffffffff851660008181526009602090815260409182902084815560010180546fffffffffffffffff00000000000000001916600160401b4267ffffffffffffffff8116919091029190911763ffffffff60801b1916600160801b8602179091556007805467ffffffff000000001916640100000000860217905582519081529151939450919284927f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f928290030190a36001925090505b915091565b63ffffffff81166000908152600a6020526040902060010154600160601b90046001600160801b03166128d561430d565b5060408051808201909152600d546001600160801b03808216808452600160801b90920416602083015261290f908363ffffffff6130a716565b6001600160801b039081168252602082015161293291168363ffffffff61392316565b6001600160801b0390811660208084018290528351600d8054600160801b9094029185166fffffffffffffffffffffffffffffffff19909416939093178416179091553360009081526008909152604090205461299691168363ffffffff61392316565b3360009081526008602052604080822080546fffffffffffffffffffffffffffffffff19166001600160801b03948516179055835190519216917ffe25c73e3b9089fac37d55c4c7efcba6f04af04cebd2fc4d6d7dbb07e1e5234f9190a2505050565b63ffffffff8082166000908152600a602052604090206001810154905491161115612a2357612650565b63ffffffff81166000908152600a6020526040812090612a43828261434b565b5060010180547fffffffff0000000000000000000000000000000000000000000000000000000016905550565b6003546001600160a01b031680612a875750610a8f565b6000612a9e63ffffffff808616906001906135c316565b63ffffffff80821660009081526009602090815260408083206001810154905482517fbeed9b51000000000000000000000000000000000000000000000000000000008152600160801b90920486166004830181905260248301829052958b166044830152606482018a90529151959650939490936001600160a01b0388169363beed9b5193620186a093608480850194929391928390030190829088803b158015612b4957600080fd5b5087f193505050508015612b6f57506040513d6020811015612b6a57600080fd5b505160015b612b7857612b7a565b505b505050505050565b60006125a46002612ba4612b94611777565b859060ff1663ffffffff61398916565b9063ffffffff61398916565b612bb9816139e2565b612c0a576040805162461bcd60e51b815260206004820152601260248201527f6f7261636c65206e6f7420656e61626c65640000000000000000000000000000604482015290519081900360640190fd5b600754612c239063ffffffff9081169060019061341d16565b6001600160a01b0382166000908152600860205260408120805463ffffffff93909316600160a01b0263ffffffff60a01b1990931692909217909155600c612c7d6001612c6e611777565b60ff169063ffffffff61311616565b81548110612c8757fe5b6000918252602080832091909101546001600160a01b0385811680855260089093526040808520600290810180549390941680875291862001805461ffff90931661ffff199384168117909155939094528154169055600c8054929350909183919083908110612cf357fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600c805480612d2c57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b038516907f18dd09695e4fbdae8d1a5edb11221eb04564269c29a089b9753a6535c54ba92e908390a3505050565b600082820183811015612de3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b612df3826139e2565b15612e45576040805162461bcd60e51b815260206004820152601660248201527f6f7261636c6520616c726561647920656e61626c656400000000000000000000604482015290519081900360640190fd5b6001600160a01b038116612ea0576040805162461bcd60e51b815260206004820152601560248201527f63616e6e6f74207365742061646d696e20746f20300000000000000000000000604482015290519081900360640190fd5b6001600160a01b03828116600090815260086020526040902060020154620100009004161580612ef557506001600160a01b038281166000908152600860205260409020600201546201000090048116908216145b612f46576040805162461bcd60e51b815260206004820152601c60248201527f6f776e65722063616e6e6f74206f76657277726974652061646d696e00000000604482015290519081900360640190fd5b612f4f82613a0d565b6001600160a01b03808416600081815260086020526040808220805463ffffffff60a01b1963ffffffff97909716600160801b0263ffffffff60801b19909116179590951677ffffffff0000000000000000000000000000000000000000178555600c80546002909601805461ffff90971661ffff19909716969096178655805460018181019092557fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b031916851790558383528554948716620100000275ffffffffffffffffffffffffffffffffffffffff000019909516949094179094559251919290917f18dd09695e4fbdae8d1a5edb11221eb04564269c29a089b9753a6535c54ba92e9190a3806001600160a01b0316826001600160a01b03167f0c5055390645c15a4be9a21b3f8d019153dcb4a0c125685da6eb84048e2fe90460405160405180910390a35050565b6000826001600160801b0316826001600160801b03161115613110576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082821115613110576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b63ffffffff811660009081526009602052604081206001015467ffffffffffffffff16156131b95761319e82613853565b80156131b257506131af83836122f5565b51155b90506125a4565b61319e8383613a70565b6001600160a01b0381166000908152600860205260408120600754815483928392839283928392839283927fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b929091849163ffffffff908116600160c01b909204161480613240575060075461323e9063ffffffff16613853565b155b6007549091506132559063ffffffff16613626565b801561325e5750805b156132b75760075461327c9063ffffffff9081169060019061341d16565b63ffffffff81166000908152600960205260409020600454919b506001600160801b03909116945092506132b08c8b613a70565b9a50613301565b60075463ffffffff166000818152600960209081526040808320600a90925290912060010154919b50600160601b9091046001600160801b0316945092506132fe8a613853565b9a505b61330b8c8b6122f5565b51156133165760009a505b6001808301548482015463ffffffff808e166000908152600a6020526040902090930154600d548f948f949367ffffffffffffffff1692600160401b900416906001600160801b0316613367611777565b8a8363ffffffff1693509a509a509a509a509a509a509a509a50505050919395975091939597565b63ffffffff8082166000908152600960209081526040808320600190810154600a9093529083200154919267ffffffffffffffff90911691600160401b90041681158015906133e4575060008163ffffffff16115b801561341557504261340967ffffffffffffffff841663ffffffff80851690613aba16565b67ffffffffffffffff16105b949350505050565b600082820163ffffffff8085169082161015612de3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b61348981613661565b61349257612650565b336000908152600b602052604090205463ffffffff65010000000000820481169161010090048116820190831611806134c9575080155b61351a576040805162461bcd60e51b815260206004820152601360248201527f6d7573742064656c617920726571756573747300000000000000000000000000604482015290519081900360640190fd5b61352382613692565b50336000908152600b60205260409020805463ffffffff8316650100000000000268ffffffff00000000001990911617905550565b63ffffffff101590565b60008163ffffffff1661358560018563ffffffff1661341d90919063ffffffff16565b63ffffffff16148015612de357505063ffffffff16600090815260096020526040902060010154600160401b900467ffffffffffffffff1615919050565b60008263ffffffff168263ffffffff161115613110576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b63ffffffff8116600090815260096020526040812060010154600160401b900467ffffffffffffffff161515806125a457506125a48261338f565b60075460009061367d9063ffffffff9081169060019061341d16565b63ffffffff168263ffffffff16149050919050565b6136af6136aa63ffffffff808416906001906135c316565b613b21565b6007805463ffffffff191663ffffffff83161790556136cc614369565b5060408051600060a0820181815260c083018452825260045463ffffffff600160801b82048116602080860191909152600160a01b8304821685870152600160e01b8304821660608601526001600160801b03909216608085015285168252600a815292902081518051929384936137479284920190614397565b5060208281015160019283018054604080870151606088015160809098015163ffffffff1990931663ffffffff9586161767ffffffff00000000191664010000000091861691909102176bffffffff00000000000000001916600160401b97851697909702969096177fffffffff00000000000000000000000000000000ffffffffffffffffffffffff16600160601b6001600160801b03909216919091021790558516600081815260098352849020909201805467ffffffffffffffff19164267ffffffffffffffff9081169190911791829055845191168152925133937f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac6027192908290030190a35050565b63ffffffff9081166000908152600a602052604090206001015416151590565b600081516000106138cb576040805162461bcd60e51b815260206004820152601660248201527f6c697374206d757374206e6f7420626520656d70747900000000000000000000604482015290519081900360640190fd5b8151600281046001821661390a576000806138f0866000600187036001870387613c01565b90925090506138ff8282613cdf565b945050505050611895565b61391a8460006001850384613d4d565b92505050611895565b60008282016001600160801b038085169082161015612de3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082613998575060006125a4565b828202828482816139a557fe5b0414612de35760405162461bcd60e51b815260040180806020018281038252602181526020018061441e6021913960400191505060405180910390fd5b6001600160a01b031660009081526008602052604090205463ffffffff600160a01b90910481161490565b60075460009063ffffffff168015801590613a4f57506001600160a01b03831660009081526008602052604090205463ffffffff828116600160a01b90920416145b15613a5b579050611895565b612de363ffffffff8083169060019061341d16565b6001600160a01b03821660009081526008602052604081205460045463ffffffff600160e01b909204821691600160c01b9091048116820190841611806134155750159392505050565b600082820167ffffffffffffffff8085169082161015612de3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b613b2a8161338f565b613b3357612650565b6000613b4a63ffffffff808416906001906135c316565b63ffffffff8181166000908152600960209081526040808320805488861685528285209081556001918201549101805463ffffffff60801b1916600160801b92839004909616909102949094176fffffffffffffffff00000000000000001916600160401b4267ffffffffffffffff160217909355600a9052908120919250613bd3828261434b565b5060010180547fffffffff000000000000000000000000000000000000000000000000000000001690555050565b600080828410613c1057600080fd5b838611158015613c205750848411155b613c2957600080fd5b828611158015613c395750848311155b613c4257600080fd5b60078686031015613c6357613c5a8787878787613dde565b91509150613cd5565b6000613c708888886141cb565b9050808411613c8157809550613ccf565b84811015613c9457806001019650613ccf565b808511158015613ca357508381105b613ca957fe5b613cb588888388613d4d565b9250613cc688826001018887613d4d565b9150613cd59050565b50613c42565b9550959350505050565b60008083128015613cf05750600082135b80613d065750600083138015613d065750600082125b15613d26576002613d1784846142a8565b81613d1e57fe5b0590506125a4565b6000600280850781850701059050613415613d4760028605600286056142a8565b826142a8565b600081841115613d5c57600080fd5b82821115613d6957600080fd5b82841015613dc05760078484031015613d95576000613d8b8686868687613dde565b5091506134159050565b6000613da28686866141cb565b9050808311613db357809350613dba565b8060010194505b50613d69565b848481518110613dcc57fe5b60200260200101519050949350505050565b600080600086866001010390506000888860000181518110613dfc57fe5b60200260200101519050600082600110613e1d576001600160ff1b03613e35565b898960010181518110613e2c57fe5b60200260200101515b9050600083600210613e4e576001600160ff1b03613e66565b8a8a60020181518110613e5d57fe5b60200260200101515b9050600084600310613e7f576001600160ff1b03613e97565b8b8b60030181518110613e8e57fe5b60200260200101515b9050600085600410613eb0576001600160ff1b03613ec8565b8c8c60040181518110613ebf57fe5b60200260200101515b9050600086600510613ee1576001600160ff1b03613ef9565b8d8d60050181518110613ef057fe5b60200260200101515b9050600087600610613f12576001600160ff1b03613f2a565b8e8e60060181518110613f2157fe5b60200260200101515b905085871315613f38579495945b83851315613f44579293925b81831315613f50579091905b84871315613f5c579395935b83861315613f68579294925b80831315613f7257915b84861315613f7e579394935b80821315613f8857905b82871315613f94579195915b81861315613fa0579094905b80851315613faa57935b82861315613fb6579194915b80841315613fc057925b82851315613fcc579193915b81841315613fd8579092905b82841315613fe4579192915b8d8c0380613ff457879a506140a7565b806001141561400557869a506140a7565b806002141561401657859a506140a7565b806003141561402757849a506140a7565b806004141561403857839a506140a7565b806005141561404957829a506140a7565b806006141561405a57819a506140a7565b6040805162461bcd60e51b815260206004820152601060248201527f6b31206f7574206f6620626f756e647300000000000000000000000000000000604482015290519081900360640190fd5b8e8c038d8d14156140c557508a9950613cd598505050505050505050565b806140dc5750969850613cd5975050505050505050565b80600114156140f75750959850613cd5975050505050505050565b80600214156141125750949850613cd5975050505050505050565b806003141561412d5750939850613cd5975050505050505050565b80600414156141485750929850613cd5975050505050505050565b80600514156141635750919850613cd5975050505050505050565b806006141561417e5750909850613cd5975050505050505050565b6040805162461bcd60e51b815260206004820152601060248201527f6b32206f7574206f6620626f756e647300000000000000000000000000000000604482015290519081900360640190fd5b60008084600285850104815181106141df57fe5b602002602001015190506001840393506001830192505b6001840193508085858151811061420957fe5b6020026020010151126141f6575b6001830392508085848151811061422a57fe5b602002602001015113614217578284101561429a5784838151811061424b57fe5b602002602001015185858151811061425f57fe5b602002602001015186868151811061427357fe5b6020026020010187868151811061428657fe5b6020908102919091010191909152526142a3565b82915050612de3565b6141f6565b60008282018183128015906142bd5750838112155b806142d257506000831280156142d257508381125b612de35760405162461bcd60e51b81526004018080602001828103825260218152602001806143fd6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b508054600082559060005260206000209081019061265091906143e2565b6040805160a08101825260608082526000602083018190529282018390528101829052608081019190915290565b8280548282559060005260206000209081019282156143d2579160200282015b828111156143d25782518255916020019190600101906143b7565b506143de9291506143e2565b5090565b6115e291905b808211156143de57600081556001016143e856fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bcde057c6622b2fe63919a8fb7b12fcd6cc0cfa5e4bdd4b7146bb38d63494de864736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77"
+ var KeeperConsumerBin = "0x60a060405234801561001057600080fd5b506040516103123803806103128339818101604052602081101561003357600080fd5b505160805242600155600080556080516102b861005a6000398061026052506102b86000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806361bc221a1161005057806361bc221a146100f85780636e04ff0d14610100578063947a36fb146101f157610067565b80633f3b3b271461006c5780634585e33b14610086575b600080fd5b6100746101f9565b60408051918252519081900360200190f35b6100f66004803603602081101561009c57600080fd5b8101906020810181356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b5090925090506101ff565b005b61007461020c565b6101706004803603602081101561011657600080fd5b81019060208101813564010000000081111561013157600080fd5b82018360208201111561014357600080fd5b8035906020019184600183028401116401000000008311171561016557600080fd5b509092509050610212565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101b557818101518382015260200161019d565b50505050905090810190601f1680156101e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61007461025e565b60015481565b5050600080546001019055565b60005481565b600060606001848481818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959a92995091975050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea26469706673582212205768b2f58ec7ea6a31ae74bb1caea54854c9685b70179012e865f191178e3c2364736f6c63430007060033"
+ var KeeperRegistryBin = "0x60e06040523480156200001157600080fd5b50604051620041023803806200410283398181016040526101408110156200003857600080fd5b5080516020820151604083015160608085015160808087015160a08089015160c0808b015160e08c01516101008d0151610120909d0151600080546001600160a01b0319163317905560016002556003805460ff191690556001600160601b03198d8b1b81169098528b8a1b88169095529789901b909516905297989697959693959194919390620000d087878787878787620000e0565b505050505050505050506200024c565b6000546001600160a01b0316331462000140576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6040805160a0808201835263ffffffff8a811680845262ffffff8b81166020808701829052938c16868801819052918b16606080880182905261ffff8c166080988901819052600b805463ffffffff1916871762ffffff60201b191664010000000086021763ffffffff60381b191667010000000000000087021762ffffff60581b19166b01000000000000000000000085021761ffff60701b1916600160701b8302179055600c8c9055600d8b90558951958652958501929092528388019290925282015292830152810184905260c0810183905290517feb3c06937e6595fd80ec1add18a195026d5cf65f122cc3ffedbfb18a9ed80b399160e0908290030190a150505050505050565b60805160601c60a05160601c60c05160601c613e58620002aa60003980610b3152806135a052508061173452806136665250806109f95280610d34528061123b52806112fe52806116b052806118be52806119655250613e586000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063a4c0ed361161010f578063c41b813a116100a2578063eb5dcd6c11610071578063eb5dcd6c14610913578063f2fde38b14610941578063faab9d3914610967578063fecf27c91461098d576101f0565b8063c41b813a1461069c578063c7c3a19a1461075c578063c80480221461084f578063da5c67411461086c576101f0565b8063b657bc9c116100de578063b657bc9c1461055d578063b79550be1461057a578063b7fdb43614610582578063c3f909d414610644576101f0565b8063a4c0ed361461047c578063a710b22114610501578063ad1783611461052f578063b121e14714610537576101f0565b8063744bfe61116101875780638456cb59116101565780638456cb59146104075780638da5cb5b1461040f57806393f0c1fc14610417578063948108f714610450576101f0565b8063744bfe611461030657806379ba5097146103325780637bbaf1ea1461033a57806382105f79146103b1576101f0565b80633f4ba83a116101c35780633f4ba83a146102d05780634584a419146102da5780634d3f7334146102e25780635c975abb146102ea576101f0565b806315a126ea146101f55780631b6b6d231461024d5780631e12b8a5146102715780632cb6864d146102c8575b600080fd5b6101fd610995565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610239578181015183820152602001610221565b505050509050019250505060405180910390f35b6102556109f7565b604080516001600160a01b039092168252519081900360200190f35b6102976004803603602081101561028757600080fd5b50356001600160a01b0316610a1b565b604080516001600160a01b03909416845291151560208401526001600160601b031682820152519081900360600190f35b6101fd610a76565b6102d8610acd565b005b610255610b2f565b610255610b53565b6102f2610b62565b604080519115158252519081900360200190f35b6102d86004803603604081101561031c57600080fd5b50803590602001356001600160a01b0316610b6b565b6102d8610ddb565b6102f26004803603604081101561035057600080fd5b8135919081019060408101602082013564010000000081111561037257600080fd5b82018360208201111561038457600080fd5b803590602001918460018302840111640100000000831117156103a657600080fd5b509092509050610e91565b6102d8600480360360e08110156103c757600080fd5b5063ffffffff813581169162ffffff60208201358116926040830135169160608101359091169061ffff6080820135169060a08101359060c00135610ee7565b6102d8611072565b6102556110d2565b6104346004803603602081101561042d57600080fd5b50356110e1565b604080516001600160601b039092168252519081900360200190f35b6102d86004803603604081101561046657600080fd5b50803590602001356001600160601b0316611117565b6102d86004803603606081101561049257600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104c257600080fd5b8201836020820111156104d457600080fd5b803590602001918460018302840111640100000000831117156104f657600080fd5b5090925090506112f3565b6102d86004803603604081101561051757600080fd5b506001600160a01b0381358116916020013516611505565b610255611732565b6102d86004803603602081101561054d57600080fd5b50356001600160a01b0316611756565b6104346004803603602081101561057357600080fd5b5035611837565b6102d8611862565b6102d86004803603604081101561059857600080fd5b8101906020810181356401000000008111156105b357600080fd5b8201836020820111156105c557600080fd5b803590602001918460208302840111640100000000831117156105e757600080fd5b91939092909160208101903564010000000081111561060557600080fd5b82018360208201111561061757600080fd5b8035906020019184602083028401116401000000008311171561063957600080fd5b509092509050611a0e565b61064c611dda565b6040805163ffffffff988916815262ffffff9788166020820152959097168588015292909416606084015261ffff16608083015260a082019290925260c081019190915290519081900360e00190f35b6106c8600480360360408110156106b257600080fd5b50803590602001356001600160a01b0316611e58565b6040518080602001868152602001858152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561071d578181015183820152602001610705565b50505050905090810190601f16801561074a5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6107796004803603602081101561077257600080fd5b5035612389565b60405180886001600160a01b031681526020018763ffffffff16815260200180602001866001600160601b03168152602001856001600160a01b03168152602001846001600160a01b031681526020018367ffffffffffffffff168152602001828103825287818151815260200191508051906020019080838360005b8381101561080e5781810151838201526020016107f6565b50505050905090810190601f16801561083b5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b6102d86004803603602081101561086557600080fd5b50356124e8565b6109016004803603608081101561088257600080fd5b6001600160a01b03823581169263ffffffff602082013516926040820135909216918101906080810160608201356401000000008111156108c257600080fd5b8201836020820111156108d457600080fd5b803590602001918460018302840111640100000000831117156108f657600080fd5b5090925090506126bc565b60408051918252519081900360200190f35b6102d86004803603604081101561092957600080fd5b506001600160a01b03813581169160200135166129e2565b6102d86004803603602081101561095757600080fd5b50356001600160a01b0316612b2c565b6102d86004803603602081101561097d57600080fd5b50356001600160a01b0316612bd5565b610901612ce9565b606060068054806020026020016040519081016040528092919081815260200182805480156109ed57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109cf575b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0390811660009081526008602090815260409182902082516060810184528154948516808252600160a01b9095046001600160601b031692810183905260019091015460ff16151592018290529192909190565b606060058054806020026020016040519081016040528092919081815260200182805480156109ed57602002820191906000526020600020905b815481526020019060010190808311610ab0575050505050905090565b6000546001600160a01b03163314610b25576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b610b2d612cef565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f546001600160a01b031690565b60035460ff1690565b806001600160a01b038116610bc7576040805162461bcd60e51b815260206004820152601b60248201527f63616e6e6f742073656e6420746f207a65726f20616464726573730000000000604482015290519081900360640190fd5b600083815260076020526040902060010154600160601b90046001600160a01b03163314610c3c576040805162461bcd60e51b815260206004820152601660248201527f6f6e6c792063616c6c61626c652062792061646d696e00000000000000000000604482015290519081900360640190fd5b6000838152600760205260409020600201544367ffffffffffffffff9091161115610cae576040805162461bcd60e51b815260206004820152601760248201527f75706b656570206d7573742062652063616e63656c6564000000000000000000604482015290519081900360640190fd5b600083815260076020526040902060010180546bffffffffffffffffffffffff198116909155600e546001600160601b0390911690610ced9082612d98565b600e55604080518281526001600160a01b0385166020820152815186927ff3b5906e5672f3e524854103bcafbbdba80dbdfeca2c35e116127b1060a68318928290030190a27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610da957600080fd5b505af1158015610dbd573d6000803e3d6000fd5b505050506040513d6020811015610dd357600080fd5b505050505050565b6001546001600160a01b03163314610e3a576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000610edf610eda338686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250612df5915050565b612e93565b949350505050565b6000546001600160a01b03163314610f3f576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6040805160a0808201835263ffffffff8a811680845262ffffff8b81166020808701829052938c16868801819052918b16606080880182905261ffff8c166080988901819052600b805463ffffffff1916871766ffffff0000000019166401000000008602176affffffff0000000000000019166701000000000000008702176dffffff000000000000000000000019166b0100000000000000000000008502177fffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffff16600160701b8302179055600c8c9055600d8b90558951958652958501929092528388019290925282015292830152810184905260c0810183905290517feb3c06937e6595fd80ec1add18a195026d5cf65f122cc3ffedbfb18a9ed80b399160e0908290030190a150505050505050565b6000546001600160a01b031633146110ca576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b610b2d6134dd565b6000546001600160a01b031681565b60008060006110ee61356d565b9150915060006110ff836000613732565b905061110c858284613769565b93505050505b919050565b60008281526007602052604090206002015467ffffffffffffffff90811614611187576040805162461bcd60e51b815260206004820152601560248201527f75706b656570206d757374206265206163746976650000000000000000000000604482015290519081900360640190fd5b6000828152600760205260409020600101546111ac906001600160601b031682613838565b600083815260076020526040902060010180546bffffffffffffffffffffffff19166001600160601b03928316179055600e546111ea9183166138a5565b600e55604080517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160601b038316604482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b15801561128357600080fd5b505af1158015611297573d6000803e3d6000fd5b505050506040513d60208110156112ad57600080fd5b5050604080516001600160601b03831681529051339184917fafd24114486da8ebfc32f3626dada8863652e187461aa74d4bfa7348915062039181900360200190a35050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611370576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c792063616c6c61626c65207468726f756768204c494e4b000000000000604482015290519081900360640190fd5b602081146113c5576040805162461bcd60e51b815260206004820152601560248201527f64617461206d7573742062652033322062797465730000000000000000000000604482015290519081900360640190fd5b6000828260208110156113d757600080fd5b503560008181526007602052604090206002015490915067ffffffffffffffff9081161461144c576040805162461bcd60e51b815260206004820152601560248201527f75706b656570206d757374206265206163746976650000000000000000000000604482015290519081900360640190fd5b600081815260076020526040902060010154611471906001600160601b031685613838565b600082815260076020526040902060010180546bffffffffffffffffffffffff19166001600160601b0392909216919091179055600e546114b290856138a5565b600e55604080516001600160601b038616815290516001600160a01b0387169183917fafd24114486da8ebfc32f3626dada8863652e187461aa74d4bfa7348915062039181900360200190a35050505050565b806001600160a01b038116611561576040805162461bcd60e51b815260206004820152601b60248201527f63616e6e6f742073656e6420746f207a65726f20616464726573730000000000604482015290519081900360640190fd5b6001600160a01b0383811660009081526008602090815260409182902082516060810184528154948516808252600160a01b9095046001600160601b0316928101929092526001015460ff1615159181019190915290331461160a576040805162461bcd60e51b815260206004820152601660248201527f6f6e6c792063616c6c61626c6520627920706179656500000000000000000000604482015290519081900360640190fd5b6001600160a01b0380851660009081526008602090815260409091208054909216909155810151600e54611646916001600160601b0316612d98565b600e81905550826001600160a01b031681602001516001600160601b0316856001600160a01b03167f9819093176a1851202c7bcfa46845809b4e47c261866550e94ed3775d2f406983360405180826001600160a01b0316815260200191505060405180910390a47f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb8483602001516040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160601b0316815260200192505050602060405180830381600087803b158015610da957600080fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b038181166000908152600960205260409020541633146117c4576040805162461bcd60e51b815260206004820152601f60248201527f6f6e6c792063616c6c61626c652062792070726f706f73656420706179656500604482015290519081900360640190fd5b6001600160a01b0381811660008181526008602090815260408083208054336001600160a01b031980831682179093556009909452828520805490921690915590519416939092849290917f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b39190a45050565b60008181526007602052604081205461185c90600160a01b900463ffffffff166110e1565b92915050565b6000546001600160a01b031633146118ba576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561192957600080fd5b505afa15801561193d573d6000803e3d6000fd5b505050506040513d602081101561195357600080fd5b5051600e549091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb903390611999908590612d98565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156119df57600080fd5b505af11580156119f3573d6000803e3d6000fd5b505050506040513d6020811015611a0957600080fd5b505050565b6000546001600160a01b03163314611a66576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b828114611aa45760405162461bcd60e51b8152600401808060200182810382526021815260200180613e026021913960400191505060405180910390fd5b6002831015611afa576040805162461bcd60e51b815260206004820152601260248201527f6e6f7420656e6f756768206b6565706572730000000000000000000000000000604482015290519081900360640190fd5b60005b600654811015611b4f57600060068281548110611b1657fe5b60009182526020808320909101546001600160a01b0316825260089052604090206001908101805460ff19169055919091019050611afd565b5060005b83811015611d33576000858583818110611b6957fe5b6001600160a01b036020918202939093013583166000818152600890925260408220805491955093169150868686818110611ba057fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b03161415611c045760405162461bcd60e51b8152600401808060200182810382526024815260200180613d9a6024913960400191505060405180910390fd5b6001600160a01b0382161580611c2b5750806001600160a01b0316826001600160a01b0316145b80611c3e57506001600160a01b03818116145b611c8f576040805162461bcd60e51b815260206004820152601360248201527f63616e6e6f74206368616e676520706179656500000000000000000000000000604482015290519081900360640190fd5b600183015460ff1615611ce9576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f7420616464206b6565706572207477696365000000000000000000604482015290519081900360640190fd5b6001838101805460ff191690911790556001600160a01b0381811614611d235782546001600160a01b0319166001600160a01b0382161783555b505060019092019150611b539050565b50611d4060068585613c5f565b507f056264c94f28bb06c99d13f0446eb96c67c215d8d707bce2655a98ddf1c0b71f848484846040518080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b6040805160a081018252600b5463ffffffff808216808452640100000000830462ffffff9081166020860181905267010000000000000085049093169585018690526b01000000000000000000000084041660608501819052600160701b90930461ffff166080909401849052600c54600d54919692959492909190565b6060600080600080611e68610b62565b15611eba576040805162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b611ec26138ff565b6000878152600a60209081526040808320905160248101928352815460026000196101006001841615020190911604604482018190527f6e04ff0d000000000000000000000000000000000000000000000000000000009391829160649091019084908015611f725780601f10611f4757610100808354040283529160200191611f72565b820191906000526020600020905b815481529060010190602001808311611f5557829003601f168201915b505060408051601f19818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090981697909717875260008f8152600790915281812054600b549251845194995091978897506001600160a01b03909116955063ffffffff6701000000000000009093049290921693508792909182918083835b6020831061203d5780518252601f19909201916020918201910161201e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038160008787f1925050503d80600081146120a0576040519150601f19603f3d011682016040523d82523d6000602084013e6120a5565b606091505b5091509150816121cc5760006120ba82613952565b905060008160405160200180807f63616c6c20746f20636865636b20746172676574206661696c65643a20000000815250601d0182805190602001908083835b602083106121195780518252601f1990920191602091820191016120fa565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183529384905262461bcd60e51b84526004840181815282516024860152825192975087965094508493604401925085019080838360005b83811015612191578181015183820152602001612179565b50505050905090810190601f1680156121be5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b8080602001905160408110156121e157600080fd5b81516020830180516040519294929383019291908464010000000082111561220857600080fd5b90830190602082018581111561221d57600080fd5b825164010000000081118282018810171561223757600080fd5b82525081516020918201929091019080838360005b8381101561226457818101518382015260200161224c565b50505050905090810190601f1680156122915780820380516001836020036101000a031916815260200191505b506040525050508099508193505050816122f2576040805162461bcd60e51b815260206004820152601160248201527f75706b656570206e6f74206e6565646564000000000000000000000000000000604482015290519081900360640190fd5b60006123018a8c8b6000612df5565b905061230c81612e93565b925082612360576040805162461bcd60e51b815260206004820152601d60248201527f63616c6c20746f20706572666f726d2075706b656570206661696c6564000000604482015290519081900360640190fd5b6060810151608082015160a083015160c0909301519a9d919c509a509098975095505050505050565b6000818152600760209081526040808320815160c08101835281546001600160a01b03808216808452600160a01b90920463ffffffff168387018190526001808601546001600160601b038116868901908152600160601b9091048416606080880191825260029889015467ffffffffffffffff811660808a019081526801000000000000000090910490961660a089019081528d8d52600a8c528a8d20935190519251965184548c51610100978216159790970260001901169a909a04601f81018d90048d0286018d01909b528a85528c9b919a8c9a8b9a8b9a8b9a919990989097969495919390918791908301828280156124c75780601f1061249c576101008083540402835291602001916124c7565b820191906000526020600020905b8154815290600101906020018083116124aa57829003601f168201915b50505050509450975097509750975097509750975050919395979092949650565b600081815260076020526040812060020154905467ffffffffffffffff918216918214906001600160a01b03163314818061253457508080156125345750438367ffffffffffffffff16115b612585576040805162461bcd60e51b815260206004820152601960248201527f746f6f206c61746520746f2063616e63656c2075706b65657000000000000000604482015290519081900360640190fd5b80806125b15750600084815260076020526040902060010154600160601b90046001600160a01b031633145b612602576040805162461bcd60e51b815260206004820152601360248201527f6f6e6c79206f776e6572206f722061646d696e00000000000000000000000000604482015290519081900360640190fd5b4381612616576126138160326138a5565b90505b6000858152600760205260409020600201805467ffffffffffffffff191667ffffffffffffffff8316179055821561267e57600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018590555b60405167ffffffffffffffff82169086907f91cb3bb75cfbd718bbfccc56b7f53d92d7048ef4ca39a3b7b7c6d4af1f79118190600090a35050505050565b600080546001600160a01b03163314806126e05750600f546001600160a01b031633145b61271b5760405162461bcd60e51b8152600401808060200182810382526023815260200180613dbe6023913960400191505060405180910390fd5b61272d866001600160a01b0316613a69565b61277e576040805162461bcd60e51b815260206004820152601860248201527f746172676574206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b6108fc8563ffffffff1610156127db576040805162461bcd60e51b815260206004820152600f60248201527f6d696e2067617320697320323330300000000000000000000000000000000000604482015290519081900360640190fd5b622625a08563ffffffff161115612839576040805162461bcd60e51b815260206004820152601260248201527f6d61782067617320697320323530303030300000000000000000000000000000604482015290519081900360640190fd5b506004546040805160c0810182526001600160a01b03808916825263ffffffff808916602080850191825260008587018181528b86166060880190815267ffffffffffffffff6080890181815260a08a018581528c8652600787528b86209a518b549851909916600160a01b027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff998b166001600160a01b03199099169890981798909816969096178955915160018901805492518916600160601b026001600160601b039283166bffffffffffffffffffffffff1990941693909317909116919091179055925160029096018054945190951668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff9690931667ffffffffffffffff19909416939093179490941617909155600a90915220612987908484613cc2565b506004805460010190556040805163ffffffff871681526001600160a01b0386166020820152815183927fbae366358c023f887e791d7a62f2e4316f1026bd77f6fb49501a917b3bc5d012928290030190a295945050505050565b6001600160a01b03828116600090815260086020526040902054163314612a50576040805162461bcd60e51b815260206004820152601660248201527f6f6e6c792063616c6c61626c6520627920706179656500000000000000000000604482015290519081900360640190fd5b6001600160a01b038116331415612aae576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6001600160a01b03828116600090815260096020526040902054811690821614612b28576001600160a01b0382811660008181526009602052604080822080546001600160a01b0319169486169485179055513392917f84f7c7c80bb8ed2279b4aab5f61cd05e6374073d38f46d7f32de8c30e9e3836791a45b5050565b6000546001600160a01b03163314612b84576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000546001600160a01b0316331480612bf85750600f546001600160a01b031633145b612c335760405162461bcd60e51b8152600401808060200182810382526023815260200180613dbe6023913960400191505060405180910390fd5b600f546001600160a01b03908116908216811415612c98576040805162461bcd60e51b815260206004820152600e60248201527f53616d6520726567697374726172000000000000000000000000000000000000604482015290519081900360640190fd5b600f80546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f9bf4a5b30267728df68663e14adb47e559863967c419dc6030638883408bed2e90600090a35050565b60045490565b612cf7610b62565b612d48576040805162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015290519081900360640190fd5b6003805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612d7b613a6f565b604080516001600160a01b039092168252519081900360200190a1565b600082821115612def576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b612dfd613d3e565b600084815260076020526040812054600160a01b900463ffffffff169080612e2361356d565b915091506000612e338387613732565b90506000612e42858385613769565b6040805160e0810182526001600160a01b038d168152602081018c90529081018a90526001600160601b03909116606082015260808101959095525060a084015260c0830152509050949350505050565b6000600280541415612eec576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600280556020820151612efe81613a73565b82516001600160a01b031660009081526008602052604090206001015460ff16612f6f576040805162461bcd60e51b815260206004820152601360248201527f6f6e6c7920616374697665206b65657065727300000000000000000000000000604482015290519081900360640190fd5b602083810151600090815260078252604090819020815160c08101835281546001600160a01b038082168352600160a01b90910463ffffffff169482019490945260018201546001600160601b038116938201849052600160601b9004841660608083019190915260029092015467ffffffffffffffff8116608083015268010000000000000000900490931660a08401528501511115613057576040805162461bcd60e51b815260206004820152601260248201527f696e73756666696369656e742066756e64730000000000000000000000000000604482015290519081900360640190fd5b83600001516001600160a01b03168160a001516001600160a01b031614156130c6576040805162461bcd60e51b815260206004820152601760248201527f6b656570657273206d7573742074616b65207475726e73000000000000000000604482015290519081900360640190fd5b60005a90506000634585e33b60e01b86604001516040516024018080602001828103825283818151815260200191508051906020019080838360005b8381101561311a578181015183820152602001613102565b50505050905090810190601f1680156131475780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090961695909517909452505050608087015184519192506131be9183613ae7565b94505a8203915060006131da838860a001518960c00151613769565b60408501519091506131f5906001600160601b031682613b33565b84604001906001600160601b031690816001600160601b03168152505086600001518460a001906001600160a01b031690816001600160a01b03168152505083600760008960200151815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160010160006101000a8154816001600160601b0302191690836001600160601b03160217905550606082015181600101600c6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160020160086101000a8154816001600160a01b0302191690836001600160a01b0316021790555090505060006133b682600860008b600001516001600160a01b03166001600160a01b0316815260200190815260200160002060000160149054906101000a90046001600160601b03166001600160601b031661383890919063ffffffff16565b905080600860008a600001516001600160a01b03166001600160a01b0316815260200190815260200160002060000160146101000a8154816001600160601b0302191690836001600160601b0316021790555087600001516001600160a01b031687151589602001517fcaacad83e47cc45c280d487ec84184eee2fa3b54ebaa393bda7549f13da228f6858c6040015160405180836001600160601b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561349257818101518382015260200161347a565b50505050905090810190601f1680156134bf5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a45050505050506001600255919050565b6134e5610b62565b15613537576040805162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6003805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612d7b613a6f565b6000806000600b600001600b9054906101000a900462ffffff1662ffffff1690506000808263ffffffff161190506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156135f757600080fd5b505afa15801561360b573d6000803e3d6000fd5b505050506040513d60a081101561362157600080fd5b5060208101516060909101519250905082801561364557508142038463ffffffff16105b80613651575060008113155b1561366057600c549550613664565b8095505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156136bd57600080fd5b505afa1580156136d1573d6000803e3d6000fd5b505050506040513d60a08110156136e757600080fd5b5060208101516060909101519250905082801561370b57508142038463ffffffff16105b80613717575060008113155b1561372657600d54945061372a565b8094505b505050509091565b600b5460009061374e908490600160701b900461ffff16613b9c565b905081801561375c5750803a105b1561185c57503a92915050565b60008061378361377c86620138806138a5565b8590613b9c565b600b549091506000906137a590633b9aca009063ffffffff908116906138a516565b905060006137cb856137c5846137bf87633b9aca00613b9c565b90613b9c565b90613bf5565b90506b033b2e3c9fd0803ce800000081111561382e576040805162461bcd60e51b815260206004820152601d60248201527f7061796d656e742067726561746572207468616e20616c6c204c494e4b000000604482015290519081900360640190fd5b9695505050505050565b60008282016001600160601b03808516908216101561389e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008282018381101561389e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3215610b2d576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920666f722073696d756c61746564206261636b656e64000000000000604482015290519081900360640190fd5b6060604482511015613998575060408051808201909152601d81527f7472616e73616374696f6e2072657665727465642073696c656e746c790000006020820152611112565b60048201805190926024019060208110156139b257600080fd5b81019080805160405193929190846401000000008211156139d257600080fd5b9083019060208201858111156139e757600080fd5b8251640100000000811182820188101715613a0157600080fd5b82525081516020918201929091019080838360005b83811015613a2e578181015183820152602001613a16565b50505050905090810190601f168015613a5b5780820380516001836020036101000a031916815260200191505b506040525050509050919050565b3b151590565b3390565b6000818152600760205260409020600201544367ffffffffffffffff90911611613ae4576040805162461bcd60e51b815260206004820152601160248201527f696e76616c69642075706b656570206964000000000000000000000000000000604482015290519081900360640190fd5b50565b60005a611388811015613af957600080fd5b611388810390508460408204820311613b1157600080fd5b50823b613b1d57600080fd5b60008083516020850160008789f1949350505050565b6000826001600160601b0316826001600160601b03161115612def576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b600082613bab5750600061185c565b82820282848281613bb857fe5b041461389e5760405162461bcd60e51b8152600401808060200182810382526021815260200180613de16021913960400191505060405180910390fd5b6000808211613c4b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613c5657fe5b04949350505050565b828054828255906000526020600020908101928215613cb2579160200282015b82811115613cb25781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190613c7f565b50613cbe929150613d84565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613cf85760008555613cb2565b82601f10613d115782800160ff19823516178555613cb2565b82800160010185558215613cb2579182015b82811115613cb2578235825591602001919060010190613d23565b6040518060e0016040528060006001600160a01b031681526020016000815260200160608152602001600081526020016000815260200160008152602001600081525090565b5b80821115613cbe5760008155600101613d8556fe63616e6e6f742073657420706179656520746f20746865207a65726f20616464726573734f6e6c792063616c6c61626c65206279206f776e6572206f7220726567697374726172536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646472657373206c69737473206e6f74207468652073616d65206c656e677468a2646970667358221220bd385ac4fd703f32e924037104bb429d978b3190d421aa1c5397eed097e20fa064736f6c63430007060033"
+ var LinkTokenBin = "0x608060405234801561001057600080fd5b503360009081526001602052604090206b033b2e3c9fd0803ce80000009055610aca8061003e6000396000f3006080604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be578063095ea7b31461014857806318160ddd1461018057806323b872dd146101a7578063313ce567146101d15780634000aea0146101fc578063661884631461026557806370a082311461028957806395d89b41146102aa578063a9059cbb146102bf578063d73dd623146102e3578063dd62ed3e14610307575b600080fd5b3480156100ca57600080fd5b506100d361032e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010d5781810151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015457600080fd5b5061016c600160a060020a0360043516602435610365565b604080519115158252519081900360200190f35b34801561018c57600080fd5b506101956103a6565b60408051918252519081900360200190f35b3480156101b357600080fd5b5061016c600160a060020a03600435811690602435166044356103b6565b3480156101dd57600080fd5b506101e66103f9565b6040805160ff9092168252519081900360200190f35b34801561020857600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261016c948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506103fe9650505050505050565b34801561027157600080fd5b5061016c600160a060020a0360043516602435610438565b34801561029557600080fd5b50610195600160a060020a0360043516610528565b3480156102b657600080fd5b506100d3610543565b3480156102cb57600080fd5b5061016c600160a060020a036004351660243561057a565b3480156102ef57600080fd5b5061016c600160a060020a03600435166024356105b3565b34801561031357600080fd5b50610195600160a060020a036004358116906024351661064c565b60408051808201909152601481527f5465737420436861696e4c696e6b20546f6b656e000000000000000000000000602082015281565b600082600160a060020a038116158015906103895750600160a060020a0381163014155b151561039457600080fd5b61039e8484610677565b949350505050565b6b033b2e3c9fd0803ce800000081565b600082600160a060020a038116158015906103da5750600160a060020a0381163014155b15156103e557600080fd5b6103f08585856106dd565b95945050505050565b601281565b600083600160a060020a038116158015906104225750600160a060020a0381163014155b151561042d57600080fd5b6103f08585856107e9565b336000908152600260209081526040808320600160a060020a03861684529091528120548083111561048d57336000908152600260209081526040808320600160a060020a03881684529091528120556104c2565b61049d818463ffffffff6108ce16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60408051808201909152600881527f546573744c494e4b000000000000000000000000000000000000000000000000602082015281565b600082600160a060020a0381161580159061059e5750600160a060020a0381163014155b15156105a957600080fd5b61039e84846108e0565b336000908152600260209081526040808320600160a060020a03861684529091528120546105e7908363ffffffff61099016565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600160a060020a0383166000818152600260209081526040808320338452825280832054938352600190915281205490919061071f908463ffffffff6108ce16565b600160a060020a038087166000908152600160205260408082209390935590861681522054610754908463ffffffff61099016565b600160a060020a03851660009081526001602052604090205561077d818463ffffffff6108ce16565b600160a060020a03808716600081815260026020908152604080832033845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001949350505050565b60006107f584846108e0565b5083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610870578181015183820152602001610858565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a36108b4846109a3565b156108c4576108c48484846109ab565b5060019392505050565b6000828211156108da57fe5b50900390565b33600090815260016020526040812054610900908363ffffffff6108ce16565b3360009081526001602052604080822092909255600160a060020a03851681522054610932908363ffffffff61099016565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b8181018281101561099d57fe5b92915050565b6000903b1190565b6040517fa4c0ed360000000000000000000000000000000000000000000000000000000081523360048201818152602483018590526060604484019081528451606485015284518794600160a060020a0386169463a4c0ed369490938993899360840190602085019080838360005b83811015610a32578181015183820152602001610a1a565b50505050905090810190601f168015610a5f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610a8057600080fd5b505af1158015610a94573d6000803e3d6000fd5b50505050505050505600a165627a7a723058208085a47cc660078508d54bde0a9f5906b80c8cb18dc2793c38fb72ebaffed91d0029"
+ var MockETHLINKAggregatorBin = "0x608060405234801561001057600080fd5b506040516102b93803806102b983398101604081905261002f91610037565b60005561004f565b600060208284031215610048578081fd5b5051919050565b61025b8061005e6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806385bb7d691161005057806385bb7d69146100bf5780639a6fc8f5146100c7578063feaf968c146100eb57610072565b8063313ce5671461007757806354fd4d50146100955780637284e416146100aa575b600080fd5b61007f6100f3565b60405161008c9190610217565b60405180910390f35b61009d6100f8565b60405161008c9190610188565b6100b26100fd565b60405161008c9190610191565b61009d610134565b6100da6100d5366004610157565b61013a565b60405161008c9594939291906101e4565b6100da610149565b601290565b600190565b60408051808201909152601581527f4d6f636b4554484c494e4b41676772656761746f720000000000000000000000602082015290565b60005481565b50600190600090429081908490565b600160004280839091929394565b600060208284031215610168578081fd5b813569ffffffffffffffffffff81168114610181578182fd5b9392505050565b90815260200190565b6000602080835283518082850152825b818110156101bd578581018301518582016040015282016101a1565b818111156101ce5783604083870101525b50601f01601f1916929092016040019392505050565b69ffffffffffffffffffff9586168152602081019490945260408401929092526060830152909116608082015260a00190565b60ff9190911681526020019056fea264697066735822122080814d8ca7ef6cbb0a04ffa4fe011bb095d46824942c45080b483b7e4ab1183f64736f6c63430008000033"
+ var MockGASAggregatorBin = "0x608060405234801561001057600080fd5b506040516102b93803806102b983398101604081905261002f91610037565b60005561004f565b600060208284031215610048578081fd5b5051919050565b61025b8061005e6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806385bb7d691161005057806385bb7d69146100bf5780639a6fc8f5146100c7578063feaf968c146100eb57610072565b8063313ce5671461007757806354fd4d50146100955780637284e416146100aa575b600080fd5b61007f6100f3565b60405161008c9190610217565b60405180910390f35b61009d6100f8565b60405161008c9190610188565b6100b26100fd565b60405161008c9190610191565b61009d610134565b6100da6100d5366004610157565b61013a565b60405161008c9594939291906101e4565b6100da610149565b601290565b600190565b60408051808201909152601181527f4d6f636b47415341676772656761746f72000000000000000000000000000000602082015290565b60005481565b50600190600090429081908490565b600160004280839091929394565b600060208284031215610168578081fd5b813569ffffffffffffffffffff81168114610181578182fd5b9392505050565b90815260200190565b6000602080835283518082850152825b818110156101bd578581018301518582016040015282016101a1565b818111156101ce5783604083870101525b50601f01601f1916929092016040019392505050565b69ffffffffffffffffffff9586168152602081019490945260408401929092526060830152909116608082015260a00190565b60ff9190911681526020019056fea26469706673582212204fba300a22a36bb8a9fd7ca0b855f21f7e63c0c1ee4055d89ba6ef2ec9434e6764736f6c63430008000033"
+ var OffchainAggregatorBin = "0x6101006040523480156200001257600080fd5b50604051620050ef380380620050ef83398181016040526101808110156200003957600080fd5b815160208301516040808501516060860151608087015160a088015160c089015160e08a01516101008b01516101208c01516101408d01516101608e0180519a519c9e9b9d999c989b979a969995989497939692959194939182019284640100000000821115620000a957600080fd5b908301906020820185811115620000bf57600080fd5b8251640100000000811182820188101715620000da57600080fd5b82525081516020918201929091019080838360005b8381101562000109578181015183820152602001620000ef565b50505050905090810190601f168015620001375780820380516001836020036101000a031916815260200191505b506040525050600080546001600160a01b03191633179055508b8b8b8b8b8b8962000166878787878762000294565b620001718162000386565b6001600160601b0319606083901b166080526200018d6200061d565b620001976200061d565b60005b601f8160ff161015620001e7576001838260ff16601f8110620001b957fe5b61ffff909216602092909202015260018260ff8316601f8110620001d957fe5b60200201526001016200019a565b50620001f7600483601f6200063c565b5062000207600882601f620006d9565b505050505060f887901b7fff000000000000000000000000000000000000000000000000000000000000001660e05250508351620002509350602f92506020850191506200070a565b506200025c83620003ff565b62000269600080620004d7565b50505050601791820b820b604090811b60a05290820b90910b901b60c05250620007a3945050505050565b6040805160a0808201835263ffffffff88811680845288821660208086018290528984168688018190528985166060808901829052958a1660809889018190526002805463ffffffff1916871763ffffffff60201b191664010000000087021763ffffffff60401b19166801000000000000000085021763ffffffff60601b19166c0100000000000000000000000084021763ffffffff60801b1916600160801b830217905589519586529285019390935283880152928201529283015291517fd0d9486a2c673e2a4b57fc82e4c8a556b3e2b82dd5db07e2c04a920ca0f469b6929181900390910190a15050505050565b6003546001600160a01b039081169082168114620003fb57600380546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f793cb73064f3c8cde7e187ae515511e6e56d1ee89bf08b82fa60fb70f8d489129281900390910190a15b5050565b6000546001600160a01b031633146200045f576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b602e546001600160a01b039081169082168114620003fb57602e80546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f27b89aede8b560578baaa25ee5ce3852c5eecad1e114b941bbd89e1eb4bae6349281900390910190a15050565b6000546001600160a01b0316331462000537576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b60408051808201909152602d546001600160a01b03808216808452600160a01b90920463ffffffff16602084015284161415806200058557508163ffffffff16816020015163ffffffff1614155b1562000618576040805180820182526001600160a01b0385811680835263ffffffff8681166020948501819052602d80546001600160a01b031916841763ffffffff60a01b1916600160a01b8302179055865187860151875193168352948201528451919493909216927fb04e3a37abe9c0fcdfebdeae019a8e2b12ddf53f5d55ffb0caccc1bedaca1541928290030190a35b505050565b604051806103e00160405280601f906020820280368337509192915050565b600283019183908215620006c75791602002820160005b838211156200069557835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030262000653565b8015620006c55782816101000a81549061ffff021916905560020160208160010104928301926001030262000695565b505b50620006d59291506200078c565b5090565b82601f8101928215620006c7579160200282015b82811115620006c7578251825591602001919060010190620006ed565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620007425760008555620006c7565b82601f106200075d57805160ff1916838001178555620006c7565b82800160010185558215620006c75791820182811115620006c7578251825591602001919060010190620006ed565b5b80821115620006d557600081556001016200078d565b60805160601c60a05160401c60c05160401c60e05160f81c6148e76200080860003980610d505250806115835280612e73525080610cc55280612e46525080610ca152806122255280612315528061323c528061390e5280613d6552506148e76000f3fe608060405234801561001057600080fd5b50600436106102ad5760003560e01c80638e0566de1161017b578063c1075329116100d8578063eb4571631161008c578063f2fde38b11610071578063f2fde38b14610adf578063fbffd2c114610b05578063feaf968c14610b2b576102ad565b8063eb45716314610a7f578063eb5dcd6c14610ab1576102ad565b8063d09dc339116100bd578063d09dc339146109df578063e4902f82146109e7578063e5fe457714610a24576102ad565b8063c10753291461089f578063c9807539146108cb576102ad565b80639e3ceeab1161012f578063b5ab58dc11610114578063b5ab58dc14610820578063b633620c1461083d578063bd8247061461085a576102ad565b80639e3ceeab146107d4578063b121e147146107fa576102ad565b8063996e829811610160578063996e8298146106975780639a6fc8f51461069f5780639c849b3014610712576102ad565b80638e0566de1461064057806398e5b12a14610670576102ad565b8063668a0f021161022957806381411834116101dd5780638205bf6a116101c25780638205bf6a1461060a5780638ac28d5a146106125780638da5cb5b14610638576102ad565b8063814118341461057057806381ff7048146105c8576102ad565b806370efdf2d1161020e57806370efdf2d146105585780637284e4161461056057806379ba509714610568576102ad565b8063668a0f021461054857806370da2f6714610550576102ad565b8063299372681161028057806350d25bcd1161026557806350d25bcd1461040957806354fd4d5014610411578063585aa7de14610419576102ad565b806329937268146103aa578063313ce567146103eb576102ad565b80630eafb25b146102b2578063181f5a77146102ea5780631b6b6d231461036757806322adbc781461038b575b600080fd5b6102d8600480360360208110156102c857600080fd5b50356001600160a01b0316610b33565b60408051918252519081900360200190f35b6102f2610c68565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561032c578181015183820152602001610314565b50505050905090810190601f1680156103595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61036f610c9f565b604080516001600160a01b039092168252519081900360200190f35b610393610cc3565b6040805160179290920b8252519081900360200190f35b6103b2610ce7565b6040805163ffffffff96871681529486166020860152928516848401529084166060840152909216608082015290519081900360a00190f35b6103f3610d4e565b6040805160ff9092168252519081900360200190f35b6102d8610d72565b6102d8610d9b565b610546600480360360a081101561042f57600080fd5b81019060208101813564010000000081111561044a57600080fd5b82018360208201111561045c57600080fd5b8035906020019184602083028401116401000000008311171561047e57600080fd5b91939092909160208101903564010000000081111561049c57600080fd5b8201836020820111156104ae57600080fd5b803590602001918460208302840111640100000000831117156104d057600080fd5b9193909260ff8335169267ffffffffffffffff60208201351692919060608101906040013564010000000081111561050757600080fd5b82018360208201111561051957600080fd5b8035906020019184600183028401116401000000008311171561053b57600080fd5b509092509050610da0565b005b6102d861156e565b610393611581565b61036f6115a5565b6102f26115b4565b61054661164a565b610578611700565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105b457818101518382015260200161059c565b505050509050019250505060405180910390f35b6105d0611761565b6040805163ffffffff94851681529290931660208301526fffffffffffffffffffffffffffffffff19168183015290519081900360600190f35b6102d8611782565b6105466004803603602081101561062857600080fd5b50356001600160a01b03166117b5565b61036f61182f565b61064861183e565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b610678611871565b6040805169ffffffffffffffffffff9092168252519081900360200190f35b61036f611a4d565b6106c8600480360360208110156106b557600080fd5b503569ffffffffffffffffffff16611a5c565b604051808669ffffffffffffffffffff1681526020018581526020018481526020018381526020018269ffffffffffffffffffff1681526020019550505050505060405180910390f35b6105466004803603604081101561072857600080fd5b81019060208101813564010000000081111561074357600080fd5b82018360208201111561075557600080fd5b8035906020019184602083028401116401000000008311171561077757600080fd5b91939092909160208101903564010000000081111561079557600080fd5b8201836020820111156107a757600080fd5b803590602001918460208302840111640100000000831117156107c957600080fd5b509092509050611b92565b610546600480360360208110156107ea57600080fd5b50356001600160a01b0316611dac565b6105466004803603602081101561081057600080fd5b50356001600160a01b0316611e7c565b6102d86004803603602081101561083657600080fd5b5035611f5d565b6102d86004803603602081101561085357600080fd5b5035611f93565b610546600480360360a081101561087057600080fd5b5063ffffffff813581169160208101358216916040820135811691606081013582169160809091013516611fd3565b610546600480360360408110156108b557600080fd5b506001600160a01b038135169060200135612102565b610546600480360360808110156108e157600080fd5b8101906020810181356401000000008111156108fc57600080fd5b82018360208201111561090e57600080fd5b8035906020019184600183028401116401000000008311171561093057600080fd5b91939092909160208101903564010000000081111561094e57600080fd5b82018360208201111561096057600080fd5b8035906020019184602083028401116401000000008311171561098257600080fd5b9193909290916020810190356401000000008111156109a057600080fd5b8201836020820111156109b257600080fd5b803590602001918460208302840111640100000000831117156109d457600080fd5b91935091503561240d565b6102d8613237565b610a0d600480360360208110156109fd57600080fd5b50356001600160a01b03166132e8565b6040805161ffff9092168252519081900360200190f35b610a2c613395565b604080516fffffffffffffffffffffffffffffffff19909616865263ffffffff909416602086015260ff9092168484015260170b606084015267ffffffffffffffff166080830152519081900360a00190f35b61054660048036036040811015610a9557600080fd5b5080356001600160a01b0316906020013563ffffffff1661344f565b61054660048036036040811015610ac757600080fd5b506001600160a01b03813581169160200135166135a3565b61054660048036036020811015610af557600080fd5b50356001600160a01b03166136e6565b61054660048036036020811015610b1b57600080fd5b50356001600160a01b031661378f565b6106c86137f0565b6001600160a01b03811660009081526027602090815260408083208151808301909252805460ff808216845285948401916101009004166002811115610b7557fe5b6002811115610b8057fe5b9052509050600081602001516002811115610b9757fe5b1415610ba7576000915050610c63565b6040805160a08101825260025463ffffffff8082168352640100000000820481166020840152680100000000000000008204811693830193909352600160601b8104831660608301819052600160801b90910490921660808201528251909160009160019060049060ff16601f8110610c1c57fe5b601091828204019190066002029054906101000a900461ffff160361ffff1602633b9aca0002905060016008846000015160ff16601f8110610c5a57fe5b01540301925050505b919050565b60408051808201909152601881527f4f6666636861696e41676772656761746f7220322e302e300000000000000000602082015290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160a08101825260025463ffffffff80821680845264010000000083048216602085018190526801000000000000000084048316958501869052600160601b8404831660608601819052600160801b90940490921660809094018490529490939290565b7f000000000000000000000000000000000000000000000000000000000000000081565b602a54600160b01b900463ffffffff166000908152602b6020526040902054601790810b900b90565b600481565b868560ff8616601f831115610dfc576040805162461bcd60e51b815260206004820152601060248201527f746f6f206d616e79207369676e65727300000000000000000000000000000000604482015290519081900360640190fd5b60008111610e51576040805162461bcd60e51b815260206004820152601a60248201527f7468726573686f6c64206d75737420626520706f736974697665000000000000604482015290519081900360640190fd5b818314610e8f5760405162461bcd60e51b815260040180806020018281038252602481526020018061488e6024913960400191505060405180910390fd5b806003028311610ee6576040805162461bcd60e51b815260206004820181905260248201527f6661756c74792d6f7261636c65207468726573686f6c6420746f6f2068696768604482015290519081900360640190fd5b6000546001600160a01b03163314610f3e576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6028541561103b576028805460001981019160009183908110610f5d57fe5b6000918252602082200154602980546001600160a01b0390921693509084908110610f8457fe5b6000918252602090912001546001600160a01b03169050610fa48161384c565b6001600160a01b03808316600090815260276020526040808220805461ffff1990811690915592841682529020805490911690556028805480610fe357fe5b600082815260209020810160001990810180546001600160a01b0319169055019055602980548061101057fe5b600082815260209020810160001990810180546001600160a01b031916905501905550610f3e915050565b60005b8a8110156113a3576000602760008e8e8581811061105857fe5b602090810292909201356001600160a01b031683525081019190915260400160002054610100900460ff16600281111561108e57fe5b146110e0576040805162461bcd60e51b815260206004820152601760248201527f7265706561746564207369676e65722061646472657373000000000000000000604482015290519081900360640190fd5b6040805180820190915260ff8216815260016020820152602760008e8e8581811061110757fe5b602090810292909201356001600160a01b0316835250818101929092526040016000208251815460ff191660ff90911617808255918301519091829061ff00191661010083600281111561115757fe5b02179055506000915060069050818c8c8581811061117157fe5b6001600160a01b03602091820293909301358316845283019390935260409091016000205416919091141590506111ef576040805162461bcd60e51b815260206004820152601160248201527f7061796565206d75737420626520736574000000000000000000000000000000604482015290519081900360640190fd5b6000602760008c8c8581811061120157fe5b602090810292909201356001600160a01b031683525081019190915260400160002054610100900460ff16600281111561123757fe5b14611289576040805162461bcd60e51b815260206004820152601c60248201527f7265706561746564207472616e736d6974746572206164647265737300000000604482015290519081900360640190fd5b6040805180820190915260ff8216815260026020820152602760008c8c858181106112b057fe5b602090810292909201356001600160a01b0316835250818101929092526040016000208251815460ff191660ff90911617808255918301519091829061ff00191661010083600281111561130057fe5b021790555090505060288c8c8381811061131657fe5b835460018101855560009485526020948590200180546001600160a01b0319166001600160a01b03959092029390930135939093169290921790555060298a8a8381811061136057fe5b835460018181018655600095865260209586902090910180546001600160a01b0319166001600160a01b039690930294909401359490941617909155500161103e565b50602a805460ff8916600160a81b0260ff60a81b19909116179055602c80544363ffffffff90811664010000000090810267ffffffff0000000019841617808316600101831663ffffffff1990911617938490559091048116911661141030828f8f8f8f8f8f8f8f613a6b565b602a60000160006101000a8154816fffffffffffffffffffffffffffffffff021916908360801c02179055506000602a60000160106101000a81548164ffffffffff021916908364ffffffffff1602179055507f25d719d88a4512dd76c7442b910a83360845505894eb444ef299409e180f8fb982828f8f8f8f8f8f8f8f604051808b63ffffffff1681526020018a67ffffffffffffffff16815260200180602001806020018760ff1681526020018667ffffffffffffffff1681526020018060200184810384528c8c82818152602001925060200280828437600083820152601f01601f191690910185810384528a8152602090810191508b908b0280828437600083820152601f01601f191690910185810383528681526020019050868680828437600083820152604051601f909101601f19169092018290039f50909d5050505050505050505050505050a150505050505050505050505050565b602a54600160b01b900463ffffffff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b602e546001600160a01b031690565b602f8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116405780601f1061161557610100808354040283529160200191611640565b820191906000526020600020905b81548152906001019060200180831161162357829003601f168201915b5050505050905090565b6001546001600160a01b031633146116a9576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6060602980548060200260200160405190810160405280929190818152602001828054801561164057602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161173a575050505050905090565b602c54602a5463ffffffff808316926401000000009004169060801b909192565b602a54600160b01b900463ffffffff166000908152602b6020526040902054600160c01b900467ffffffffffffffff1690565b6001600160a01b03818116600090815260066020526040902054163314611823576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c792070617965652063616e207769746864726177000000000000000000604482015290519081900360640190fd5b61182c8161384c565b50565b6000546001600160a01b031681565b60408051808201909152602d546001600160a01b038116808352600160a01b90910463ffffffff16602090920182905291565b600080546001600160a01b03163314806119345750602e5460408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b0390951694636b14daf894929360009391929190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b15801561190757600080fd5b505afa15801561191b573d6000803e3d6000fd5b505050506040513d602081101561193157600080fd5b50515b611985576040805162461bcd60e51b815260206004820152601d60248201527f4f6e6c79206f776e6572267265717565737465722063616e2063616c6c000000604482015290519081900360640190fd5b6040805160808082018352602a549081901b6fffffffffffffffffffffffffffffffff1916808352600160801b820464ffffffffff8116602080860191909152600160a81b840460ff90811686880152600160b01b90940463ffffffff9081166060808801919091528751948552600884901c909116918401919091529216818501529251919233927f3ea16a923ff4b1df6526e854c9e3a995c43385d70e73359e10623c74f0b52037929181900390910190a2806060015160010163ffffffff1691505090565b6003546001600160a01b031690565b600080600080600063ffffffff8669ffffffffffffffffffff1611156040518060400160405280600f81526020017f4e6f20646174612070726573656e74000000000000000000000000000000000081525090611b375760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611afc578181015183820152602001611ae4565b50505050905090810190601f168015611b295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505063ffffffff83166000908152602b6020908152604091829020825180840190935254601781810b810b810b808552600160c01b90920467ffffffffffffffff1693909201839052949594900b939092508291508490565b6000546001600160a01b03163314611bea576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b828114611c3e576040805162461bcd60e51b815260206004820181905260248201527f7472616e736d6974746572732e73697a6520213d207061796565732e73697a65604482015290519081900360640190fd5b60005b83811015611da5576000858583818110611c5757fe5b905060200201356001600160a01b031690506000848484818110611c7757fe5b6001600160a01b038581166000908152600660209081526040909120549202939093013583169350909116905080158080611cc35750826001600160a01b0316826001600160a01b0316145b611d14576040805162461bcd60e51b815260206004820152601160248201527f706179656520616c726561647920736574000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03848116600090815260066020526040902080546001600160a01b03191685831690811790915590831614611d9557826001600160a01b0316826001600160a01b0316856001600160a01b03167f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b360405160405180910390a45b505060019092019150611c419050565b5050505050565b6000546001600160a01b03163314611e04576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b602e546001600160a01b039081169082168114611e7857602e80546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f27b89aede8b560578baaa25ee5ce3852c5eecad1e114b941bbd89e1eb4bae6349281900390910190a15b5050565b6001600160a01b03818116600090815260076020526040902054163314611eea576040805162461bcd60e51b815260206004820152601f60248201527f6f6e6c792070726f706f736564207061796565732063616e2061636365707400604482015290519081900360640190fd5b6001600160a01b0381811660008181526006602090815260408083208054336001600160a01b031980831682179093556007909452828520805490921690915590519416939092849290917f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b39190a45050565b600063ffffffff821115611f7357506000610c63565b5063ffffffff166000908152602b6020526040902054601790810b900b90565b600063ffffffff821115611fa957506000610c63565b5063ffffffff166000908152602b6020526040902054600160c01b900467ffffffffffffffff1690565b6003546000546001600160a01b039182169116331480612094575060408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b03861694636b14daf8946000939190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b15801561206757600080fd5b505afa15801561207b573d6000803e3d6000fd5b505050506040513d602081101561209157600080fd5b50515b6120e5576040805162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c604482015290519081900360640190fd5b6120ed613b6f565b6120fa8686868686613f13565b505050505050565b6000546001600160a01b03163314806121c4575060035460408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b0390951694636b14daf894929360009391929190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b15801561219757600080fd5b505afa1580156121ab573d6000803e3d6000fd5b505050506040513d60208110156121c157600080fd5b50515b612215576040805162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c604482015290519081900360640190fd5b600061221f614032565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561229057600080fd5b505afa1580156122a4573d6000803e3d6000fd5b505050506040513d60208110156122ba57600080fd5b5051905081811015612313576040805162461bcd60e51b815260206004820152601460248201527f696e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb8561234f858503876141ec565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561239557600080fd5b505af11580156123a9573d6000803e3d6000fd5b505050506040513d60208110156123bf57600080fd5b5051612407576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b50505050565b60005a9050612420888888888888614206565b3614612473576040805162461bcd60e51b815260206004820152601960248201527f7472616e736d6974206d65737361676520746f6f206c6f6e6700000000000000604482015290519081900360640190fd5b61247b614723565b6040805160808082018352602a549081901b6fffffffffffffffffffffffffffffffff19168252600160801b810464ffffffffff166020830152600160a81b810460ff1692820192909252600160b01b90910463ffffffff166060808301919091529082526000908a908a908110156124f357600080fd5b81359160208101359181019060608101604082013564010000000081111561251a57600080fd5b82018360208201111561252c57600080fd5b8035906020019184602083028401116401000000008311171561254e57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050505060408801525050506080840182905283515190925060589190911b906fffffffffffffffffffffffffffffffff19808316911614612606576040805162461bcd60e51b815260206004820152601560248201527f636f6e666967446967657374206d69736d617463680000000000000000000000604482015290519081900360640190fd5b608083015183516020015164ffffffffff80831691161061266e576040805162461bcd60e51b815260206004820152600c60248201527f7374616c65207265706f72740000000000000000000000000000000000000000604482015290519081900360640190fd5b83516040015160ff1689116126ca576040805162461bcd60e51b815260206004820152601560248201527f6e6f7420656e6f756768207369676e6174757265730000000000000000000000604482015290519081900360640190fd5b601f891115612720576040805162461bcd60e51b815260206004820152601360248201527f746f6f206d616e79207369676e61747572657300000000000000000000000000604482015290519081900360640190fd5b868914612774576040805162461bcd60e51b815260206004820152601e60248201527f7369676e617475726573206f7574206f6620726567697374726174696f6e0000604482015290519081900360640190fd5b601f84604001515111156127cf576040805162461bcd60e51b815260206004820152601e60248201527f6e756d206f62736572766174696f6e73206f7574206f6620626f756e64730000604482015290519081900360640190fd5b83600001516040015160020260ff1684604001515111612836576040805162461bcd60e51b815260206004820152601e60248201527f746f6f206665772076616c75657320746f207472757374206d656469616e0000604482015290519081900360640190fd5b8867ffffffffffffffff8111801561284d57600080fd5b506040519080825280601f01601f191660200182016040528015612878576020820181803683370190505b50606085015260005b60ff81168a11156128e957868160ff166020811061289b57fe5b1a60f81b85606001518260ff16815181106128b257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101612881565b5083604001515167ffffffffffffffff8111801561290657600080fd5b506040519080825280601f01601f191660200182016040528015612931576020820181803683370190505b50602085015261293f614757565b60005b8560400151518160ff161015612a45576000858260ff166020811061296357fe5b1a90508281601f811061297257fe5b6020020151156129c9576040805162461bcd60e51b815260206004820152601760248201527f6f6273657276657220696e646578207265706561746564000000000000000000604482015290519081900360640190fd5b6001838260ff16601f81106129da57fe5b91151560209283029190910152869060ff84169081106129f657fe5b1a60f81b87602001518360ff1681518110612a0d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050600101612942565b503360009081526027602090815260408083208151808301909252805460ff80821684529293919291840191610100909104166002811115612a8357fe5b6002811115612a8e57fe5b9052509050600281602001516002811115612aa557fe5b148015612ad957506029816000015160ff1681548110612ac157fe5b6000918252602090912001546001600160a01b031633145b612b2a576040805162461bcd60e51b815260206004820152601860248201527f756e617574686f72697a6564207472616e736d69747465720000000000000000604482015290519081900360640190fd5b5050835164ffffffffff90911660209091015250506040516000908a908a908083838082843760405192018290039091209450612b6b935061475792505050565b612b73614776565b60005b89811015612d6c57600060018587606001518481518110612b9357fe5b60209101015160f81c601b018e8e86818110612bab57fe5b905060200201358d8d87818110612bbe57fe5b9050602002013560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612c19573d6000803e3d6000fd5b505060408051601f198101516001600160a01b03811660009081526027602090815290849020838501909452835460ff80821685529296509294508401916101009004166002811115612c6857fe5b6002811115612c7357fe5b9052509250600183602001516002811115612c8a57fe5b14612cdc576040805162461bcd60e51b815260206004820152601e60248201527f61646472657373206e6f7420617574686f72697a656420746f207369676e0000604482015290519081900360640190fd5b8251849060ff16601f8110612ced57fe5b602002015115612d44576040805162461bcd60e51b815260206004820152601460248201527f6e6f6e2d756e69717565207369676e6174757265000000000000000000000000604482015290519081900360640190fd5b600184846000015160ff16601f8110612d5957fe5b9115156020909202015250600101612b76565b5050505060005b600182604001515103811015612e1d57600082604001518260010181518110612d9857fe5b602002602001015160170b83604001518381518110612db357fe5b602002602001015160170b1315905080612e14576040805162461bcd60e51b815260206004820152601760248201527f6f62736572766174696f6e73206e6f7420736f72746564000000000000000000604482015290519081900360640190fd5b50600101612d73565b50604081015180516000919060028104908110612e3657fe5b602002602001015190508060170b7f000000000000000000000000000000000000000000000000000000000000000060170b13158015612e9c57507f000000000000000000000000000000000000000000000000000000000000000060170b8160170b13155b612eed576040805162461bcd60e51b815260206004820152601e60248201527f6d656469616e206973206f7574206f66206d696e2d6d61782072616e67650000604482015290519081900360640190fd5b81516060908101805163ffffffff60019091018116909152604080518082018252601785810b80835267ffffffffffffffff42811660208086019182528a5189015188166000908152602b8252878120965187549351909416600160c01b029390950b77ffffffffffffffffffffffffffffffffffffffffffffffff9081167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921790911691909117909355875186015184890151848a01516080808c015188519586523386890181905291860181905260a0988601898152845199870199909952835194909916997ff6a97944f31ea060dfde0566e4167c1a1082551e64b60ecb14d599a9d023d451998c999298949793969095909492939185019260c086019289820192909102908190849084905b8381101561303b578181015183820152602001613023565b50505050905001838103825285818151815260200191508051906020019080838360005b8381101561307757818101518382015260200161305f565b50505050905090810190601f1680156130a45780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a281516060015160408051428152905160009263ffffffff16917f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac60271919081900360200190a381600001516060015163ffffffff168160170b7f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a36131598260000151606001518260170b61421e565b5080518051602a8054602084015160408501516060909501516fffffffffffffffffffffffffffffffff1990921660809490941c939093177fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff16600160801b64ffffffffff909416939093029290921760ff60a81b1916600160a81b60ff90941693909302929092177fffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffff16600160b01b63ffffffff9283160217909155821061321e57fe5b61322c82826020015161432f565b505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156132a757600080fd5b505afa1580156132bb573d6000803e3d6000fd5b505050506040513d60208110156132d157600080fd5b5051905060006132df614032565b90910391505090565b6001600160a01b03811660009081526027602090815260408083208151808301909252805460ff80821684528594840191610100900416600281111561332a57fe5b600281111561333557fe5b905250905060008160200151600281111561334c57fe5b141561335c576000915050610c63565b60016004826000015160ff16601f811061337257fe5b601091828204019190066002029054906101000a900461ffff1603915050919050565b6000808080803332146133ef576040805162461bcd60e51b815260206004820152601460248201527f4f6e6c792063616c6c61626c6520627920454f41000000000000000000000000604482015290519081900360640190fd5b5050602a5463ffffffff600160b01b820481166000908152602b6020526040902054608083901b96600160801b909304600881901c909216955064ffffffffff9091169350601781900b9250600160c01b900467ffffffffffffffff1690565b6000546001600160a01b031633146134a7576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b60408051808201909152602d546001600160a01b03808216808452600160a01b90920463ffffffff16602084015284161415806134f457508163ffffffff16816020015163ffffffff1614155b1561359e576040805180820182526001600160a01b0385811680835263ffffffff8681166020948501819052602d80546001600160a01b03191684177fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b8302179055865187860151875193168352948201528451919493909216927fb04e3a37abe9c0fcdfebdeae019a8e2b12ddf53f5d55ffb0caccc1bedaca1541928290030190a35b505050565b6001600160a01b03828116600090815260066020526040902054163314613611576040805162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063757272656e742070617965652063616e20757064617465000000604482015290519081900360640190fd5b336001600160a01b038216141561366f576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6001600160a01b03808316600090815260076020526040902080548383166001600160a01b03198216811790925590911690811461359e576040516001600160a01b038084169133918616907f84f7c7c80bb8ed2279b4aab5f61cd05e6374073d38f46d7f32de8c30e9e3836790600090a4505050565b6000546001600160a01b0316331461373e576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000546001600160a01b031633146137e7576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b61182c81614566565b602a54600160b01b900463ffffffff166000818152602b6020908152604091829020825180840190935254601781810b810b810b808552600160c01b90920467ffffffffffffffff1693909201839052929392900b9181908490565b6001600160a01b03811660009081526027602090815260408083208151808301909252805460ff8082168452929391929184019161010090910416600281111561389257fe5b600281111561389d57fe5b905250905060006138ad83610b33565b9050801561359e576001600160a01b0380841660009081526006602090815260408083205481517fa9059cbb0000000000000000000000000000000000000000000000000000000081529085166004820181905260248201879052915191947f0000000000000000000000000000000000000000000000000000000000000000169363a9059cbb9360448084019491939192918390030190829087803b15801561395657600080fd5b505af115801561396a573d6000803e3d6000fd5b505050506040513d602081101561398057600080fd5b50516139c8576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b60016004846000015160ff16601f81106139de57fe5b601091828204019190066002026101000a81548161ffff021916908361ffff16021790555060016008846000015160ff16601f8110613a1957fe5b0155604080516001600160a01b0380871682528316602082015280820184905290517fe8ec50e5150ae28ae37e493ff389ffab7ffaec2dc4dccfca03f12a3de29d12b29181900360600190a150505050565b60008a8a8a8a8a8a8a8a8a8a604051602001808b6001600160a01b031681526020018a67ffffffffffffffff16815260200180602001806020018760ff1681526020018667ffffffffffffffff1681526020018060200184810384528c8c82818152602001925060200280828437600083820152601f01601f191690910185810384528a8152602090810191508b908b0280828437600083820152601f01601f191690910185810383528681526020019050868680828437600081840152601f19601f8201169050808301925050509d50505050505050505050505050506040516020818303038152906040528051906020012090509a9950505050505050505050565b6040805160a08101825260025463ffffffff8082168352640100000000820481166020840152680100000000000000008204811683850152600160601b820481166060840152600160801b90910416608082015281516103e0810192839052909160009190600490601f908285855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411613bde575050604080516103e0810191829052959650600095945060089350601f9250905082845b815481526020019060010190808311613c38575050505050905060006029805480602002602001604051908101604052809291908181526020018280548015613caa57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613c8c575b5050505050905060005b8151811015613ef757600060018483601f8110613ccd57fe5b6020020151039050600060018684601f8110613ce557fe5b60200201510361ffff169050600082886060015163ffffffff168302633b9aca00020190506000811115613eec57600060066000878781518110613d2557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b031690507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb82846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613dda57600080fd5b505af1158015613dee573d6000803e3d6000fd5b505050506040513d6020811015613e0457600080fd5b5051613e4c576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b60018886601f8110613e5a57fe5b61ffff909216602092909202015260018786601f8110613e7657fe5b602002015285517fe8ec50e5150ae28ae37e493ff389ffab7ffaec2dc4dccfca03f12a3de29d12b290879087908110613eab57fe5b6020026020010151828460405180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060405180910390a1505b505050600101613cb4565b50613f05600484601f61478d565b50611da5600883601f614823565b6040805160a0808201835263ffffffff88811680845288821660208086018290528984168688018190528985166060808901829052958a1660809889018190526002805463ffffffff1916871767ffffffff0000000019166401000000008702176bffffffff00000000000000001916680100000000000000008502177fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16600160601b8402177fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff16600160801b830217905589519586529285019390935283880152928201529283015291517fd0d9486a2c673e2a4b57fc82e4c8a556b3e2b82dd5db07e2c04a920ca0f469b6929181900390910190a15050505050565b604080516103e0810191829052600091829190600490601f908285855b82829054906101000a900461ffff1661ffff168152602001906002019060208260010104928301926001038202915080841161404f5790505050505050905060005b601f8110156140bf5760018282601f81106140a857fe5b60200201510361ffff169290920191600101614091565b506040805160a08101825260025463ffffffff808216835264010000000082048116602080850191909152680100000000000000008304821684860152600160601b8304821660608501819052600160801b90930490911660808401526029805485518184028101840190965280865296909202633b9aca000295929360009390929183018282801561417b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161415d575b5050604080516103e0810191829052949550600094935060089250601f915082845b81548152602001906001019080831161419d575050505050905060005b82518110156141e45760018282601f81106141d157fe5b60200201510395909501946001016141ba565b505050505090565b6000818310156141fd575081614200565b50805b92915050565b602083810286019082020160e4019695505050505050565b60408051808201909152602d546001600160a01b038116808352600160a01b90910463ffffffff1660208301526142555750611e78565b600019830163ffffffff8181166000818152602b602090815260408083205487518884015183517fbeed9b510000000000000000000000000000000000000000000000000000000081526004810197909752601792830b90920b602487018190528b88166044880152606487018b9052925192966001600160a01b039091169563beed9b51959290911693608480830194919391928390030190829088803b15801561430057600080fd5b5087f19350505050801561432657506040513d602081101561432157600080fd5b505160015b6120fa57611da5565b3360009081526027602090815260408083208151808301909252805460ff8082168452929391929184019161010090910416600281111561436c57fe5b600281111561437757fe5b9052506040805160a08101825260025463ffffffff8082168352640100000000820481166020840152680100000000000000008204811683850152600160601b820481166060840152600160801b90910416608082015281516103e08101928390529293509161443191859190600490601f90826000855b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116143ef57905050505050506145dd565b61443f90600490601f61478d565b5060028260200151600281111561445257fe5b146144a4576040805162461bcd60e51b815260206004820181905260248201527f73656e7420627920756e64657369676e61746564207472616e736d6974746572604482015290519081900360640190fd5b60006144cb633b9aca003a04836020015163ffffffff16846000015163ffffffff16614652565b90506010360260005a905060006144ea8863ffffffff16858585614678565b6fffffffffffffffffffffffffffffffff1690506000620f4240866040015163ffffffff1683028161451857fe5b049050856080015163ffffffff16633b9aca0002816008896000015160ff16601f811061454157fe5b015401016008886000015160ff16601f811061455957fe5b0155505050505050505050565b6003546001600160a01b039081169082168114611e7857600380546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f793cb73064f3c8cde7e187ae515511e6e56d1ee89bf08b82fa60fb70f8d489129281900390910190a15050565b6145e5614757565b60005b835181101561464a5760008482815181106145ff57fe5b016020015160f81c90506146248482601f811061461857fe5b60200201516001614704565b848260ff16601f811061463357fe5b61ffff9092166020929092020152506001016145e8565b509092915050565b6000838381101561466557600285850304015b61466f81846141ec565b95945050505050565b6000818510156146cf576040805162461bcd60e51b815260206004820181905260248201527f6761734c6566742063616e6e6f742065786365656420696e697469616c476173604482015290519081900360640190fd5b818503830161179301633b9aca00858202026fffffffffffffffffffffffffffffffff81106146fa57fe5b9695505050505050565b600061471c8261ffff168461ffff160161ffff6141ec565b9392505050565b6040518060a00160405280614736614851565b81526060602082018190526040820181905280820152600060809091015290565b604051806103e00160405280601f906020820280368337509192915050565b604080518082019091526000808252602082015290565b6002830191839082156148135791602002820160005b838211156147e357835183826101000a81548161ffff021916908361ffff16021790555092602001926002016020816001010492830192600103026147a3565b80156148115782816101000a81549061ffff02191690556002016020816001010492830192600103026147e3565b505b5061481f929150614878565b5090565b82601f8101928215614813579160200282015b82811115614813578251825591602001919060010190614836565b60408051608081018252600080825260208201819052918101829052606081019190915290565b5b8082111561481f576000815560010161487956fe6f7261636c6520616464726573736573206f7574206f6620726567697374726174696f6ea26469706673582212206102a3df19b64ab38cd07fd77509059cea2f046309a188f92ea1e5919105ad2064736f6c63430007060033"
+ var OracleBin = "0x6080604052600160045534801561001557600080fd5b506040516113ca3803806113ca8339818101604052602081101561003857600080fd5b5051600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b0319166001600160a01b0392909216919091179055611318806100b26000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80637fcd56db1161008c578063a4c0ed3611610066578063a4c0ed36146102b6578063d3e9c31414610371578063f2fde38b14610397578063f3fef3a3146103bd576100df565b80637fcd56db146102785780638da5cb5b146102a65780638f32d59b146102ae576100df565b80634b602282116100bd5780634b6022821461021d57806350188301146102375780636ee4d5531461023f576100df565b8063165d35e1146100e457806340429946146101085780634ab0d190146101bb575b600080fd5b6100ec6103e9565b604080516001600160a01b039092168252519081900360200190f35b6101b9600480360361010081101561011f57600080fd5b6001600160a01b038235811692602081013592604082013592606083013516916001600160e01b03196080820135169160a08201359160c081013591810190610100810160e082013564010000000081111561017a57600080fd5b82018360208201111561018c57600080fd5b803590602001918460018302840111640100000000831117156101ae57600080fd5b5090925090506103f8565b005b610209600480360360c08110156101d157600080fd5b508035906020810135906001600160a01b03604082013516906001600160e01b03196060820135169060808101359060a001356106e1565b604080519115158252519081900360200190f35b6102256109db565b60408051918252519081900360200190f35b6102256109e1565b6101b96004803603608081101561025557600080fd5b508035906020810135906001600160e01b03196040820135169060600135610a55565b6101b96004803603604081101561028e57600080fd5b506001600160a01b0381351690602001351515610c16565b6100ec610c9a565b610209610ca9565b6101b9600480360360608110156102cc57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102fc57600080fd5b82018360208201111561030e57600080fd5b8035906020019184600183028401116401000000008311171561033057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cba945050505050565b6102096004803603602081101561038757600080fd5b50356001600160a01b0316610f11565b6101b9600480360360208110156103ad57600080fd5b50356001600160a01b0316610f2f565b6101b9600480360360408110156103d357600080fd5b506001600160a01b038135169060200135610f94565b6001546001600160a01b031690565b6104006103e9565b6001600160a01b0316336001600160a01b031614610465576040805162461bcd60e51b815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b60015486906001600160a01b03808316911614156104ca576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f742063616c6c6261636b20746f204c494e4b000000000000000000604482015290519081900360640190fd5b604080516bffffffffffffffffffffffff1960608d901b166020808301919091526034808301899052835180840390910181526054909201835281519181019190912060008181526002909252919020541561056d576040805162461bcd60e51b815260206004820152601460248201527f4d75737420757365206120756e69717565204944000000000000000000000000604482015290519081900360640190fd5b60006105814261012c63ffffffff6110e716565b90508a89898360405160200180858152602001846001600160a01b03166001600160a01b031660601b8152601401836001600160e01b0319166001600160e01b0319168152600401828152602001945050505050604051602081830303815290604052805190602001206002600084815260200190815260200160002081905550897fd8d7ecc4800d25fa53ce0372f13a416d98907a7ef3d8d3bdd79cf4fe75529c658d848e8d8d878d8d8d604051808a6001600160a01b03166001600160a01b03168152602001898152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160e01b0319166001600160e01b0319168152602001858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039c50909a5050505050505050505050a2505050505050505050505050565b3360009081526003602052604081205460ff16806107175750610702610c9a565b6001600160a01b0316336001600160a01b0316145b6107525760405162461bcd60e51b815260040180806020018281038252602a8152602001806112b9602a913960400191505060405180910390fd5b60008781526002602052604090205487906107b4576040805162461bcd60e51b815260206004820152601b60248201527f4d757374206861766520612076616c6964207265717565737449640000000000604482015290519081900360640190fd5b6040805160208082018a90526bffffffffffffffffffffffff1960608a901b16828401526001600160e01b0319881660548301526058808301889052835180840390910181526078909201835281519181019190912060008b8152600290925291902054811461086b576040805162461bcd60e51b815260206004820152601e60248201527f506172616d7320646f206e6f74206d6174636820726571756573742049440000604482015290519081900360640190fd5b60045461087e908963ffffffff6110e716565b60045560008981526002602052604081205562061a805a10156108e8576040805162461bcd60e51b815260206004820181905260248201527f4d7573742070726f7669646520636f6e73756d657220656e6f75676820676173604482015290519081900360640190fd5b60408051602481018b9052604480820187905282518083039091018152606490910182526020810180516001600160e01b03166001600160e01b03198a16178152915181516000936001600160a01b038c169392918291908083835b602083106109635780518252601f199092019160209182019101610944565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ca565b606091505b50909b9a5050505050505050505050565b61012c81565b60006109eb610ca9565b610a3c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600454610a5090600163ffffffff61114816565b905090565b6040805160208082018690523360601b828401526001600160e01b0319851660548301526058808301859052835180840390910181526078909201835281519181019190912060008781526002909252919020548114610afc576040805162461bcd60e51b815260206004820152601e60248201527f506172616d7320646f206e6f74206d6174636820726571756573742049440000604482015290519081900360640190fd5b42821115610b51576040805162461bcd60e51b815260206004820152601660248201527f52657175657374206973206e6f74206578706972656400000000000000000000604482015290519081900360640190fd5b6000858152600260205260408082208290555186917fa7842b9ec549398102c0d91b1b9919b2f20558aefdadf57528a95c6cd3292e9391a26001546040805163a9059cbb60e01b81523360048201526024810187905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610bdd57600080fd5b505af1158015610bf1573d6000803e3d6000fd5b505050506040513d6020811015610c0757600080fd5b5051610c0f57fe5b5050505050565b610c1e610ca9565b610c6f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610cc26103e9565b6001600160a01b0316336001600160a01b031614610d27576040805162461bcd60e51b815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b8051819060441115610d80576040805162461bcd60e51b815260206004820152601660248201527f496e76616c69642072657175657374206c656e67746800000000000000000000604482015290519081900360640190fd5b602082015182906001600160e01b031981167f404299460000000000000000000000000000000000000000000000000000000014610e05576040805162461bcd60e51b815260206004820152601e60248201527f4d757374207573652077686974656c69737465642066756e6374696f6e730000604482015290519081900360640190fd5b8560248501528460448501526000306001600160a01b0316856040518082805190602001908083835b60208310610e4d5780518252601f199092019160209182019101610e2e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610ead576040519150601f19603f3d011682016040523d82523d6000602084013e610eb2565b606091505b5050905080610f08576040805162461bcd60e51b815260206004820152601860248201527f556e61626c6520746f2063726561746520726571756573740000000000000000604482015290519081900360640190fd5b50505050505050565b6001600160a01b031660009081526003602052604090205460ff1690565b610f37610ca9565b610f88576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610f91816111a5565b50565b610f9c610ca9565b610fed576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b80610fff81600163ffffffff6110e716565b600454101561103f5760405162461bcd60e51b81526004018080602001828103825260358152602001806112846035913960400191505060405180910390fd5b600454611052908363ffffffff61114816565b60049081556001546040805163a9059cbb60e01b81526001600160a01b0387811694820194909452602481018690529051929091169163a9059cbb916044808201926020929091908290030181600087803b1580156110b057600080fd5b505af11580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b50516110e257fe5b505050565b600082820183811015611141576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008282111561119f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0381166111ea5760405162461bcd60e51b815260040180806020018281038252602681526020018061125e6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416d6f756e74207265717565737465642069732067726561746572207468616e20776974686472617761626c652062616c616e63654e6f7420616e20617574686f72697a6564206e6f646520746f2066756c66696c6c207265717565737473a26469706673582212207d3b318fc74263c1b6e6d4dadb37c8ab1266418612e50808233798392aa1611f64736f6c63430006060033"
+ var SimpleReadAccessControllerBin = "0x6080604052600080546001600160a01b031916331790556001805460ff60a01b1916600160a01b179055610744806100386000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80638823da6c11610076578063a118f2491161005b578063a118f249146101d6578063dc7f0124146101fc578063f2fde38b14610204576100a3565b80638823da6c1461018c5780638da5cb5b146101b2576100a3565b80630a756983146100a85780636b14daf8146100b257806379ba50971461017c5780638038e4a114610184575b600080fd5b6100b061022a565b005b610168600480360360408110156100c857600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100f357600080fd5b82018360208201111561010557600080fd5b8035906020019184600183028401116401000000008311171561012757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102cd945050505050565b604080519115158252519081900360200190f35b6100b06102f3565b6100b06103b6565b6100b0600480360360208110156101a257600080fd5b50356001600160a01b031661045d565b6101ba61052f565b604080516001600160a01b039092168252519081900360200190f35b6100b0600480360360208110156101ec57600080fd5b50356001600160a01b031661053e565b610168610611565b6100b06004803603602081101561021a57600080fd5b50356001600160a01b0316610621565b6000546001600160a01b03163314610282576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600154600160a01b900460ff16156102cb576001805460ff60a01b191690556040517f3be8a977a014527b50ae38adda80b56911c267328965c98ddc385d248f53963890600090a15b565b60006102d983836106d7565b806102ec57506001600160a01b03831632145b9392505050565b6001546001600160a01b03163314610352576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b600080543373ffffffffffffffffffffffffffffffffffffffff19808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000546001600160a01b0316331461040e576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600154600160a01b900460ff166102cb576001805460ff60a01b1916600160a01b1790556040517faebf329500988c6488a0074e5a0a9ff304561fc5c6fc877aeb1d59c8282c348090600090a1565b6000546001600160a01b031633146104b5576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205460ff161561052c576001600160a01b038116600081815260026020908152604091829020805460ff19169055815192835290517f3d68a6fce901d20453d1a7aa06bf3950302a735948037deb182a8db66df2a0d19281900390910190a15b50565b6000546001600160a01b031681565b6000546001600160a01b03163314610596576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205460ff1661052c576001600160a01b038116600081815260026020908152604091829020805460ff19166001179055815192835290517f87286ad1f399c8e82bf0c4ef4fcdc570ea2e1e92176e5c848b6413545b885db49281900390910190a150565b600154600160a01b900460ff1681565b6000546001600160a01b03163314610679576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6001600160a01b03821660009081526002602052604081205460ff16806102ec575050600154600160a01b900460ff16159291505056fea2646970667358221220ebf3a18e9f8864a1193ec1d9aafcbb4e00eb9bf698e03614122c54da6defa1a664736f6c63430006060033"
+ var SimpleWriteAccessControllerBin = "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556001805460ff60a01b1916600160a01b17905561071f806100456000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80638823da6c11610076578063a118f2491161005b578063a118f249146101d6578063dc7f0124146101fc578063f2fde38b14610204576100a3565b80638823da6c1461018c5780638da5cb5b146101b2576100a3565b80630a756983146100a85780636b14daf8146100b257806379ba50971461017c5780638038e4a114610184575b600080fd5b6100b061022a565b005b610168600480360360408110156100c857600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100f357600080fd5b82018360208201111561010557600080fd5b8035906020019184600183028401116401000000008311171561012757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102cd945050505050565b604080519115158252519081900360200190f35b6100b0610305565b6100b06103c8565b6100b0600480360360208110156101a257600080fd5b50356001600160a01b031661046f565b6101ba610541565b604080516001600160a01b039092168252519081900360200190f35b6100b0600480360360208110156101ec57600080fd5b50356001600160a01b0316610550565b610168610623565b6100b06004803603602081101561021a57600080fd5b50356001600160a01b0316610633565b6000546001600160a01b03163314610282576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600154600160a01b900460ff16156102cb576001805460ff60a01b191690556040517f3be8a977a014527b50ae38adda80b56911c267328965c98ddc385d248f53963890600090a15b565b6001600160a01b03821660009081526002602052604081205460ff16806102fe5750600154600160a01b900460ff16155b9392505050565b6001546001600160a01b03163314610364576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b600080543373ffffffffffffffffffffffffffffffffffffffff19808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000546001600160a01b03163314610420576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b600154600160a01b900460ff166102cb576001805460ff60a01b1916600160a01b1790556040517faebf329500988c6488a0074e5a0a9ff304561fc5c6fc877aeb1d59c8282c348090600090a1565b6000546001600160a01b031633146104c7576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205460ff161561053e576001600160a01b038116600081815260026020908152604091829020805460ff19169055815192835290517f3d68a6fce901d20453d1a7aa06bf3950302a735948037deb182a8db66df2a0d19281900390910190a15b50565b6000546001600160a01b031681565b6000546001600160a01b031633146105a8576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205460ff1661053e576001600160a01b038116600081815260026020908152604091829020805460ff19166001179055815192835290517f87286ad1f399c8e82bf0c4ef4fcdc570ea2e1e92176e5c848b6413545b885db49281900390910190a150565b600154600160a01b900460ff1681565b6000546001600160a01b0316331461068b576040805162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a35056fea26469706673582212207d9cead2e3c447c61fdca3caafab858aae3a52603c5fedd169e3819c9bb2abd064736f6c63430006060033"
+ var UpkeepRegistrationRequestsBin = "0x60a060405234801561001057600080fd5b50604051611a94380380611a948339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b031916331790556001600160601b031960609290921b9190911660805260025560805160601c6119fc6100986000398061076f5280610aa25280610d9b52806112db52806115c852506119fc6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806388b12d5511610081578063c4110e5c1161005b578063c4110e5c1461039d578063c4d252f514610522578063f2fde38b1461053f576100c9565b806388b12d55146102c35780638da5cb5b14610310578063a4c0ed3614610318576100c9565b80635772ac92116100b25780635772ac921461021157806379ba50971461025b578063850af0cb14610263576100c9565b8063183310b3146100ce5780631b6b6d23146101ed575b600080fd5b6101eb600480360360c08110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092956001600160a01b03853581169663ffffffff60208801351696604081013590921695509193509091506080810190606001356401000000008111156101ac57600080fd5b8201836020820111156101be57600080fd5b803590602001918460018302840111640100000000831117156101e057600080fd5b919350915035610565565b005b6101f561076d565b604080516001600160a01b039092168252519081900360200190f35b6101eb600480360360a081101561022757600080fd5b50803515159063ffffffff6020820135169061ffff604082013516906001600160a01b036060820135169060800135610791565b6101eb6108fb565b61026b6109be565b60408051971515885263ffffffff909616602088015261ffff948516878701526001600160a01b039093166060870152608086019190915267ffffffffffffffff1660a08501521660c0830152519081900360e00190f35b6102e0600480360360208110156102d957600080fd5b5035610a40565b604080516001600160a01b0390931683526bffffffffffffffffffffffff90911660208301528051918290030190f35b6101f5610a88565b6101eb6004803603606081101561032e57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184600183028401116401000000008311171561039257600080fd5b509092509050610a97565b6101eb60048036036101008110156103b457600080fd5b8101906020810181356401000000008111156103cf57600080fd5b8201836020820111156103e157600080fd5b8035906020019184600183028401116401000000008311171561040357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561045657600080fd5b82018360208201111561046857600080fd5b8035906020019184600183028401116401000000008311171561048a57600080fd5b919390926001600160a01b03833581169363ffffffff60208201351693604082013590921692906080810190606001356401000000008111156104cc57600080fd5b8201836020820111156104de57600080fd5b8035906020019184600183028401116401000000008311171561050057600080fd5b919350915080356bffffffffffffffffffffffff16906020013560ff16610d90565b6101eb6004803603602081101561053857600080fd5b503561116e565b6101eb6004803603602081101561055557600080fd5b50356001600160a01b03166113a3565b6000546001600160a01b031633146105c4576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff169183019190915261065a576040805162461bcd60e51b815260206004820152601160248201527f72657175657374206e6f7420666f756e64000000000000000000000000000000604482015290519081900360640190fd5b6000878787878760405160200180866001600160a01b031681526020018563ffffffff168152602001846001600160a01b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001209050808314610735576040805162461bcd60e51b815260206004820152601d60248201527f6861736820616e64207061796c6f616420646f206e6f74206d61746368000000604482015290519081900360640190fd5b6000838152600360209081526040822091909155820151610762908a908a908a908a908a908a908a611460565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031633146107f0576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6040805160a0808201835287151580835261ffff8716602080850182905263ffffffff8a16858701819052600060608088018290526080978801919091526004805460ff1916861762ffff00191661010086021766ffffffff000000191663010000008402177fffffffffffffffffffffffffffffff00000000000000000000ffffffffffffff16905560028990556005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038c16908117909155885195865292850191909152838701929092529082015291820184905291517f421e8abed178b5e0b94e3f39d2eaa021143b1c90449f70e0f404c911098a1d53929181900390910190a15050505050565b6001546001600160a01b0316331461095a576040805162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b600080543373ffffffffffffffffffffffffffffffffffffffff19808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6040805160a08101825260045460ff8116151580835261ffff610100830481166020850181905263ffffffff630100000085041695850186905267ffffffffffffffff67010000000000000085041660608601819052600160781b9094049091166080909401849052600554600254929691946001600160a01b039091169391565b6000908152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff169290910182905291565b6000546001600160a01b031681565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b14576040805162461bcd60e51b815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b81818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208101517fffffffff0000000000000000000000000000000000000000000000000000000081167fc4110e5c0000000000000000000000000000000000000000000000000000000014610be5576040805162461bcd60e51b815260206004820152601e60248201527f4d757374207573652077686974656c69737465642066756e6374696f6e730000604482015290519081900360640190fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060e4810151828114610c75576040805162461bcd60e51b815260206004820152600f60248201527f416d6f756e74206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b600254881015610ccc576040805162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e74207061796d656e74000000000000000000000000604482015290519081900360640190fd5b6000306001600160a01b031688886040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610d29576040519150601f19603f3d011682016040523d82523d6000602084013e610d2e565b606091505b5050905080610d84576040805162461bcd60e51b815260206004820152601860248201527f556e61626c6520746f2063726561746520726571756573740000000000000000604482015290519081900360640190fd5b50505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e0d576040805162461bcd60e51b815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038516610e68576040805162461bcd60e51b815260206004820152601560248201527f696e76616c69642061646d696e20616464726573730000000000000000000000604482015290519081900360640190fd5b6000878787878760405160200180866001600160a01b031681526020018563ffffffff168152602001846001600160a01b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505096505050505050506040516020818303038152906040528051906020012090508160ff16886001600160a01b0316827fc3f5df4aefec026f610a3fcb08f19476492d69d2cb78b1c2eba259a8820e6a788e8e8e8d8d8d8d8d6040518080602001806020018863ffffffff168152602001876001600160a01b0316815260200180602001856bffffffffffffffffffffffff16815260200184810384528c818151815260200191508051906020019080838360005b83811015610f9b578181015183820152602001610f83565b50505050905090810190601f168015610fc85780820380516001836020036101000a031916815260200191505b5084810383528a81526020018b8b80828437600083820152601f01601f191690910185810383528781526020019050878780828437600083820152604051601f909101601f19169092018290039d50909b505050505050505050505050a46040805160a08101825260045460ff811615801580845261ffff61010084048116602086015263ffffffff63010000008504169585019590955267ffffffffffffffff6701000000000000008404166060850152600160781b9092049093166080830152909161109a575061109a81611796565b156110bd576110a8816117ca565b6110b88c8a8a8a8a8a8a89611460565b611160565b6000828152600360205260408120546110eb90600160a01b90046bffffffffffffffffffffffff1686611882565b6040805180820182526001600160a01b038b811682526bffffffffffffffffffffffff9384166020808401918252600089815260039091529390932091518254935173ffffffffffffffffffffffffffffffffffffffff199094169082161716600160a01b9290931691909102919091179055505b505050505050505050505050565b6000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff16918301919091523314806111ca57506000546001600160a01b031633145b61121b576040805162461bcd60e51b815260206004820152601d60248201527f6f6e6c792061646d696e202f206f776e65722063616e2063616e63656c000000604482015290519081900360640190fd5b80516001600160a01b0316611277576040805162461bcd60e51b815260206004820152601160248201527f72657175657374206e6f7420666f756e64000000000000000000000000000000604482015290519081900360640190fd5b60008281526003602090815260408083208390558382015181517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526bffffffffffffffffffffffff909116602482015290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363a9059cbb93604480850194919392918390030190829087803b15801561132257600080fd5b505af1158015611336573d6000803e3d6000fd5b505050506040513d602081101561134c57600080fd5b505161139f576040805162461bcd60e51b815260206004820152601a60248201527f4c494e4b20746f6b656e207472616e73666572206661696c6564000000000000604482015290519081900360640190fd5b5050565b6000546001600160a01b03163314611402576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6005546040517fda5c67410000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830190815263ffffffff8a1660248401528882166044840152608060648401908152608484018890529190931692600092849263da5c6741928d928d928d928d928d929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561151c57600080fd5b505af1158015611530573d6000803e3d6000fd5b505050506040513d602081101561154657600080fd5b5051604080516020808201849052825180830382018152828401938490527f4000aea0000000000000000000000000000000000000000000000000000000009093526001600160a01b03868116604484019081526bffffffffffffffffffffffff8a166064850152606060848501908152855160a486015285519697506000967f000000000000000000000000000000000000000000000000000000000000000090931695634000aea0958a958d959294939260c490920191908501908083838d5b83811015611620578181015183820152602001611608565b50505050905090810190601f16801561164d5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561166e57600080fd5b505af1158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50519050806116ee576040805162461bcd60e51b815260206004820152601560248201527f6661696c656420746f2066756e642075706b6565700000000000000000000000604482015290519081900360640190fd5b81847fb9a292fb7e3edd920cd2d2829a3615a640c43fd7de0a0820aa0668feb4c37d4b8d6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561174f578181015183820152602001611737565b50505050905090810190601f16801561177c5780820380516001836020036101000a031916815260200191505b509250505060405180910390a35050505050505050505050565b60006117a1826118f4565b816020015161ffff16826080015161ffff1610156117c1575060016117c5565b5060005b919050565b60808101805161ffff600190910181169182905282516004805460208601516040870151606090970151600160781b90960270ffff0000000000000000000000000000001967ffffffffffffffff909716670100000000000000026effffffffffffffff000000000000001963ffffffff90991663010000000266ffffffff00000019939097166101000262ffff001996151560ff199095169490941795909516929092171693909317949094161791909116179055565b60008282016bffffffffffffffffffffffff80851690821610156118ed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000816060015167ffffffffffffffff1643039050816040015163ffffffff168167ffffffffffffffff161061139f57504367ffffffffffffffff166060820181905260006080830152815160048054602085015160409095015160ff199091169215159290921762ffff00191661010061ffff909516949094029390931766ffffffff0000001916630100000063ffffffff90921691909102176effffffffffffffff0000000000000019166701000000000000009091021770ffff0000000000000000000000000000001916905556fea2646970667358221220eabec76a9cee0f90cf34cf6c340ee308fa2febefc48e25d057a2f90aee1ee59064736f6c63430007060033"
+ var VRFConsumerBin = "0x60c060405234801561001057600080fd5b506040516104b33803806104b38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b811660a052911b1660805260805160601c60a05160601c6104316100826000398060e4528061019752508061016852506104316000f3fe608060405234801561001057600080fd5b506004361061004b5760003560e01c80626d6cae146100505780632f47fd861461006a578063866ee7481461007257806394985ddd14610095575b600080fd5b6100586100ba565b60408051918252519081900360200190f35b6100586100c0565b6100586004803603604081101561008857600080fd5b50803590602001356100c6565b6100b8600480360360408110156100ab57600080fd5b50803590602001356100d9565b005b60025481565b60015481565b60006100d28383610164565b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610156576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00604482015290519081900360640190fd5b6101608282610326565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f00000000000000000000000000000000000000000000000000000000000000008486600060405160200180838152602001828152602001925050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561024a578181015183820152602001610232565b50505050905090810190601f1680156102775780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561029857600080fd5b505af11580156102ac573d6000803e3d6000fd5b505050506040513d60208110156102c257600080fd5b50506000838152602081905260408120546102e29085908390309061032e565b60008581526020819052604090205490915061030590600163ffffffff61037516565b60008581526020819052604090205561031e84826103cf565b949350505050565b600155600255565b60408051602080820196909652808201949094526001600160a01b039290921660608401526080808401919091528151808403909101815260a09092019052805191012090565b6000828201838110156100d2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60408051602080820194909452808201929092528051808303820181526060909201905280519101209056fea26469706673582212206dc48627935ac5c392436c3304dfda0e4352f74fedc075d452eacb86b7cd0cbd64736f6c63430006060033"
+ var VRFCoordinatorBin = "0x608060405234801561001057600080fd5b506040516121fa3803806121fa8339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b039384166001600160a01b0319918216179091556002805492909316911617905561213a806100c06000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063a4c0ed361161008c578063d834020911610066578063d834020914610393578063e911439c146103ca578063f2fde38b146103d2578063f3fef3a3146103f8576100e9565b8063a4c0ed3614610285578063b415f4f514610340578063caf70c4a14610348576100e9565b806375d35070116100c857806375d35070146102205780638aa7927b1461023d5780638da5cb5b146102455780638f32d59b14610269576100e9565b80626f6ad0146100ee57806321f36509146101265780635e1c105914610178575b600080fd5b6101146004803603602081101561010457600080fd5b50356001600160a01b0316610424565b60408051918252519081900360200190f35b6101436004803603602081101561013c57600080fd5b5035610436565b604080516001600160a01b0390941684526bffffffffffffffffffffffff909216602084015282820152519081900360600190f35b61021e6004803603602081101561018e57600080fd5b8101906020810181356401000000008111156101a957600080fd5b8201836020820111156101bb57600080fd5b803590602001918460018302840111640100000000831117156101dd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610470945050505050565b005b6101436004803603602081101561023657600080fd5b503561055e565b610114610598565b61024d61059d565b604080516001600160a01b039092168252519081900360200190f35b6102716105ac565b604080519115158252519081900360200190f35b61021e6004803603606081101561029b57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105bd945050505050565b610114610655565b6101146004803603604081101561035e57600080fd5b6040805180820182529183019291818301918390600290839083908082843760009201919091525091945061065a9350505050565b61021e600480360360a08110156103a957600080fd5b508035906001600160a01b03602082013516906040810190608001356106b0565b6101146108fb565b61021e600480360360208110156103e857600080fd5b50356001600160a01b0316610901565b61021e6004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610966565b60056020526000908152604090205481565b600360205260009081526040902080546001909101546001600160a01b03821691600160a01b90046bffffffffffffffffffffffff169083565b600061047a611fc7565b60008061048685610aa2565b600084815260046020908152604080832054828701516001600160a01b039091168085526005909352922054959950939750919550935090916104dc916bffffffffffffffffffffffff1663ffffffff610d9616565b6001600160a01b0382166000908152600560209081526040808320939093558582526003905290812081815560010155835161051b9084908490610df9565b604080518481526020810184905281517fa2e7a402243ebda4a69ceeb3dfb682943b7a9b3ac66d6eefa8db65894009611c929181900390910190a1505050505050565b600460205260009081526040902080546001909101546001600160a01b03821691600160a01b90046bffffffffffffffffffffffff169083565b602081565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001546001600160a01b0316331461061c576040805162461bcd60e51b815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b60008082806020019051604081101561063457600080fd5b508051602090910151909250905061064e82828688610f71565b5050505050565b60e081565b6000816040516020018082600260200280838360005b83811015610688578181015183820152602001610670565b505050509050019150506040516020818303038152906040528051906020012090505b919050565b6106b86105ac565b610709576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60408051808201825260009161073891908590600290839083908082843760009201919091525061065a915050565b6000818152600460205260409020549091506001600160a01b031680156107a6576040805162461bcd60e51b815260206004820152601960248201527f706c656173652072656769737465722061206e6577206b657900000000000000604482015290519081900360640190fd5b6001600160a01b038516610801576040805162461bcd60e51b815260206004820152601760248201527f5f6f7261636c65206d757374206e6f7420626520307830000000000000000000604482015290519081900360640190fd5b6000828152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387161781556001018390556b033b2e3c9fd0803ce80000008611156108865760405162461bcd60e51b815260040180806020018281038252603c815260200180612086603c913960400191505060405180910390fd5b60008281526004602090815260409182902080546001600160a01b0316600160a01b6bffffffffffffffffffffffff8b1602179055815184815290810188905281517fae189157e0628c1e62315e9179156e1ea10e90e9c15060002f7021e907dc2cfe929181900390910190a1505050505050565b6101a081565b6109096105ac565b61095a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610963816111bd565b50565b3360009081526005602052604090205481908111156109cc576040805162461bcd60e51b815260206004820181905260248201527f63616e2774207769746864726177206d6f7265207468616e2062616c616e6365604482015290519081900360640190fd5b336000908152600560205260409020546109ec908363ffffffff61126a16565b3360009081526005602090815260408083209390935560015483517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152602482018890529451949091169363a9059cbb93604480840194938390030190829087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051610a9d57fe5b505050565b6000610aac611fc7565b825160009081906101c0908114610b0a576040805162461bcd60e51b815260206004820152601260248201527f77726f6e672070726f6f66206c656e6774680000000000000000000000000000604482015290519081900360640190fd5b610b12611fe7565b5060e086015181870151602088019190610b2b8361065a565b9750610b3788836112c7565b600081815260036020908152604091829020825160608101845281546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff169382019390935260019091015492810192909252909850909650610be1576040805162461bcd60e51b815260206004820152601860248201527f6e6f20636f72726573706f6e64696e6720726571756573740000000000000000604482015290519081900360640190fd5b6040805160208082018590528183018490528251808303840181526060909201835281519101209088015114610c5e576040805162461bcd60e51b815260206004820152601a60248201527f77726f6e672070726553656564206f7220626c6f636b206e756d000000000000604482015290519081900360640190fd5b804080610d4a57600254604080517fe9413d380000000000000000000000000000000000000000000000000000000081526004810185905290516001600160a01b039092169163e9413d3891602480820192602092909190829003018186803b158015610cca57600080fd5b505afa158015610cde573d6000803e3d6000fd5b505050506040513d6020811015610cf457600080fd5b5051905080610d4a576040805162461bcd60e51b815260206004820152601660248201527f706c656173652070726f766520626c6f636b6861736800000000000000000000604482015290519081900360640190fd5b6040805160208082018690528183018490528251808303840181526060909201909252805191012060e08b018190526101a08b52610d878b6112f3565b96505050505050509193509193565b600082820183811015610df0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b604080516024810185905260448082018590528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f94985ddd00000000000000000000000000000000000000000000000000000000179052600090620324b0805a1015610ec2576040805162461bcd60e51b815260206004820152601b60248201527f6e6f7420656e6f7567682067617320666f7220636f6e73756d65720000000000604482015290519081900360640190fd5b6000846001600160a01b0316836040518082805190602001908083835b60208310610efe5780518252601f199092019160209182019101610edf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f60576040519150601f19603f3d011682016040523d82523d6000602084013e610f65565b606091505b50505050505050505050565b60008481526004602052604090205482908590600160a01b90046bffffffffffffffffffffffff16821015610fed576040805162461bcd60e51b815260206004820152601460248201527f42656c6f7720616772656564207061796d656e74000000000000000000000000604482015290519081900360640190fd5b60008681526006602090815260408083206001600160a01b03871684529091528120549061101d88888785611447565b9050600061102b89836112c7565b6000818152600360205260409020549091506001600160a01b03161561104d57fe5b6000818152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0388161790556b033b2e3c9fd0803ce8000000871061109657fe5b600081815260036020908152604080832080546bffffffffffffffffffffffff8c16600160a01b026001600160a01b0391821617825582518085018890524381850152835180820385018152606082018086528151918701919091206001948501558f875260049095529483902090910154928d905260808401869052891660a084015260c083018a905260e083018490525190917f56bd374744a66d531874338def36c906e3a6cf31176eb1e9afd9f1de69725d5191908190036101000190a260008981526006602090815260408083206001600160a01b038a16845290915290205461118b90600163ffffffff610d9616565b6000998a52600660209081526040808c206001600160a01b039099168c52979052959098209490945550505050505050565b6001600160a01b0381166112025760405162461bcd60e51b81526004018080602001828103825260268152602001806120606026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000828211156112c1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b60006101a082511461134c576040805162461bcd60e51b815260206004820152601260248201527f77726f6e672070726f6f66206c656e6774680000000000000000000000000000604482015290519081900360640190fd5b611354611fe7565b61135c611fe7565b611364612005565b600061136e611fe7565b611376611fe7565b6000888060200190516101a081101561138e57600080fd5b5060e08101516101808201519198506040890197506080890196509450610100880193506101408801925090506113e187878760006020020151886001602002015189600260200201518989898961148e565b6003866040516020018083815260200182600260200280838360005b838110156114155781810151838201526020016113fd565b50505050905001925050506040516020818303038152906040528051906020012060001c975050505050505050919050565b60408051602080820196909652808201949094526001600160a01b039290921660608401526080808401919091528151808403909101815260a09092019052805191012090565b611497896116f3565b6114e8576040805162461bcd60e51b815260206004820152601a60248201527f7075626c6963206b6579206973206e6f74206f6e206375727665000000000000604482015290519081900360640190fd5b6114f1886116f3565b611542576040805162461bcd60e51b815260206004820152601560248201527f67616d6d61206973206e6f74206f6e2063757276650000000000000000000000604482015290519081900360640190fd5b61154b836116f3565b61159c576040805162461bcd60e51b815260206004820152601d60248201527f6347616d6d615769746e657373206973206e6f74206f6e206375727665000000604482015290519081900360640190fd5b6115a5826116f3565b6115f6576040805162461bcd60e51b815260206004820152601c60248201527f73486173685769746e657373206973206e6f74206f6e20637572766500000000604482015290519081900360640190fd5b611602878a888761171d565b611653576040805162461bcd60e51b815260206004820152601a60248201527f6164647228632a706b2b732a6729e289a05f755769746e657373000000000000604482015290519081900360640190fd5b61165b611fe7565b6116658a8761185d565b905061166f611fe7565b61167e898b878b868989611900565b9050600061168f838d8d8a86611a0b565b9050808a146116e5576040805162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f6600000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050505050505050565b60208101516000906401000003d0199080096117168360005b6020020151611b14565b1492915050565b60006001600160a01b03821661177a576040805162461bcd60e51b815260206004820152600b60248201527f626164207769746e657373000000000000000000000000000000000000000000604482015290519081900360640190fd5b60208401516000906001161561179157601c611794565b601b5b9050600070014551231950b75fc4402da1732fc9bebe1985876000602002015109865170014551231950b75fc4402da1732fc9bebe1991820392506000919089098751604080516000808252602082810180855288905260ff8916838501526060830194909452608082018590529151939450909260019260a0808401939192601f1981019281900390910190855afa158015611835573d6000803e3d6000fd5b5050604051601f1901516001600160a01b039081169088161495505050505050949350505050565b611865611fe7565b6118c3600184846040516020018084815260200183600260200280838360005b8381101561189d578181015183820152602001611885565b505050509050018281526020019350505050604051602081830303815290604052611b38565b90505b6118cf816116f3565b610df35780516040805160208181019390935281518082039093018352810190526118f990611b38565b90506118c6565b611908611fe7565b825186516401000003d01991900306611968576040805162461bcd60e51b815260206004820152601e60248201527f706f696e747320696e2073756d206d7573742062652064697374696e63740000604482015290519081900360640190fd5b611973878988611b86565b6119ae5760405162461bcd60e51b81526004018080602001828103825260218152602001806120c26021913960400191505060405180910390fd5b6119b9848685611b86565b6119f45760405162461bcd60e51b81526004018080602001828103825260228152602001806120e36022913960400191505060405180910390fd5b6119ff868484611ca6565b98975050505050505050565b6000600286868685876040516020018087815260200186600260200280838360005b83811015611a45578181015183820152602001611a2d565b5050505090500185600260200280838360005b83811015611a70578181015183820152602001611a58565b5050505090500184600260200280838360005b83811015611a9b578181015183820152602001611a83565b5050505090500183600260200280838360005b83811015611ac6578181015183820152602001611aae565b50505050905001826001600160a01b03166001600160a01b031660601b815260140196505050505050506040516020818303038152906040528051906020012060001c905095945050505050565b6000806401000003d01980848509840990506401000003d019600782089392505050565b611b40611fe7565b611b4982611d6c565b8152611b5e611b5982600061170c565b611da7565b6020820181905260029006600114156106ab576020810180516401000003d019039052919050565b600082611b9257600080fd5b8351602085015160009060011615611bab57601c611bae565b601b5b9050600070014551231950b75fc4402da1732fc9bebe19838709604080516000808252602080830180855282905260ff871683850152606083018890526080830185905292519394509260019260a0808401939192601f1981019281900390910190855afa158015611c24573d6000803e3d6000fd5b5050506020604051035190506000866040516020018082600260200280838360005b83811015611c5e578181015183820152602001611c46565b505050509050019150506040516020818303038152906040528051906020012060001c9050806001600160a01b0316826001600160a01b031614955050505050509392505050565b611cae611fe7565b835160208086015185519186015160009384938493611ccf93909190611dd3565b919450925090506401000003d019858209600114611d34576040805162461bcd60e51b815260206004820152601960248201527f696e765a206d75737420626520696e7665727365206f66207a00000000000000604482015290519081900360640190fd5b60405180604001604052806401000003d01980611d4d57fe5b87860981526020016401000003d0198785099052979650505050505050565b805160208201205b6401000003d01981106106ab57604080516020808201939093528151808203840181529082019091528051910120611d74565b6000610df3827f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffff0c611eb3565b60008080600180826401000003d019896401000003d019038808905060006401000003d0198b6401000003d019038a0890506000611e1383838585611f5a565b9098509050611e2488828e88611f7e565b9098509050611e3588828c87611f7e565b90985090506000611e488d878b85611f7e565b9098509050611e5988828686611f5a565b9098509050611e6a88828e89611f7e565b9098509050818114611e9f576401000003d019818a0998506401000003d01982890997506401000003d0198183099650611ea3565b8196505b5050505050509450945094915050565b600080611ebe612023565b6020808252818101819052604082015260608101859052608081018490526401000003d01960a0820152611ef0612041565b60208160c0846005600019fa925082611f50576040805162461bcd60e51b815260206004820152601260248201527f6269674d6f64457870206661696c757265210000000000000000000000000000604482015290519081900360640190fd5b5195945050505050565b6000806401000003d0198487096401000003d0198487099097909650945050505050565b600080806401000003d019878509905060006401000003d01987876401000003d019030990506401000003d0198183086401000003d01986890990999098509650505050505050565b604080516060810182526000808252602082018190529181019190915290565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b6040518060200160405280600190602082028036833750919291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373796f752063616e277420636861726765206d6f7265207468616e20616c6c20746865204c494e4b20696e2074686520776f726c642c206772656564794669727374206d756c7469706c69636174696f6e20636865636b206661696c65645365636f6e64206d756c7469706c69636174696f6e20636865636b206661696c6564a26469706673582212209df11cae09f0d92fc956e3096bd5448cdd94115af89490206f202fcfdf17510964736f6c63430006060033"
Aug 30, 2021

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL