0x608060405234801561000f575f80fd5b506105618061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80631ec0d5dd146100435780634319da6a1461007357806385e04e5e146100a3575b5f80fd5b61005d60048036038101906100589190610339565b6100d3565b60405161006a9190610386565b60405180910390f35b61008d60048036038101906100889190610339565b61012a565b60405161009a91906103ee565b60405180910390f35b6100bd60048036038101906100b89190610339565b61018c565b6040516100ca91906103ee565b60405180910390f35b5f816040015183604001516100e89190610434565b826020015184602001516100fc9190610434565b835f0151855f015161010e9190610434565b61011891906104aa565b61012291906104aa565b905092915050565b6101326101ee565b6040518060600160405280835f0151855f015161014f91906104aa565b81526020018360200151856020015161016891906104aa565b81526020018360400151856040015161018191906104aa565b815250905092915050565b6101946101ee565b6040518060600160405280835f0151855f01516101b191906104eb565b8152602001836020015185602001516101ca91906104eb565b8152602001836040015185604001516101e391906104eb565b815250905092915050565b60405180606001604052805f81526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102638261021d565b810181811067ffffffffffffffff821117156102825761028161022d565b5b80604052505050565b5f61029461020c565b90506102a0828261025a565b919050565b5f819050919050565b6102b7816102a5565b81146102c1575f80fd5b50565b5f813590506102d2816102ae565b92915050565b5f606082840312156102ed576102ec610219565b5b6102f7606061028b565b90505f610306848285016102c4565b5f830152506020610319848285016102c4565b602083015250604061032d848285016102c4565b60408301525092915050565b5f8060c0838503121561034f5761034e610215565b5b5f61035c858286016102d8565b925050606061036d858286016102d8565b9150509250929050565b610380816102a5565b82525050565b5f6020820190506103995f830184610377565b92915050565b6103a8816102a5565b82525050565b606082015f8201516103c25f85018261039f565b5060208201516103d5602085018261039f565b5060408201516103e8604085018261039f565b50505050565b5f6060820190506104015f8301846103ae565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61043e826102a5565b9150610449836102a5565b9250828202610457816102a5565b91507f800000000000000000000000000000000000000000000000000000000000000084145f8412161561048e5761048d610407565b5b82820584148315176104a3576104a2610407565b5b5092915050565b5f6104b4826102a5565b91506104bf836102a5565b92508282019050828112155f8312168382125f8412151617156104e5576104e4610407565b5b92915050565b5f6104f5826102a5565b9150610500836102a5565b925082820390508181125f8412168282135f85121516171561052557610524610407565b5b9291505056fea2646970667358221220b22612708c5117dda83ef9ae52cb7d4e8acdc40827912157df9c8f18fb28493c64736f6c63430008180033