60806040525f60025573b90b2a35c65dbc466b04240097ca756ad200529560035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600360146101000a81548160ff02191690831515021790555034801562000082575f80fd5b5060405162000f8f38038062000f8f8339818101604052810190620000a8919062000258565b815f9081620000b8919062000512565b508060019081620000ca919062000512565b505050620005f6565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200013482620000ec565b810181811067ffffffffffffffff82111715620001565762000155620000fc565b5b80604052505050565b5f6200016a620000d3565b905062000178828262000129565b919050565b5f67ffffffffffffffff8211156200019a5762000199620000fc565b5b620001a582620000ec565b9050602081019050919050565b5f5b83811015620001d1578082015181840152602081019050620001b4565b5f8484015250505050565b5f620001f2620001ec846200017d565b6200015f565b905082815260208101848484011115620002115762000210620000e8565b5b6200021e848285620001b2565b509392505050565b5f82601f8301126200023d576200023c620000e4565b5b81516200024f848260208601620001dc565b91505092915050565b5f8060408385031215620002715762000270620000dc565b5b5f83015167ffffffffffffffff811115620002915762000290620000e0565b5b6200029f8582860162000226565b925050602083015167ffffffffffffffff811115620002c357620002c2620000e0565b5b620002d18582860162000226565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200032a57607f821691505b60208210810362000340576200033f620002e5565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003a47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000367565b620003b0868362000367565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003fa620003f4620003ee84620003c8565b620003d1565b620003c8565b9050919050565b5f819050919050565b6200041583620003da565b6200042d620004248262000401565b84845462000373565b825550505050565b5f90565b6200044362000435565b620004508184846200040a565b505050565b5b8181101562000477576200046b5f8262000439565b60018101905062000456565b5050565b601f821115620004c657620004908162000346565b6200049b8462000358565b81016020851015620004ab578190505b620004c3620004ba8562000358565b83018262000455565b50505b505050565b5f82821c905092915050565b5f620004e85f1984600802620004cb565b1980831691505092915050565b5f620005028383620004d7565b9150826002028217905092915050565b6200051d82620002db565b67ffffffffffffffff811115620005395762000538620000fc565b5b62000545825462000312565b620005528282856200047b565b5f60209050601f83116001811462000588575f841562000573578287015190505b6200057f8582620004f5565b865550620005ee565b601f198416620005988662000346565b5f5b82811015620005c1578489015182556001820191506020850194506020810190506200059a565b86831015620005e15784890151620005dd601f891682620004d7565b8355505b6001600288020188555050505b505050505050565b61098b80620006045f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c806370a082311161005957806370a08231146100ec578063945946251461011c57806395d89b4114610138578063ea66696c1461015657610086565b806306fdde031461008a578063313ce567146100a857806344df8e70146100c65780636a627842146100d0575b5f80fd5b610092610172565b60405161009f9190610591565b60405180910390f35b6100b0610201565b6040516100bd91906105cc565b60405180910390f35b6100ce610209565b005b6100ea60048036038101906100e59190610650565b610226565b005b61010660048036038101906101019190610650565b610293565b6040516101139190610693565b60405180910390f35b61013660048036038101906101319190610816565b610310565b005b6101406103d4565b60405161014d9190610591565b60405180910390f35b610170600480360381019061016b9190610816565b610464565b005b60605f80546101809061089d565b80601f01602080910402602001604051908101604052809291908181526020018280546101ac9061089d565b80156101f75780601f106101ce576101008083540402835291602001916101f7565b820191905f5260205f20905b8154815290600101906020018083116101da57829003601f168201915b5050505050905090565b5f6001905090565b6001600360146101000a81548160ff021916908315150217905550565b8073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef64e8d4a51000604051610288919061090f565b60405180910390a350565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806102fb5750600360149054906101000a900460ff165b61030757600254610309565b5f5b9050919050565b806002819055505f5b82518110156103cf5782818151811061033557610334610928565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516103ba9190610693565b60405180910390a38080600101915050610319565b505050565b6060600180546103e39061089d565b80601f016020809104026020016040519081016040528092919081815260200182805461040f9061089d565b801561045a5780601f106104315761010080835404028352916020019161045a565b820191905f5260205f20905b81548152906001019060200180831161043d57829003601f168201915b5050505050905090565b806002819055505f5b82518110156105025782818151811061048957610488610928565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104ed9190610693565b60405180910390a3808060010191505061046d565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561053e578082015181840152602081019050610523565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61056382610507565b61056d8185610511565b935061057d818560208601610521565b61058681610549565b840191505092915050565b5f6020820190508181035f8301526105a98184610559565b905092915050565b5f60ff82169050919050565b6105c6816105b1565b82525050565b5f6020820190506105df5f8301846105bd565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61061f826105f6565b9050919050565b61062f81610615565b8114610639575f80fd5b50565b5f8135905061064a81610626565b92915050565b5f60208284031215610665576106646105ee565b5b5f6106728482850161063c565b91505092915050565b5f819050919050565b61068d8161067b565b82525050565b5f6020820190506106a65f830184610684565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106e682610549565b810181811067ffffffffffffffff82111715610705576107046106b0565b5b80604052505050565b5f6107176105e5565b905061072382826106dd565b919050565b5f67ffffffffffffffff821115610742576107416106b0565b5b602082029050602081019050919050565b5f80fd5b5f61076961076484610728565b61070e565b9050808382526020820190506020840283018581111561078c5761078b610753565b5b835b818110156107b557806107a1888261063c565b84526020840193505060208101905061078e565b5050509392505050565b5f82601f8301126107d3576107d26106ac565b5b81356107e3848260208601610757565b91505092915050565b6107f58161067b565b81146107ff575f80fd5b50565b5f81359050610810816107ec565b92915050565b5f806040838503121561082c5761082b6105ee565b5b5f83013567ffffffffffffffff811115610849576108486105f2565b5b610855858286016107bf565b925050602061086685828601610802565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108b457607f821691505b6020821081036108c7576108c6610870565b5b50919050565b5f819050919050565b5f819050919050565b5f6108f96108f46108ef846108cd565b6108d6565b61067b565b9050919050565b610909816108df565b82525050565b5f6020820190506109225f830184610900565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220676b847de67db62331e470fc626167517d86f7350f0c74555bca6d8d3025846c64736f6c63430008180033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002f2320424f424f20526577617264205469636b6574202868747470733a2f2f626f626f746f6b656e6875622e636f6d290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e424f424f20526577617264205469636b657473202868747470733a2f2f626f626f746f6b656e6875622e636f6d29000000000000000000000000000000000000