0x6080604052348015600e575f5ffd5b50335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108608061005b5f395ff3fe608060405260043610610054575f3560e01c8063189ed3561461005857806327e235e3146100805780632e1a7d4d146100bc5780638da5cb5b146100e45780639b5655dc1461010e578063d0e30db014610138575b5f5ffd5b348015610063575f5ffd5b5061007e600480360381019061007991906104dd565b610142565b005b34801561008b575f5ffd5b506100a660048036038101906100a1919061051b565b61025b565b6040516100b39190610555565b60405180910390f35b3480156100c7575f5ffd5b506100e260048036038101906100dd919061056e565b610270565b005b3480156100ef575f5ffd5b506100f861038a565b60405161010591906105a8565b60405180910390f35b348015610119575f5ffd5b506101226103ae565b60405161012f9190610555565b60405180910390f35b6101406103b5565b005b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c79061061b565b60405180910390fd5b80471015610213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020a90610683565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610256573d5f5f3e3d5ffd5b505050565b6001602052805f5260405f205f915090505481565b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156102f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e7906106eb565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610333573d5f5f3e3d5ffd5b508060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103809190610736565b9250508190555050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f47905090565b5f34116103f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ee906107d9565b60405180910390fd5b3460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461044391906107f7565b92505081905550565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61047982610450565b9050919050565b6104898161046f565b8114610493575f5ffd5b50565b5f813590506104a481610480565b92915050565b5f819050919050565b6104bc816104aa565b81146104c6575f5ffd5b50565b5f813590506104d7816104b3565b92915050565b5f5f604083850312156104f3576104f261044c565b5b5f61050085828601610496565b9250506020610511858286016104c9565b9150509250929050565b5f602082840312156105305761052f61044c565b5b5f61053d84828501610496565b91505092915050565b61054f816104aa565b82525050565b5f6020820190506105685f830184610546565b92915050565b5f602082840312156105835761058261044c565b5b5f610590848285016104c9565b91505092915050565b6105a28161046f565b82525050565b5f6020820190506105bb5f830184610599565b92915050565b5f82825260208201905092915050565b7f4e6f742074686520636f6e7472616374206f776e6572000000000000000000005f82015250565b5f6106056016836105c1565b9150610610826105d1565b602082019050919050565b5f6020820190508181035f830152610632816105f9565b9050919050565b7f496e73756666696369656e742074726561737572792062616c616e63650000005f82015250565b5f61066d601d836105c1565b915061067882610639565b602082019050919050565b5f6020820190508181035f83015261069a81610661565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6106d56014836105c1565b91506106e0826106a1565b602082019050919050565b5f6020820190508181035f830152610702816106c9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610740826104aa565b915061074b836104aa565b925082820390508181111561076357610762610709565b5b92915050565b7f4465706f736974206d7573742062652067726561746572207468616e207a65725f8201527f6f00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6107c36021836105c1565b91506107ce82610769565b604082019050919050565b5f6020820190508181035f8301526107f0816107b7565b9050919050565b5f610801826104aa565b915061080c836104aa565b925082820190508082111561082457610823610709565b5b9291505056fea2646970667358221220a138647d2aba0cb92d2aef6a22c80489a75bb2a7688d1847a926c47bca63546864736f6c634300081b0033