0x60806040525f5f5f6101000a81548160ff0219169083151502179055503480156026575f5ffd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610809806100745f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80633b111c251461005957806349f42779146100755780638da5cb5b146100a5578063eb2d5ffe146100c3578063f2fde38b146100f3575b5f5ffd5b610073600480360381019061006e91906104c4565b61010f565b005b61008f600480360381019061008a9190610502565b6102b9565b60405161009c919061054f565b60405180910390f35b6100ad6102c3565b6040516100ba919061054f565b60405180910390f35b6100dd60048036038101906100d891906104c4565b6102e8565b6040516100ea9190610577565b60405180910390f35b61010d60048036038101906101089190610590565b6102f3565b005b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017490610615565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682836040516024016101a79190610577565b6040516020818303038152906040527fa6b206bf000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516102319190610685565b5f6040518083038185875af1925050503d805f811461026b576040519150601f19603f3d011682016040523d82523d5f602084013e610270565b606091505b50509050806102b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ab906106e5565b60405180910390fd5b505050565b5f5f905092915050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f602a905092915050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103799061074d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e7906107b5565b60405180910390fd5b805f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61046082610437565b9050919050565b61047081610456565b811461047a575f5ffd5b50565b5f8135905061048b81610467565b92915050565b5f819050919050565b6104a381610491565b81146104ad575f5ffd5b50565b5f813590506104be8161049a565b92915050565b5f5f604083850312156104da576104d9610433565b5b5f6104e78582860161047d565b92505060206104f8858286016104b0565b9150509250929050565b5f5f6040838503121561051857610517610433565b5b5f610525858286016104b0565b9250506020610536858286016104b0565b9150509250929050565b61054981610456565b82525050565b5f6020820190506105625f830184610540565b92915050565b61057181610491565b82525050565b5f60208201905061058a5f830184610568565b92915050565b5f602082840312156105a5576105a4610433565b5b5f6105b28482850161047d565b91505092915050565b5f82825260208201905092915050565b7f496e76616c696420636f6e7472616374206164647265737300000000000000005f82015250565b5f6105ff6018836105bb565b915061060a826105cb565b602082019050919050565b5f6020820190508181035f83015261062c816105f3565b9050919050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61065f82610633565b610669818561063d565b9350610679818560208601610647565b80840191505092915050565b5f6106908284610655565b915081905092915050565b7f4661696c656420746f2063616c6c206f7468657220636f6e74726163740000005f82015250565b5f6106cf601d836105bb565b91506106da8261069b565b602082019050919050565b5f6020820190508181035f8301526106fc816106c3565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6107376017836105bb565b915061074282610703565b602082019050919050565b5f6020820190508181035f8301526107648161072b565b9050919050565b7f496e76616c6964206164647265737320666f72206e6577206f776e65720000005f82015250565b5f61079f601d836105bb565b91506107aa8261076b565b602082019050919050565b5f6020820190508181035f8301526107cc81610793565b905091905056fea2646970667358221220e359ebdc059291aaa1e43df22029fa55fd2166f0b2b152917cfb0cc442f57bf964736f6c634300081c0033