0x608060405234801561000f575f80fd5b506040516109f03803806109f0833981810160405281019061003191906101e4565b6103e8424433604051602001610049939291906102c9565b604051602081830303815290604052805190602001205f1c61006b9190610332565b600181905550805f8060015481526020019081526020015f2090816100909190610566565b5050610635565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100f6826100b0565b810181811067ffffffffffffffff82111715610115576101146100c0565b5b80604052505050565b5f610127610097565b905061013382826100ed565b919050565b5f67ffffffffffffffff821115610152576101516100c0565b5b61015b826100b0565b9050602081019050919050565b8281835e5f83830152505050565b5f61018861018384610138565b61011e565b9050828152602081018484840111156101a4576101a36100ac565b5b6101af848285610168565b509392505050565b5f82601f8301126101cb576101ca6100a8565b5b81516101db848260208601610176565b91505092915050565b5f602082840312156101f9576101f86100a0565b5b5f82015167ffffffffffffffff811115610216576102156100a4565b5b610222848285016101b7565b91505092915050565b5f819050919050565b5f819050919050565b61024e6102498261022b565b610234565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027d82610254565b9050919050565b5f8160601b9050919050565b5f61029a82610284565b9050919050565b5f6102ab82610290565b9050919050565b6102c36102be82610273565b6102a1565b82525050565b5f6102d4828661023d565b6020820191506102e4828561023d565b6020820191506102f482846102b2565b601482019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61033c8261022b565b91506103478361022b565b92508261035757610356610305565b5b828206905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103b057607f821691505b6020821081036103c3576103c261036c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103ea565b61042f86836103ea565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61046a6104656104608461022b565b610447565b61022b565b9050919050565b5f819050919050565b61048383610450565b61049761048f82610471565b8484546103f6565b825550505050565b5f90565b6104ab61049f565b6104b681848461047a565b505050565b5b818110156104d9576104ce5f826104a3565b6001810190506104bc565b5050565b601f82111561051e576104ef816103c9565b6104f8846103db565b81016020851015610507578190505b61051b610513856103db565b8301826104bb565b50505b505050565b5f82821c905092915050565b5f61053e5f1984600802610523565b1980831691505092915050565b5f610556838361052f565b9150826002028217905092915050565b61056f82610362565b67ffffffffffffffff811115610588576105876100c0565b5b6105928254610399565b61059d8282856104dd565b5f60209050601f8311600181146105ce575f84156105bc578287015190505b6105c6858261054b565b86555061062d565b601f1984166105dc866103c9565b5f5b82811015610603578489015182556001820191506020850194506020810190506105de565b86831015610620578489015161061c601f89168261052f565b8355505b6001600288020188555050505b505050505050565b6103ae806106425f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806308934b94146100435780630ff4c9161461007357806325f6b45d146100a3575b5f80fd5b61005d60048036038101906100589190610238565b6100c1565b60405161006a91906102d3565b60405180910390f35b61008d60048036038101906100889190610238565b61015b565b60405161009a91906102d3565b60405180910390f35b6100ab6101fb565b6040516100b89190610302565b60405180910390f35b5f602052805f5260405f205f9150905080546100dc90610348565b80601f016020809104026020016040519081016040528092919081815260200182805461010890610348565b80156101535780601f1061012a57610100808354040283529160200191610153565b820191905f5260205f20905b81548152906001019060200180831161013657829003601f168201915b505050505081565b60605f808381526020019081526020015f20805461017890610348565b80601f01602080910402602001604051908101604052809291908181526020018280546101a490610348565b80156101ef5780601f106101c6576101008083540402835291602001916101ef565b820191905f5260205f20905b8154815290600101906020018083116101d257829003601f168201915b50505050509050919050565b60015481565b5f80fd5b5f819050919050565b61021781610205565b8114610221575f80fd5b50565b5f813590506102328161020e565b92915050565b5f6020828403121561024d5761024c610201565b5b5f61025a84828501610224565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102a582610263565b6102af818561026d565b93506102bf81856020860161027d565b6102c88161028b565b840191505092915050565b5f6020820190508181035f8301526102eb818461029b565b905092915050565b6102fc81610205565b82525050565b5f6020820190506103155f8301846102f3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061035f57607f821691505b6020821081036103725761037161031b565b5b5091905056fea26469706673582212205e4d3568f2b499a7030014d29e9010203c4523af95021c2d1824ab77a3705b4c64736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084253747563736f6e000000000000000000000000000000000000000000000000