0x60806040526004361061011f5760003560e01c80634b6753bc116100a0578063868bd34b11610064578063868bd34b1461032d578063b3f05b9714610342578063b7a8807c14610357578063f7fb07b01461036c578063fc0c546a146103815761011f565b80634b6753bc146102a65780634bb278f3146102bb57806350188301146102d0578063521eb273146102e557806370a08231146102fa5761011f565b806321eff7fc116100e757806321eff7fc146102015780632c4e722e146102345780634042b66f1461024957806347535d7b1461025e57806349df728c146102735761011f565b80630276650b1461013d5780630c559659146101645780631515bc2b1461019557806321106109146101be57806321bc9a55146101d3575b61013b61012a610396565b6002546001600160a01b031661039b565b005b34801561014957600080fd5b506101526104bf565b60408051918252519081900360200190f35b34801561017057600080fd5b506101796104c5565b604080516001600160a01b039092168252519081900360200190f35b3480156101a157600080fd5b506101aa6104d9565b604080519115158252519081900360200190f35b3480156101ca57600080fd5b506101526104e1565b61013b600480360360408110156101e957600080fd5b506001600160a01b038135811691602001351661039b565b34801561020d57600080fd5b506101526004803603602081101561022457600080fd5b50356001600160a01b03166104e7565b34801561024057600080fd5b50610152610502565b34801561025557600080fd5b5061015261053b565b34801561026a57600080fd5b506101aa610541565b34801561027f57600080fd5b5061013b6004803603602081101561029657600080fd5b50356001600160a01b031661055c565b3480156102b257600080fd5b5061015261065e565b3480156102c757600080fd5b5061013b610664565b3480156102dc57600080fd5b506101aa61073f565b3480156102f157600080fd5b5061017961075e565b34801561030657600080fd5b506101526004803603602081101561031d57600080fd5b50356001600160a01b031661076d565b34801561033957600080fd5b50610152610788565b34801561034e57600080fd5b506101aa61078e565b34801561036357600080fd5b50610152610797565b34801561037857600080fd5b5061015261079d565b34801561038d57600080fd5b506101796108ee565b335b90565b60005460ff166103f2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6000805460ff19169055346104078382610902565b600061041282610979565b600454909150610428908363ffffffff61099d16565b6004556104358482610a00565b836001600160a01b0316610447610396565b6001600160a01b03167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36104998483610a54565b6104a283610aa7565b6104ac8483610975565b50506000805460ff191660011790555050565b600b5481565b600d5461010090046001600160a01b031681565b600754421190565b600c5490565b6001600160a01b03166000908152600a602052604090205490565b600060405162461bcd60e51b8152600401808060200182810382526027815260200180611a9b6027913960400191505060405180910390fd5b60045490565b6000600654421015801561055757506007544211155b905090565b61056461073f565b61056d57600080fd5b6001600160a01b038116600090815260086020526040902054806105c25760405162461bcd60e51b8152600401808060200182810382526038815260200180611ac26038913960400191505060405180910390fd5b6001600160a01b038083166000908152600860205260408120556009541663beabacc86105ed6108ee565b604080516001600160e01b031960e085901b1681526001600160a01b03928316600482015291861660248301526044820185905251606480830192600092919082900301818387803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050505050565b60075490565b600d5460ff16156106a65760405162461bcd60e51b8152600401808060200182810382526027815260200180611b1b6027913960400191505060405180910390fd5b6106ae6104d9565b6106ff576040805162461bcd60e51b815260206004820181905260248201527f46696e616c697a61626c6543726f776473616c653a206e6f7420636c6f736564604482015290519081900360640190fd5b600d805460ff19166001179055610714610b51565b6040517f9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf73183690600090a1565b6007546000906107579061070863ffffffff61099d16565b4211905090565b6001546001600160a01b031690565b6001600160a01b031660009081526008602052604090205490565b60055481565b600d5460ff1690565b60065490565b60006107a7610541565b6107b357506000610398565b60006107bd61053b565b600c5490915067d02ab486cedc00008210156107fe576107f560646107e98360fa63ffffffff610dc016565b9063ffffffff610e1916565b92505050610398565b6801a055690d9db80000821015610825576107f560646107e98360c863ffffffff610dc016565b680270801d946c94000082101561084c576107f560646107e98360af63ffffffff610dc016565b680410d586a20a4c0000821015610873576107f560646107e983609663ffffffff610dc016565b6805b12aefafa804000082101561089a576107f560646107e983607863ffffffff610dc016565b6807518058bd45bc00008210156108c1576107f560646107e983606e63ffffffff610dc016565b68097c9ce4cf6d5c00008210156108e8576107f560646107e983606963ffffffff610dc016565b91505090565b60005461010090046001600160a01b031690565b61090c8282610e5b565b600b546001600160a01b0383166000908152600a6020526040902054610938908363ffffffff61099d16565b11156109755760405162461bcd60e51b8152600401808060200182810382526037815260200180611b6c6037913960400191505060405180910390fd5b5050565b60008061098461079d565b9050610996818463ffffffff610dc016565b9392505050565b6000828201838110156109f7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b038216600090815260086020526040902054610a29908263ffffffff61099d16565b6001600160a01b03808416600090815260086020526040902091909155600954610975911682610ebe565b610a5e8282610975565b6001600160a01b0382166000908152600a6020526040902054610a87908263ffffffff61099d16565b6001600160a01b039092166000908152600a602052604090209190915550565b346000610ac060646107e984600563ffffffff610dc016565b9050610acb83610fa2565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610b03573d6000803e3d6000fd5b506001546001600160a01b03166108fc610b23848463ffffffff61100116565b6040518115909202916000818181858888f19350505050158015610b4b573d6000803e3d6000fd5b50505050565b6000610bd66103ca6107e9601e610b666108ee565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9e57600080fd5b505afa158015610bb2573d6000803e3d6000fd5b505050506040513d6020811015610bc857600080fd5b50519063ffffffff610dc016565b90506000610bed6103846107e96064610b666108ee565b9050610bf76108ee565b610bff61075e565b610c13426305a39a8063ffffffff61099d16565b83604051610c20906111d8565b6001600160a01b0394851681529290931660208301526040808301919091526060820192909252905190819003608001906000f080158015610c66573d6000803e3d6000fd5b50600d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550610c956108ee565b6001600160a01b03166340c10f19610cab61075e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610cfb57600080fd5b505af1158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b50610d3090506108ee565b600d54604080516340c10f1960e01b81526101009092046001600160a01b0390811660048401526024830185905290519216916340c10f19916044808201926020929091908290030181600087803b158015610d8b57600080fd5b505af1158015610d9f573d6000803e3d6000fd5b505050506040513d6020811015610db557600080fd5b506109759050611043565b600082610dcf575060006109fa565b82820282848281610ddc57fe5b04146109f75760405162461bcd60e51b8152600401808060200182810382526021815260200180611afa6021913960400191505060405180910390fd5b60006109f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611045565b610e63610541565b610eb4576040805162461bcd60e51b815260206004820152601860248201527f54696d656443726f776473616c653a206e6f74206f70656e0000000000000000604482015290519081900360640190fd5b61097582826110e7565b610ec66108ee565b6001600160a01b03166340c10f1983836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610f2557600080fd5b505af1158015610f39573d6000803e3d6000fd5b505050506040513d6020811015610f4f57600080fd5b5051610975576040805162461bcd60e51b815260206004820152601f60248201527f4d696e74656443726f776473616c653a206d696e74696e67206661696c656400604482015290519081900360640190fd5b60006001600160a01b0382161580610fc357506001600160a01b0382166001145b80610fe65750610fd1610396565b6001600160a01b0316826001600160a01b0316145b610ff057816109fa565b50506002546001600160a01b031690565b60006109f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061117e565b565b600081836110d15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561109657818101518382015260200161107e565b50505050905090810190601f1680156110c35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816110dd57fe5b0495945050505050565b6001600160a01b03821661112c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b42602a913960400191505060405180910390fd5b80610975576040805162461bcd60e51b815260206004820152601960248201527f43726f776473616c653a20776569416d6f756e74206973203000000000000000604482015290519081900360640190fd5b600081848411156111d05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561109657818101518382015260200161107e565b505050900390565b6108b5806111e68339019056fe60806040524260035534801561001457600080fd5b506040516108b53803806108b58339818101604052608081101561003757600080fd5b508051602082015160408301516060909301519192909142821161008c5760405162461bcd60e51b81526004018080602001828103825260328152602001806108836032913960400191505060405180910390fd5b600080546001600160a01b039586166001600160a01b03199182161790915560018054949095169316929092179092556002919091556005556107af806100d46000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b91d40011161005b578063b91d4001146100dd578063e33b7de3146100e5578063fbccedae146100ed578063fc0c546a146100f557610088565b806338af3eed1461008d57806378e97925146100b157806386d1a69f146100cb57806390b17c4a146100d5575b600080fd5b6100956100fd565b604080516001600160a01b039092168252519081900360200190f35b6100b961010d565b60408051918252519081900360200190f35b6100d3610113565b005b6100b961018c565b6100b9610192565b6100b9610198565b6100b961019e565b6100956102ca565b6001546001600160a01b03165b90565b60035481565b600061011d61019e565b90506000811161015e5760405162461bcd60e51b81526004018080602001828103825260238152602001806107586023913960400191505060405180910390fd5b6004805482019055600154600054610189916001600160a01b0391821691168363ffffffff6102d916565b50565b60055481565b60025490565b60045481565b6000806101b860035460025461033090919063ffffffff16565b905060006101d16003544261033090919063ffffffff16565b905060006101f6836101ea84606463ffffffff61037b16565b9063ffffffff6103d416565b9050600061021460646101ea8460055461037b90919063ffffffff16565b9050600061022d6004548361033090919063ffffffff16565b60008054604080516370a0823160e01b8152306004820152905193945091926001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561027d57600080fd5b505afa158015610291573d6000803e3d6000fd5b505050506040513d60208110156102a757600080fd5b50519050808211156102c057955061010a945050505050565b5094505050505090565b6000546001600160a01b031690565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261032b908490610416565b505050565b600061037283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d4565b90505b92915050565b60008261038a57506000610375565b8282028284828161039757fe5b04146103725760405162461bcd60e51b815260040180806020018281038252602181526020018061070d6021913960400191505060405180910390fd5b600061037283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061066b565b610428826001600160a01b03166106d0565b610479576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104b75780518252601f199092019160209182019101610498565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610519576040519150601f19603f3d011682016040523d82523d6000602084013e61051e565b606091505b509150915081610575576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ce5780806020019051602081101561059157600080fd5b50516105ce5760405162461bcd60e51b815260040180806020018281038252602a81526020018061072e602a913960400191505060405180910390fd5b50505050565b600081848411156106635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610628578181015183820152602001610610565b50505050905090810190601f1680156106555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106ba5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610628578181015183820152602001610610565b5060008385816106c657fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061070457508115155b94935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c65617365a265627a7a72315820f3fb05e6cc2c007dbd133b379469a05f776d7b3116e96464bb7c7310ca72416564736f6c63430005110032546f6b656e54696d656c6f636b3a2072656c656173652074696d65206973206265666f72652063757272656e742074696d65496e6372656173696e67507269636543726f776473616c653a207261746528292063616c6c6564506f737444656c697665727943726f776473616c653a2062656e6566696369617279206973206e6f742064756520616e7920746f6b656e73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696e616c697a61626c6543726f776473616c653a20616c72656164792066696e616c697a656443726f776473616c653a2062656e656669636961727920697320746865207a65726f2061646472657373496e646976696475616c6c7943617070656443726f776473616c653a2062656e6566696369617279277320636170206578636565646564a265627a7a72315820a83a3492c5292e451bb1beca8144ccd3eea6a105a1b61fc0917cbd38169683b764736f6c63430005110032
0x6080604052600580556103e8600e556729a2241af62c0000600f553480156200002757600080fd5b506040516200231938038062002319833981810160405260808110156200004d57600080fd5b50805160208201516040830151606090930151600e54600f546000805460ff1916600117905593949293838383888882620000cf576040805162461bcd60e51b815260206004820152601460248201527f43726f776473616c653a20726174652069732030000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038216620001165760405162461bcd60e51b8152600401808060200182810382526025815260200180620022f46025913960400191505060405180910390fd5b6001600160a01b0381166200015d5760405162461bcd60e51b8152600401808060200182810382526024815260200180620022d06024913960400191505060405180910390fd5b6003839055600180546001600160a01b0319166001600160a01b03841617905562000187620002b0565b600280546001600160a01b0319166001600160a01b0392831617905560008054610100600160a81b03191661010093909216929092021790555050818111620002025760405162461bcd60e51b8152600401808060200182810382526037815260200180620022706037913960400191505060405180910390fd5b6006919091556007556040516200021990620002b4565b604051809103906000f08015801562000236573d6000803e3d6000fd5b50600980546001600160a01b0319166001600160a01b0392909216919091179055600b5580620002985760405162461bcd60e51b8152600401808060200182810382526029815260200180620022a76029913960400191505060405180910390fd5b600c555050600d805460ff1916905550620002c29050565b3390565b6103c78062001ea983390190565b611bd780620002d26000396000f3fe60806040526004361061011f5760003560e01c80634b6753bc116100a0578063868bd34b11610064578063868bd34b1461032d578063b3f05b9714610342578063b7a8807c14610357578063f7fb07b01461036c578063fc0c546a146103815761011f565b80634b6753bc146102a65780634bb278f3146102bb57806350188301146102d0578063521eb273146102e557806370a08231146102fa5761011f565b806321eff7fc116100e757806321eff7fc146102015780632c4e722e146102345780634042b66f1461024957806347535d7b1461025e57806349df728c146102735761011f565b80630276650b1461013d5780630c559659146101645780631515bc2b1461019557806321106109146101be57806321bc9a55146101d3575b61013b61012a610396565b6002546001600160a01b031661039b565b005b34801561014957600080fd5b506101526104bf565b60408051918252519081900360200190f35b34801561017057600080fd5b506101796104c5565b604080516001600160a01b039092168252519081900360200190f35b3480156101a157600080fd5b506101aa6104d9565b604080519115158252519081900360200190f35b3480156101ca57600080fd5b506101526104e1565b61013b600480360360408110156101e957600080fd5b506001600160a01b038135811691602001351661039b565b34801561020d57600080fd5b506101526004803603602081101561022457600080fd5b50356001600160a01b03166104e7565b34801561024057600080fd5b50610152610502565b34801561025557600080fd5b5061015261053b565b34801561026a57600080fd5b506101aa610541565b34801561027f57600080fd5b5061013b6004803603602081101561029657600080fd5b50356001600160a01b031661055c565b3480156102b257600080fd5b5061015261065e565b3480156102c757600080fd5b5061013b610664565b3480156102dc57600080fd5b506101aa61073f565b3480156102f157600080fd5b5061017961075e565b34801561030657600080fd5b506101526004803603602081101561031d57600080fd5b50356001600160a01b031661076d565b34801561033957600080fd5b50610152610788565b34801561034e57600080fd5b506101aa61078e565b34801561036357600080fd5b50610152610797565b34801561037857600080fd5b5061015261079d565b34801561038d57600080fd5b506101796108ee565b335b90565b60005460ff166103f2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6000805460ff19169055346104078382610902565b600061041282610979565b600454909150610428908363ffffffff61099d16565b6004556104358482610a00565b836001600160a01b0316610447610396565b6001600160a01b03167f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b8484604051808381526020018281526020019250505060405180910390a36104998483610a54565b6104a283610aa7565b6104ac8483610975565b50506000805460ff191660011790555050565b600b5481565b600d5461010090046001600160a01b031681565b600754421190565b600c5490565b6001600160a01b03166000908152600a602052604090205490565b600060405162461bcd60e51b8152600401808060200182810382526027815260200180611a9b6027913960400191505060405180910390fd5b60045490565b6000600654421015801561055757506007544211155b905090565b61056461073f565b61056d57600080fd5b6001600160a01b038116600090815260086020526040902054806105c25760405162461bcd60e51b8152600401808060200182810382526038815260200180611ac26038913960400191505060405180910390fd5b6001600160a01b038083166000908152600860205260408120556009541663beabacc86105ed6108ee565b604080516001600160e01b031960e085901b1681526001600160a01b03928316600482015291861660248301526044820185905251606480830192600092919082900301818387803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050505050565b60075490565b600d5460ff16156106a65760405162461bcd60e51b8152600401808060200182810382526027815260200180611b1b6027913960400191505060405180910390fd5b6106ae6104d9565b6106ff576040805162461bcd60e51b815260206004820181905260248201527f46696e616c697a61626c6543726f776473616c653a206e6f7420636c6f736564604482015290519081900360640190fd5b600d805460ff19166001179055610714610b51565b6040517f9270cc390c096600a1c17c44345a1ba689fafd99d97487b10cfccf86cf73183690600090a1565b6007546000906107579061070863ffffffff61099d16565b4211905090565b6001546001600160a01b031690565b6001600160a01b031660009081526008602052604090205490565b60055481565b600d5460ff1690565b60065490565b60006107a7610541565b6107b357506000610398565b60006107bd61053b565b600c5490915067d02ab486cedc00008210156107fe576107f560646107e98360fa63ffffffff610dc016565b9063ffffffff610e1916565b92505050610398565b6801a055690d9db80000821015610825576107f560646107e98360c863ffffffff610dc016565b680270801d946c94000082101561084c576107f560646107e98360af63ffffffff610dc016565b680410d586a20a4c0000821015610873576107f560646107e983609663ffffffff610dc016565b6805b12aefafa804000082101561089a576107f560646107e983607863ffffffff610dc016565b6807518058bd45bc00008210156108c1576107f560646107e983606e63ffffffff610dc016565b68097c9ce4cf6d5c00008210156108e8576107f560646107e983606963ffffffff610dc016565b91505090565b60005461010090046001600160a01b031690565b61090c8282610e5b565b600b546001600160a01b0383166000908152600a6020526040902054610938908363ffffffff61099d16565b11156109755760405162461bcd60e51b8152600401808060200182810382526037815260200180611b6c6037913960400191505060405180910390fd5b5050565b60008061098461079d565b9050610996818463ffffffff610dc016565b9392505050565b6000828201838110156109f7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b038216600090815260086020526040902054610a29908263ffffffff61099d16565b6001600160a01b03808416600090815260086020526040902091909155600954610975911682610ebe565b610a5e8282610975565b6001600160a01b0382166000908152600a6020526040902054610a87908263ffffffff61099d16565b6001600160a01b039092166000908152600a602052604090209190915550565b346000610ac060646107e984600563ffffffff610dc016565b9050610acb83610fa2565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610b03573d6000803e3d6000fd5b506001546001600160a01b03166108fc610b23848463ffffffff61100116565b6040518115909202916000818181858888f19350505050158015610b4b573d6000803e3d6000fd5b50505050565b6000610bd66103ca6107e9601e610b666108ee565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9e57600080fd5b505afa158015610bb2573d6000803e3d6000fd5b505050506040513d6020811015610bc857600080fd5b50519063ffffffff610dc016565b90506000610bed6103846107e96064610b666108ee565b9050610bf76108ee565b610bff61075e565b610c13426305a39a8063ffffffff61099d16565b83604051610c20906111d8565b6001600160a01b0394851681529290931660208301526040808301919091526060820192909252905190819003608001906000f080158015610c66573d6000803e3d6000fd5b50600d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550610c956108ee565b6001600160a01b03166340c10f19610cab61075e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610cfb57600080fd5b505af1158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b50610d3090506108ee565b600d54604080516340c10f1960e01b81526101009092046001600160a01b0390811660048401526024830185905290519216916340c10f19916044808201926020929091908290030181600087803b158015610d8b57600080fd5b505af1158015610d9f573d6000803e3d6000fd5b505050506040513d6020811015610db557600080fd5b506109759050611043565b600082610dcf575060006109fa565b82820282848281610ddc57fe5b04146109f75760405162461bcd60e51b8152600401808060200182810382526021815260200180611afa6021913960400191505060405180910390fd5b60006109f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611045565b610e63610541565b610eb4576040805162461bcd60e51b815260206004820152601860248201527f54696d656443726f776473616c653a206e6f74206f70656e0000000000000000604482015290519081900360640190fd5b61097582826110e7565b610ec66108ee565b6001600160a01b03166340c10f1983836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610f2557600080fd5b505af1158015610f39573d6000803e3d6000fd5b505050506040513d6020811015610f4f57600080fd5b5051610975576040805162461bcd60e51b815260206004820152601f60248201527f4d696e74656443726f776473616c653a206d696e74696e67206661696c656400604482015290519081900360640190fd5b60006001600160a01b0382161580610fc357506001600160a01b0382166001145b80610fe65750610fd1610396565b6001600160a01b0316826001600160a01b0316145b610ff057816109fa565b50506002546001600160a01b031690565b60006109f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061117e565b565b600081836110d15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561109657818101518382015260200161107e565b50505050905090810190601f1680156110c35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816110dd57fe5b0495945050505050565b6001600160a01b03821661112c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b42602a913960400191505060405180910390fd5b80610975576040805162461bcd60e51b815260206004820152601960248201527f43726f776473616c653a20776569416d6f756e74206973203000000000000000604482015290519081900360640190fd5b600081848411156111d05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561109657818101518382015260200161107e565b505050900390565b6108b5806111e68339019056fe60806040524260035534801561001457600080fd5b506040516108b53803806108b58339818101604052608081101561003757600080fd5b508051602082015160408301516060909301519192909142821161008c5760405162461bcd60e51b81526004018080602001828103825260328152602001806108836032913960400191505060405180910390fd5b600080546001600160a01b039586166001600160a01b03199182161790915560018054949095169316929092179092556002919091556005556107af806100d46000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b91d40011161005b578063b91d4001146100dd578063e33b7de3146100e5578063fbccedae146100ed578063fc0c546a146100f557610088565b806338af3eed1461008d57806378e97925146100b157806386d1a69f146100cb57806390b17c4a146100d5575b600080fd5b6100956100fd565b604080516001600160a01b039092168252519081900360200190f35b6100b961010d565b60408051918252519081900360200190f35b6100d3610113565b005b6100b961018c565b6100b9610192565b6100b9610198565b6100b961019e565b6100956102ca565b6001546001600160a01b03165b90565b60035481565b600061011d61019e565b90506000811161015e5760405162461bcd60e51b81526004018080602001828103825260238152602001806107586023913960400191505060405180910390fd5b6004805482019055600154600054610189916001600160a01b0391821691168363ffffffff6102d916565b50565b60055481565b60025490565b60045481565b6000806101b860035460025461033090919063ffffffff16565b905060006101d16003544261033090919063ffffffff16565b905060006101f6836101ea84606463ffffffff61037b16565b9063ffffffff6103d416565b9050600061021460646101ea8460055461037b90919063ffffffff16565b9050600061022d6004548361033090919063ffffffff16565b60008054604080516370a0823160e01b8152306004820152905193945091926001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561027d57600080fd5b505afa158015610291573d6000803e3d6000fd5b505050506040513d60208110156102a757600080fd5b50519050808211156102c057955061010a945050505050565b5094505050505090565b6000546001600160a01b031690565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261032b908490610416565b505050565b600061037283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d4565b90505b92915050565b60008261038a57506000610375565b8282028284828161039757fe5b04146103725760405162461bcd60e51b815260040180806020018281038252602181526020018061070d6021913960400191505060405180910390fd5b600061037283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061066b565b610428826001600160a01b03166106d0565b610479576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104b75780518252601f199092019160209182019101610498565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610519576040519150601f19603f3d011682016040523d82523d6000602084013e61051e565b606091505b509150915081610575576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ce5780806020019051602081101561059157600080fd5b50516105ce5760405162461bcd60e51b815260040180806020018281038252602a81526020018061072e602a913960400191505060405180910390fd5b50505050565b600081848411156106635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610628578181015183820152602001610610565b50505050905090810190601f1680156106555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106ba5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610628578181015183820152602001610610565b5060008385816106c657fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061070457508115155b94935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c65617365a265627a7a72315820f3fb05e6cc2c007dbd133b379469a05f776d7b3116e96464bb7c7310ca72416564736f6c63430005110032546f6b656e54696d656c6f636b3a2072656c656173652074696d65206973206265666f72652063757272656e742074696d65496e6372656173696e67507269636543726f776473616c653a207261746528292063616c6c6564506f737444656c697665727943726f776473616c653a2062656e6566696369617279206973206e6f742064756520616e7920746f6b656e73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696e616c697a61626c6543726f776473616c653a20616c72656164792066696e616c697a656443726f776473616c653a2062656e656669636961727920697320746865207a65726f2061646472657373496e646976696475616c6c7943617070656443726f776473616c653a2062656e6566696369617279277320636170206578636565646564a265627a7a72315820a83a3492c5292e451bb1beca8144ccd3eea6a105a1b61fc0917cbd38169683b764736f6c63430005110032608060405260006100176001600160e01b0361007216565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252519192507f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d9919081900360200190a150610076565b3390565b610342806100856000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632348238c14610046578063beabacc81461006e578063c6dbdf61146100a4575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b03166100c8565b005b61006c6004803603606081101561008457600080fd5b506001600160a01b038135811691602081013590911690604001356101ba565b6100ac6102a4565b604080516001600160a01b039092168252519081900360200190f35b6000546001600160a01b03166100dc6102b3565b6001600160a01b0316146101215760405162461bcd60e51b815260040180806020018281038252602c8152602001806102e2602c913960400191505060405180910390fd5b6001600160a01b0381166101665760405162461bcd60e51b815260040180806020018281038252602a8152602001806102b8602a913960400191505060405180910390fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4101e71e974f68df5e9730cc223280b41654676bbb052cdcc735c3337e64d2d99181900360200190a150565b6000546001600160a01b03166101ce6102b3565b6001600160a01b0316146102135760405162461bcd60e51b815260040180806020018281038252602c8152602001806102e2602c913960400191505060405180910390fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561027357600080fd5b505af1158015610287573d6000803e3d6000fd5b505050506040513d602081101561029d57600080fd5b5050505050565b6000546001600160a01b031690565b339056fe5365636f6e646172793a206e6577207072696d61727920697320746865207a65726f20616464726573735365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74a265627a7a72315820717e39473f72313df8705fba93d6a2d03cab9ad121167ae91aa11e5c1aff8afc64736f6c6343000511003254696d656443726f776473616c653a206f70656e696e672074696d65206973206e6f74206265666f726520636c6f73696e672074696d65496e6372656173696e67507269636543726f776473616c653a2066696e616c2072617465206973203043726f776473616c653a20746f6b656e20697320746865207a65726f206164647265737343726f776473616c653a2077616c6c657420697320746865207a65726f2061646472657373000000000000000000000000323ab83685f0aa6333df4b59c188f37f68a57d22000000000000000000000000ad3134002a2d3b40135d02492c46c8068d26f18a000000000000000000000000000000000000000000000000000000005fb2a200000000000000000000000000000000000000000000000000000000005fb3f380