60806040525f60025572ac68bf447a04e2e6ac78d25c8cbef9ea397b1260035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60055f6101000a81548160ff02191690831515021790555034801562000080575f80fd5b5060405162000fc738038062000fc78339818101604052810190620000a6919062000263565b815f9081620000b691906200051d565b508060019081620000c891906200051d565b506509184e72a000600481905550505062000601565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200013f82620000f7565b810181811067ffffffffffffffff8211171562000161576200016062000107565b5b80604052505050565b5f62000175620000de565b905062000183828262000134565b919050565b5f67ffffffffffffffff821115620001a557620001a462000107565b5b620001b082620000f7565b9050602081019050919050565b5f5b83811015620001dc578082015181840152602081019050620001bf565b5f8484015250505050565b5f620001fd620001f78462000188565b6200016a565b9050828152602081018484840111156200021c576200021b620000f3565b5b62000229848285620001bd565b509392505050565b5f82601f830112620002485762000247620000ef565b5b81516200025a848260208601620001e7565b91505092915050565b5f80604083850312156200027c576200027b620000e7565b5b5f83015167ffffffffffffffff8111156200029c576200029b620000eb565b5b620002aa8582860162000231565b925050602083015167ffffffffffffffff811115620002ce57620002cd620000eb565b5b620002dc8582860162000231565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200033557607f821691505b6020821081036200034b576200034a620002f0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000372565b620003bb868362000372565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000405620003ff620003f984620003d3565b620003dc565b620003d3565b9050919050565b5f819050919050565b6200042083620003e5565b620004386200042f826200040c565b8484546200037e565b825550505050565b5f90565b6200044e62000440565b6200045b81848462000415565b505050565b5b818110156200048257620004765f8262000444565b60018101905062000461565b5050565b601f821115620004d1576200049b8162000351565b620004a68462000363565b81016020851015620004b6578190505b620004ce620004c58562000363565b83018262000460565b50505b505050565b5f82821c905092915050565b5f620004f35f1984600802620004d6565b1980831691505092915050565b5f6200050d8383620004e2565b9150826002028217905092915050565b6200052882620002e6565b67ffffffffffffffff81111562000544576200054362000107565b5b6200055082546200031d565b6200055d82828562000486565b5f60209050601f83116001811462000593575f84156200057e578287015190505b6200058a858262000500565b865550620005f9565b601f198416620005a38662000351565b5f5b82811015620005cc57848901518255600182019150602085019450602081019050620005a5565b86831015620005ec5784890151620005e8601f891682620004e2565b8355505b6001600288020188555050505b505050505050565b6109b8806200060f5f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c80634e6cca8f116100645780634e6cca8f146100f95780636a6278421461011557806370a08231146101315780638ec55e0d1461016157806395d89b411461017d57610091565b806306fdde031461009557806318160ddd146100b3578063313ce567146100d157806344df8e70146100ef575b5f80fd5b61009d61019b565b6040516100aa91906105be565b60405180910390f35b6100bb61022a565b6040516100c891906105f6565b60405180910390f35b6100d9610230565b6040516100e6919061062a565b60405180910390f35b6100f7610238565b005b610113600480360381019061010e9190610818565b610254565b005b61012f600480360381019061012a9190610872565b6102f7565b005b61014b60048036038101906101469190610872565b610364565b60405161015891906105f6565b60405180910390f35b61017b60048036038101906101769190610818565b6103e0565b005b6101856104a4565b60405161019291906105be565b60405180910390f35b60605f80546101a9906108ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d5906108ca565b80156102205780601f106101f757610100808354040283529160200191610220565b820191905f5260205f20905b81548152906001019060200180831161020357829003601f168201915b5050505050905090565b60045481565b5f6001905090565b600160055f6101000a81548160ff021916908315150217905550565b816002819055505f5b81518110156102f257818181518110610279576102786108fa565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516102dd91906105f6565b60405180910390a3808060010191505061025d565b505050565b8073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef64e8d4a510006040516103599190610969565b60405180910390a350565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806103cb575060055f9054906101000a900460ff165b6103d7576002546103d9565b5f5b9050919050565b816002819055505f5b815181101561049f57818181518110610405576104046108fa565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161048a91906105f6565b60405180910390a380806001019150506103e9565b505050565b6060600180546104b3906108ca565b80601f01602080910402602001604051908101604052809291908181526020018280546104df906108ca565b801561052a5780601f106105015761010080835404028352916020019161052a565b820191905f5260205f20905b81548152906001019060200180831161050d57829003601f168201915b5050505050905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561056b578082015181840152602081019050610550565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61059082610534565b61059a818561053e565b93506105aa81856020860161054e565b6105b381610576565b840191505092915050565b5f6020820190508181035f8301526105d68184610586565b905092915050565b5f819050919050565b6105f0816105de565b82525050565b5f6020820190506106095f8301846105e7565b92915050565b5f60ff82169050919050565b6106248161060f565b82525050565b5f60208201905061063d5f83018461061b565b92915050565b5f604051905090565b5f80fd5b5f80fd5b61065d816105de565b8114610667575f80fd5b50565b5f8135905061067881610654565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106b882610576565b810181811067ffffffffffffffff821117156106d7576106d6610682565b5b80604052505050565b5f6106e9610643565b90506106f582826106af565b919050565b5f67ffffffffffffffff82111561071457610713610682565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61075282610729565b9050919050565b61076281610748565b811461076c575f80fd5b50565b5f8135905061077d81610759565b92915050565b5f610795610790846106fa565b6106e0565b905080838252602082019050602084028301858111156107b8576107b7610725565b5b835b818110156107e157806107cd888261076f565b8452602084019350506020810190506107ba565b5050509392505050565b5f82601f8301126107ff576107fe61067e565b5b813561080f848260208601610783565b91505092915050565b5f806040838503121561082e5761082d61064c565b5b5f61083b8582860161066a565b925050602083013567ffffffffffffffff81111561085c5761085b610650565b5b610868858286016107eb565b9150509250929050565b5f602082840312156108875761088661064c565b5b5f6108948482850161076f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108e157607f821691505b6020821081036108f4576108f361089d565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f61095361094e61094984610927565b610930565b6105de565b9050919050565b61096381610939565b82525050565b5f60208201905061097c5f83018461095a565b9291505056fea2646970667358221220483bb1379c9549040c96f7f29be82759d09baa4b3b706d652612f030d4c30dc064736f6c63430008180033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000024212042564d2052657761726420546f6b656e202862766d2d6e6574776f726b2e6f72672900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a476574202442564d207265776172642061742068747470733a2f2f62766d2d6e6574776f726b2e6f726700000000000000000000000000000000000000000000