0x60806040526040518060400160405280600a81526020017f4e65646572746f6b656e000000000000000000000000000000000000000000008152505f90816100479190610345565b506040518060400160405280600381526020017f4e445400000000000000000000000000000000000000000000000000000000008152506001908161008c9190610345565b50348015610098575f80fd5b50604051610b15380380610b1583398181016040528101906100ba9190610442565b8060028190555060025460035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505061046d565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061018657607f821691505b60208210810361019957610198610142565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101fb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826101c0565b61020586836101c0565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61024961024461023f8461021d565b610226565b61021d565b9050919050565b5f819050919050565b6102628361022f565b61027661026e82610250565b8484546101cc565b825550505050565b5f90565b61028a61027e565b610295818484610259565b505050565b5b818110156102b8576102ad5f82610282565b60018101905061029b565b5050565b601f8211156102fd576102ce8161019f565b6102d7846101b1565b810160208510156102e6578190505b6102fa6102f2856101b1565b83018261029a565b50505b505050565b5f82821c905092915050565b5f61031d5f1984600802610302565b1980831691505092915050565b5f610335838361030e565b9150826002028217905092915050565b61034e8261010b565b67ffffffffffffffff81111561036757610366610115565b5b610371825461016f565b61037c8282856102bc565b5f60209050601f8311600181146103ad575f841561039b578287015190505b6103a5858261032a565b86555061040c565b601f1984166103bb8661019f565b5f5b828110156103e2578489015182556001820191506020850194506020810190506103bd565b868310156103ff57848901516103fb601f89168261030e565b8355505b6001600288020188555050505b505050505050565b5f80fd5b6104218161021d565b811461042b575f80fd5b50565b5f8151905061043c81610418565b92915050565b5f6020828403121561045757610456610414565b5b5f6104648482850161042e565b91505092915050565b61069b8061047a5f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806306fdde031461005957806318160ddd1461007757806370a082311461009557806395d89b41146100c5578063a9059cbb146100e3575b5f80fd5b6100616100ff565b60405161006e91906103cb565b60405180910390f35b61007f61018a565b60405161008c9190610403565b60405180910390f35b6100af60048036038101906100aa919061047a565b610190565b6040516100bc9190610403565b60405180910390f35b6100cd6101a5565b6040516100da91906103cb565b60405180910390f35b6100fd60048036038101906100f891906104cf565b610231565b005b5f805461010b9061053a565b80601f01602080910402602001604051908101604052809291908181526020018280546101379061053a565b80156101825780601f1061015957610100808354040283529160200191610182565b820191905f5260205f20905b81548152906001019060200180831161016557829003601f168201915b505050505081565b60025481565b6003602052805f5260405f205f915090505481565b600180546101b29061053a565b80601f01602080910402602001604051908101604052809291908181526020018280546101de9061053a565b80156102295780601f1061020057610100808354040283529160200191610229565b820191905f5260205f20905b81548152906001019060200180831161020c57829003601f168201915b505050505081565b8060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156102b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a8906105b4565b60405180910390fd5b8060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546102fd91906105ff565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103509190610632565b925050819055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61039d8261035b565b6103a78185610365565b93506103b7818560208601610375565b6103c081610383565b840191505092915050565b5f6020820190508181035f8301526103e38184610393565b905092915050565b5f819050919050565b6103fd816103eb565b82525050565b5f6020820190506104165f8301846103f4565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61044982610420565b9050919050565b6104598161043f565b8114610463575f80fd5b50565b5f8135905061047481610450565b92915050565b5f6020828403121561048f5761048e61041c565b5b5f61049c84828501610466565b91505092915050565b6104ae816103eb565b81146104b8575f80fd5b50565b5f813590506104c9816104a5565b92915050565b5f80604083850312156104e5576104e461041c565b5b5f6104f285828601610466565b9250506020610503858286016104bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061055157607f821691505b6020821081036105645761056361050d565b5b50919050565b7f4e6f7420656e6f75676820746f6b656e730000000000000000000000000000005f82015250565b5f61059e601183610365565b91506105a98261056a565b602082019050919050565b5f6020820190508181035f8301526105cb81610592565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610609826103eb565b9150610614836103eb565b925082820390508181111561062c5761062b6105d2565b5b92915050565b5f61063c826103eb565b9150610647836103eb565b925082820190508082111561065f5761065e6105d2565b5b9291505056fea2646970667358221220571b565c47367c842c11b78b0ad8e1b22487e8d3d3b2e85bd77ce2d9c774f70164736f6c634300081a00330000000000000000000000000000000000000000000000000000000000000017