0x60806040527337504ae0282f5f334ed29b4548646f887977b7cc600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b5061008261007761008760201b60201c565b61008f60201b60201c565b610153565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610bd4806101626000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b14610066578063d96a094a14610091578063e7572230146100ad578063f2fde38b146100ec575b600080fd5b34801561005b57600080fd5b50610064610115565b005b34801561007257600080fd5b5061007b61019d565b604051610088919061084a565b60405180910390f35b6100ab60048036038101906100a691906107bd565b6101c6565b005b3480156100b957600080fd5b506100d460048036038101906100cf91906107bd565b61040d565b6040516100e393929190610912565b60405180910390f35b3480156100f857600080fd5b50610113600480360381019061010e9190610731565b610504565b005b61011d6105fc565b73ffffffffffffffffffffffffffffffffffffffff1661013b61019d565b73ffffffffffffffffffffffffffffffffffffffff1614610191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018890610885565b60405180910390fd5b61019b6000610604565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060006101d48461040d565b9250925092508034146101e657600080fd5b6101ee61019d565b73ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610233573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363a0607b84866040518363ffffffff1660e01b815260040161029091906108a5565b6000604051808303818588803b1580156102a957600080fd5b505af11580156102bd573d6000803e3d6000fd5b5050505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6caa959857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161033f9291906108e9565b600060405180830381600087803b15801561035957600080fd5b505af115801561036d573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b3e2002856103b86105fc565b6040518363ffffffff1660e01b81526004016103d59291906108c0565b600060405180830381600087803b1580156103ef57600080fd5b505af1158015610403573d6000803e3d6000fd5b5050505050505050565b600080600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663676cfec6866040518263ffffffff1660e01b815260040161046e91906108a5565b60806040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104be919061075a565b5092505050600061271060c8836104d591906109e1565b6104df91906109b0565b9050600081836104ef919061095a565b90508282829550955095505050509193909250565b61050c6105fc565b73ffffffffffffffffffffffffffffffffffffffff1661052a61019d565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057790610885565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e790610865565b60405180910390fd5b6105f981610604565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506106d781610b59565b92915050565b6000815190506106ec81610b59565b92915050565b60008151905061070181610b70565b92915050565b60008135905061071681610b87565b92915050565b60008151905061072b81610b87565b92915050565b60006020828403121561074357600080fd5b6000610751848285016106c8565b91505092915050565b6000806000806080858703121561077057600080fd5b600061077e878288016106dd565b945050602061078f878288016106f2565b93505060406107a08782880161071c565b92505060606107b18782880161071c565b91505092959194509250565b6000602082840312156107cf57600080fd5b60006107dd84828501610707565b91505092915050565b6107ef81610a3b565b82525050565b6000610802602683610949565b915061080d82610ae1565b604082019050919050565b6000610825602083610949565b915061083082610b30565b602082019050919050565b61084481610a79565b82525050565b600060208201905061085f60008301846107e6565b92915050565b6000602082019050818103600083015261087e816107f5565b9050919050565b6000602082019050818103600083015261089e81610818565b9050919050565b60006020820190506108ba600083018461083b565b92915050565b60006040820190506108d5600083018561083b565b6108e260208301846107e6565b9392505050565b60006040820190506108fe600083018561083b565b61090b602083018461083b565b9392505050565b6000606082019050610927600083018661083b565b610934602083018561083b565b610941604083018461083b565b949350505050565b600082825260208201905092915050565b600061096582610a79565b915061097083610a79565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156109a5576109a4610a83565b5b828201905092915050565b60006109bb82610a79565b91506109c683610a79565b9250826109d6576109d5610ab2565b5b828204905092915050565b60006109ec82610a79565b91506109f783610a79565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a3057610a2f610a83565b5b828202905092915050565b6000610a4682610a59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b610b6281610a3b565b8114610b6d57600080fd5b50565b610b7981610a4d565b8114610b8457600080fd5b50565b610b9081610a79565b8114610b9b57600080fd5b5056fea264697066735822122055a9c42945a16f183e2dfaeabdebb7aa02e2f9a6d4fd8f1fdfd3da2dc8be4cb964736f6c63430008040033