0x60806040523480156200001157600080fd5b5060405162000b9a38038062000b9a833981016040819052620000349162000181565b600080546001600160a01b0319166001600160a01b03841690811782556040518492907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060005b8151811015620000cc57620000b9828281518110620000a357620000a36200026a565b60200260200101516001620000d560201b60201c565b620000c48162000280565b905062000080565b505050620002a8565b6000546001600160a01b03163314620001235760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640160405180910390fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b80516001600160a01b03811681146200016657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156200019557600080fd5b620001a0836200014e565b602084810151919350906001600160401b0380821115620001c057600080fd5b818601915086601f830112620001d557600080fd5b815181811115620001ea57620001ea6200016b565b8060051b604051601f19603f830116810181811085821117156200021257620002126200016b565b6040529182528482019250838101850191898311156200023157600080fd5b938501935b828510156200025a576200024a856200014e565b8452938501939285019262000236565b8096505050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b600060018201620002a157634e487b7160e01b600052601160045260246000fd5b5060010190565b6108e280620002b86000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063d4946b4a1161005b578063d4946b4a146100f8578063ef5de7e31461010d578063f2fde38b14610120578063f74907a21461013357600080fd5b806350c358a4146100825780638da5cb5b146100ba578063bf40fac1146100e5575b600080fd5b6100a56100903660046105dc565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6000546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020016100b1565b6100cd6100f3366004610640565b610154565b61010b610106366004610682565b610174565b005b6100cd61011b3660046106d4565b6101ed565b61010b61012e3660046105dc565b6102b8565b610146610141366004610640565b61034c565b6040519081526020016100b1565b600080610161848461034c565b905061016c8161037f565b949350505050565b6000546001600160a01b031633146101c25760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604081205460ff1661021d5760405163502c1d7160e11b815260040160405180910390fd5b8451602086012083156102515785858560405160200161023f93929190610813565b60405160208183030381529060405295505b600061025d898961034c565b9050600061026c82898761046a565b90507fd928a3951eedba2f72a5eb8c15b591ead63c282f21b2f5e93506fb88cae27fec8a8a83866040516102a3949392919061085c565b60405180910390a19998505050505050505050565b6000546001600160a01b031633146103015760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016101b9565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000828260405160200161036192919061088c565b60405160208183030381529060405280519060200120905092915050565b604080518082018252601081526f67363d3d37363d34f03d5260086018f360801b60209182015290516001600160f81b0319918101919091526bffffffffffffffffffffffff193060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f60558201526000908190610423906075015b6040516020818303038152906040528051906020012090565b6040516135a560f21b60208201526bffffffffffffffffffffffff19606083901b166022820152600160f81b60368201529091506104639060370161040a565b9392505050565b6000806040518060400160405280601081526020016f67363d3d37363d34f03d5260086018f360801b81525090506000858251602084016000f590506001600160a01b0381166104f05760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b60448201526064016101b9565b6104f98661037f565b92506000816001600160a01b0316858760405161051691906108a0565b60006040518083038185875af1925050503d8060008114610553576040519150601f19603f3d011682016040523d82523d6000602084013e610558565b606091505b5050905080801561057257506001600160a01b0384163b15155b6105b65760405162461bcd60e51b815260206004820152601560248201527412539255125053125690551253d397d19052531151605a1b60448201526064016101b9565b5050509392505050565b80356001600160a01b03811681146105d757600080fd5b919050565b6000602082840312156105ee57600080fd5b610463826105c0565b60008083601f84011261060957600080fd5b50813567ffffffffffffffff81111561062157600080fd5b60208301915083602082850101111561063957600080fd5b9250929050565b6000806020838503121561065357600080fd5b823567ffffffffffffffff81111561066a57600080fd5b610676858286016105f7565b90969095509350505050565b6000806040838503121561069557600080fd5b61069e836105c0565b9150602083013580151581146106b357600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080600080608087890312156106ed57600080fd5b863567ffffffffffffffff8082111561070557600080fd5b6107118a838b016105f7565b9098509650602089013591508082111561072a57600080fd5b818901915089601f83011261073e57600080fd5b813581811115610750576107506106be565b604051601f8201601f19908116603f01168101908382118183101715610778576107786106be565b816040528281528c602084870101111561079157600080fd5b8260208601602083013760006020848301015280985050505060408901359150808211156107be57600080fd5b506107cb89828a016105f7565b979a9699509497949695606090950135949350505050565b6000815160005b8181101561080457602081850181015186830152016107ea565b50600093019283525090919050565b600061081f82866107e3565b838582376000930192835250909392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000610870606083018688610833565b6001600160a01b03949094166020830152506040015292915050565b60208152600061016c602083018486610833565b600061046382846107e356fea264697066735822122045eac79fe680dccb961ae82cfb3bb7740eff63dd9b2688c1422801466bac22d964736f6c6343000815003300000000000000000000000061bfcdafa35999fa93c10ec746589eb93817a8b900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000552aca1343a6383af32ce1b7c7b1b47959f7ad90000000000000000000000000eef7b7205caf2bcd71437d9acde3874c3388c138