60806040526ec097ce7bc90715b34b9f10000000005f556040518060400160405280600281526020017f4f50000000000000000000000000000000000000000000000000000000000000815250600190816200005c919062000336565b506040518060400160405280600881526020017f4f7074696d69736d00000000000000000000000000000000000000000000000081525060029081620000a3919062000336565b50601260035f6101000a81548160ff021916908360ff160217905550348015620000cb575f80fd5b506200041a565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200014e57607f821691505b60208210810362000164576200016362000109565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620001c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200018b565b620001d486836200018b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200021e620002186200021284620001ec565b620001f5565b620001ec565b9050919050565b5f819050919050565b6200023983620001fe565b62000251620002488262000225565b84845462000197565b825550505050565b5f90565b6200026762000259565b620002748184846200022e565b505050565b5b818110156200029b576200028f5f826200025d565b6001810190506200027a565b5050565b601f821115620002ea57620002b4816200016a565b620002bf846200017c565b81016020851015620002cf578190505b620002e7620002de856200017c565b83018262000279565b50505b505050565b5f82821c905092915050565b5f6200030c5f1984600802620002ef565b1980831691505092915050565b5f620003268383620002fb565b9150826002028217905092915050565b6200034182620000d2565b67ffffffffffffffff8111156200035d576200035c620000dc565b5b62000369825462000136565b620003768282856200029f565b5f60209050601f831160018114620003ac575f841562000397578287015190505b620003a3858262000319565b86555062000412565b601f198416620003bc866200016a565b5f5b82811015620003e557848901518255600182019150602085019450602081019050620003be565b8683101562000405578489015162000401601f891682620002fb565b8355505b6001600288020188555050505b505050505050565b61054e80620004285f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806306fdde031461005957806318160ddd1461007757806323b872dd14610095578063313ce567146100c557806395d89b41146100e3575b5f80fd5b610061610101565b60405161006e919061032b565b60405180910390f35b61007f61018d565b60405161008c9190610363565b60405180910390f35b6100af60048036038101906100aa9190610404565b610192565b6040516100bc919061046e565b60405180910390f35b6100cd610203565b6040516100da91906104a2565b60405180910390f35b6100eb610215565b6040516100f8919061032b565b60405180910390f35b6002805461010e906104e8565b80601f016020809104026020016040519081016040528092919081815260200182805461013a906104e8565b80156101855780601f1061015c57610100808354040283529160200191610185565b820191905f5260205f20905b81548152906001019060200180831161016857829003601f168201915b505050505081565b5f5481565b5f8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516101f09190610363565b60405180910390a3600190509392505050565b60035f9054906101000a900460ff1681565b60018054610222906104e8565b80601f016020809104026020016040519081016040528092919081815260200182805461024e906104e8565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b505050505081565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156102d85780820151818401526020810190506102bd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102fd826102a1565b61030781856102ab565b93506103178185602086016102bb565b610320816102e3565b840191505092915050565b5f6020820190508181035f83015261034381846102f3565b905092915050565b5f819050919050565b61035d8161034b565b82525050565b5f6020820190506103765f830184610354565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103a982610380565b9050919050565b6103b98161039f565b81146103c3575f80fd5b50565b5f813590506103d4816103b0565b92915050565b6103e38161034b565b81146103ed575f80fd5b50565b5f813590506103fe816103da565b92915050565b5f805f6060848603121561041b5761041a61037c565b5b5f610428868287016103c6565b9350506020610439868287016103c6565b925050604061044a868287016103f0565b9150509250925092565b5f8115159050919050565b61046881610454565b82525050565b5f6020820190506104815f83018461045f565b92915050565b5f60ff82169050919050565b61049c81610487565b82525050565b5f6020820190506104b55f830184610493565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104ff57607f821691505b602082108103610512576105116104bb565b5b5091905056fea264697066735822122009bf4f1657069068a29f188306324949fe06fe84041dd0fcd5d0ff55edc9904464736f6c63430008180033