60c06040526001600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055506000600a60026101000a81548160ff0219169083151502179055503480156200006257600080fd5b50604051620056e5380380620056e5833981810160405281019062000088919062000a64565b6040518060400160405280600c81526020017f5461696c2046696e616e636500000000000000000000000000000000000000008152506040518060400160405280600481526020017f5441494c00000000000000000000000000000000000000000000000000000000815250816003908162000105919062000d10565b50806004908162000117919062000d10565b5050506200013a6200012e620004bb60201b60201c565b620004c360201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001668160016200058960201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020c919062000a64565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a919062000a64565b6040518363ffffffff1660e01b8152600401620002b992919062000e08565b6020604051808303816000875af1158015620002d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ff919062000a64565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200034760a05160016200058960201b60201c565b6200035c60a05160016200067360201b60201c565b600060059050600060059050600069d3c21bcecceda1000000905069d3c21bcecceda100000060078190555069d3c21bcecceda100000060098190555068056bc75e2d6310000060088190555082600c81905550600c54600b8190555081600e81905550600e54600d8190555084600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200042c6200041e6200071460201b60201c565b60016200073e60201b60201c565b6200043f3060016200073e60201b60201c565b6200045461dead60016200073e60201b60201c565b62000476620004686200071460201b60201c565b60016200058960201b60201c565b620004893060016200058960201b60201c565b6200049e61dead60016200058960201b60201c565b620004b033826200087860201b60201c565b505050505062000ffc565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000599620004bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005bf6200071460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000618576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200060f9062000e96565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200074e620004bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007746200071460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007c49062000e96565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516200086c919062000ed5565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008e19062000f42565b60405180910390fd5b620008fe60008383620009f060201b60201c565b806002600082825462000912919062000f93565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000969919062000f93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009d0919062000fdf565b60405180910390a3620009ec60008383620009f560201b60201c565b5050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a2c82620009ff565b9050919050565b62000a3e8162000a1f565b811462000a4a57600080fd5b50565b60008151905062000a5e8162000a33565b92915050565b60006020828403121562000a7d5762000a7c620009fa565b5b600062000a8d8482850162000a4d565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b1857607f821691505b60208210810362000b2e5762000b2d62000ad0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b59565b62000ba4868362000b59565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000bf162000beb62000be58462000bbc565b62000bc6565b62000bbc565b9050919050565b6000819050919050565b62000c0d8362000bd0565b62000c2562000c1c8262000bf8565b84845462000b66565b825550505050565b600090565b62000c3c62000c2d565b62000c4981848462000c02565b505050565b5b8181101562000c715762000c6560008262000c32565b60018101905062000c4f565b5050565b601f82111562000cc05762000c8a8162000b34565b62000c958462000b49565b8101602085101562000ca5578190505b62000cbd62000cb48562000b49565b83018262000c4e565b50505b505050565b600082821c905092915050565b600062000ce56000198460080262000cc5565b1980831691505092915050565b600062000d00838362000cd2565b9150826002028217905092915050565b62000d1b8262000a96565b67ffffffffffffffff81111562000d375762000d3662000aa1565b5b62000d43825462000aff565b62000d5082828562000c75565b600060209050601f83116001811462000d88576000841562000d73578287015190505b62000d7f858262000cf2565b86555062000def565b601f19841662000d988662000b34565b60005b8281101562000dc25784890151825560018201915060208501945060208101905062000d9b565b8683101562000de2578489015162000dde601f89168262000cd2565b8355505b6001600288020188555050505b505050505050565b62000e028162000a1f565b82525050565b600060408201905062000e1f600083018562000df7565b62000e2e602083018462000df7565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000e7e60208362000e35565b915062000e8b8262000e46565b602082019050919050565b6000602082019050818103600083015262000eb18162000e6f565b9050919050565b60008115159050919050565b62000ecf8162000eb8565b82525050565b600060208201905062000eec600083018462000ec4565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f2a601f8362000e35565b915062000f378262000ef2565b602082019050919050565b6000602082019050818103600083015262000f5d8162000f1b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000fa08262000bbc565b915062000fad8362000bbc565b925082820190508082111562000fc85762000fc762000f64565b5b92915050565b62000fd98162000bbc565b82525050565b600060208201905062000ff6600083018462000fce565b92915050565b60805160a0516146a76200103e60003960008181610e530152611589015260008181610b6501528181612db101528181612e920152612eb901526146a76000f3fe6080604052600436106102815760003560e01c80638a8c523c1161014f578063bbc0c742116100c1578063dd62ed3e1161007a578063dd62ed3e14610997578063e2f45605146109d4578063e9d2b77d146109ff578063eba4c33314610a16578063f2fde38b14610a3f578063f8b45b0514610a6857610288565b8063bbc0c74214610887578063c0246668146108b2578063c18bc195146108db578063c8c8ebe414610904578063d257b34f1461092f578063d85ba0631461096c57610288565b80639a7a23d6116101135780639a7a23d614610755578063a457c2d71461077e578063a672990c146107bb578063a9059cbb146107e4578063aacebbe314610821578063b62496f51461084a57610288565b80638a8c523c146106945780638da5cb5b146106ab57806392136913146106d6578063924de9b71461070157806395d89b411461072a57610288565b806349bd5a5e116101f3578063715018a6116101ac578063715018a6146105ac57806371fc4688146105c3578063751039fc146105ec5780637571336a1461061757806375f0a87414610640578063881dce601461066b57610288565b806349bd5a5e146104ac5780634a62bb65146104d75780636a486a8e146105025780636ddd17131461052d5780636fc3eaec1461055857806370a082311461056f57610288565b80631f3fed8f116102455780631f3fed8f14610388578063203e727e146103b357806323b872dd146103dc57806327c8f83514610419578063313ce56714610444578063395093511461046f57610288565b806306fdde031461028d578063095ea7b3146102b857806310d5de53146102f55780631694505e1461033257806318160ddd1461035d57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610a93565b6040516102af9190613439565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da91906134f4565b610b25565b6040516102ec919061354f565b60405180910390f35b34801561030157600080fd5b5061031c6004803603810190610317919061356a565b610b43565b604051610329919061354f565b60405180910390f35b34801561033e57600080fd5b50610347610b63565b60405161035491906135f6565b60405180910390f35b34801561036957600080fd5b50610372610b87565b60405161037f9190613620565b60405180910390f35b34801561039457600080fd5b5061039d610b91565b6040516103aa9190613620565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d5919061363b565b610b97565b005b3480156103e857600080fd5b5061040360048036038101906103fe9190613668565b610c9e565b604051610410919061354f565b60405180910390f35b34801561042557600080fd5b5061042e610d96565b60405161043b91906136ca565b60405180910390f35b34801561045057600080fd5b50610459610d9c565b6040516104669190613701565b60405180910390f35b34801561047b57600080fd5b50610496600480360381019061049191906134f4565b610da5565b6040516104a3919061354f565b60405180910390f35b3480156104b857600080fd5b506104c1610e51565b6040516104ce91906136ca565b60405180910390f35b3480156104e357600080fd5b506104ec610e75565b6040516104f9919061354f565b60405180910390f35b34801561050e57600080fd5b50610517610e88565b6040516105249190613620565b60405180910390f35b34801561053957600080fd5b50610542610e8e565b60405161054f919061354f565b60405180910390f35b34801561056457600080fd5b5061056d610ea1565b005b34801561057b57600080fd5b506105966004803603810190610591919061356a565b610f34565b6040516105a39190613620565b60405180910390f35b3480156105b857600080fd5b506105c1610f7c565b005b3480156105cf57600080fd5b506105ea60048036038101906105e5919061363b565b611004565b005b3480156105f857600080fd5b506106016110da565b60405161060e919061354f565b60405180910390f35b34801561062357600080fd5b5061063e60048036038101906106399190613748565b61117a565b005b34801561064c57600080fd5b50610655611251565b60405161066291906136ca565b60405180910390f35b34801561067757600080fd5b50610692600480360381019061068d919061363b565b611277565b005b3480156106a057600080fd5b506106a96112da565b005b3480156106b757600080fd5b506106c06113b0565b6040516106cd91906136ca565b60405180910390f35b3480156106e257600080fd5b506106eb6113da565b6040516106f89190613620565b60405180910390f35b34801561070d57600080fd5b5061072860048036038101906107239190613788565b6113e0565b005b34801561073657600080fd5b5061073f611479565b60405161074c9190613439565b60405180910390f35b34801561076157600080fd5b5061077c60048036038101906107779190613748565b61150b565b005b34801561078a57600080fd5b506107a560048036038101906107a091906134f4565b611623565b6040516107b2919061354f565b60405180910390f35b3480156107c757600080fd5b506107e260048036038101906107dd9190613748565b61170e565b005b3480156107f057600080fd5b5061080b600480360381019061080691906134f4565b61183c565b604051610818919061354f565b60405180910390f35b34801561082d57600080fd5b506108486004803603810190610843919061356a565b61185a565b005b34801561085657600080fd5b50610871600480360381019061086c919061356a565b611996565b60405161087e919061354f565b60405180910390f35b34801561089357600080fd5b5061089c6119b6565b6040516108a9919061354f565b60405180910390f35b3480156108be57600080fd5b506108d960048036038101906108d49190613748565b6119c9565b005b3480156108e757600080fd5b5061090260048036038101906108fd919061363b565b611aee565b005b34801561091057600080fd5b50610919611bf5565b6040516109269190613620565b60405180910390f35b34801561093b57600080fd5b506109566004803603810190610951919061363b565b611bfb565b604051610963919061354f565b60405180910390f35b34801561097857600080fd5b50610981611d50565b60405161098e9190613620565b60405180910390f35b3480156109a357600080fd5b506109be60048036038101906109b991906137b5565b611d56565b6040516109cb9190613620565b60405180910390f35b3480156109e057600080fd5b506109e9611ddd565b6040516109f69190613620565b60405180910390f35b348015610a0b57600080fd5b50610a14611de3565b005b348015610a2257600080fd5b50610a3d6004803603810190610a38919061363b565b611ea5565b005b348015610a4b57600080fd5b50610a666004803603810190610a61919061356a565b611f7b565b005b348015610a7457600080fd5b50610a7d612072565b604051610a8a9190613620565b60405180910390f35b606060038054610aa290613824565b80601f0160208091040260200160405190810160405280929190818152602001828054610ace90613824565b8015610b1b5780601f10610af057610100808354040283529160200191610b1b565b820191906000526020600020905b815481529060010190602001808311610afe57829003601f168201915b5050505050905090565b6000610b39610b32612078565b8484612080565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b600f5481565b610b9f612078565b73ffffffffffffffffffffffffffffffffffffffff16610bbd6113b0565b73ffffffffffffffffffffffffffffffffffffffff1614610c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0a906138a1565b60405180910390fd5b633b9aca006103e86001610c25610b87565b610c2f91906138f0565b610c399190613961565b610c439190613961565b811015610c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7c90613a04565b60405180910390fd5b633b9aca0081610c9591906138f0565b60078190555050565b6000610cab848484612249565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cf6612078565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6d90613a96565b60405180910390fd5b610d8a85610d82612078565b858403612080565b60019150509392505050565b61dead81565b60006009905090565b6000610e47610db2612078565b848460016000610dc0612078565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e429190613ab6565b612080565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a60009054906101000a900460ff1681565b600d5481565b600a60029054906101000a900460ff1681565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610ee990613b1b565b60006040518083038185875af1925050503d8060008114610f26576040519150601f19603f3d011682016040523d82523d6000602084013e610f2b565b606091505b50508091505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f84612078565b73ffffffffffffffffffffffffffffffffffffffff16610fa26113b0565b73ffffffffffffffffffffffffffffffffffffffff1614610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef906138a1565b60405180910390fd5b6110026000612c4c565b565b61100c612078565b73ffffffffffffffffffffffffffffffffffffffff1661102a6113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611077906138a1565b60405180910390fd5b80600c81905550600c54600b81905550610384600b5411156110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce90613b7c565b60405180910390fd5b50565b60006110e4612078565b73ffffffffffffffffffffffffffffffffffffffff166111026113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f906138a1565b60405180910390fd5b6000600a60006101000a81548160ff0219169083151502179055506001905090565b611182612078565b73ffffffffffffffffffffffffffffffffffffffff166111a06113b0565b73ffffffffffffffffffffffffffffffffffffffff16146111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ed906138a1565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61128030610f34565b811115801561128f5750600081115b6112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c590613be8565b60405180910390fd5b6112d781612d12565b50565b6112e2612078565b73ffffffffffffffffffffffffffffffffffffffff166113006113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134d906138a1565b60405180910390fd5b605f600c81905550600c54600b81905550605b600e81905550600e54600d819055506001600a60016101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b6113e8612078565b73ffffffffffffffffffffffffffffffffffffffff166114066113b0565b73ffffffffffffffffffffffffffffffffffffffff161461145c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611453906138a1565b60405180910390fd5b80600a60026101000a81548160ff02191690831515021790555050565b60606004805461148890613824565b80601f01602080910402602001604051908101604052809291908181526020018280546114b490613824565b80156115015780601f106114d657610100808354040283529160200191611501565b820191906000526020600020905b8154815290600101906020018083116114e457829003601f168201915b5050505050905090565b611513612078565b73ffffffffffffffffffffffffffffffffffffffff166115316113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157e906138a1565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160c90613c7a565b60405180910390fd5b61161f8282612f4f565b5050565b60008060016000611632612078565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e690613d0c565b60405180910390fd5b6117036116fa612078565b85858403612080565b600191505092915050565b611716612078565b73ffffffffffffffffffffffffffffffffffffffff166117346113b0565b73ffffffffffffffffffffffffffffffffffffffff161461178a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611781906138a1565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611850611849612078565b8484612249565b6001905092915050565b611862612078565b73ffffffffffffffffffffffffffffffffffffffff166118806113b0565b73ffffffffffffffffffffffffffffffffffffffff16146118d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cd906138a1565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60126020528060005260406000206000915054906101000a900460ff1681565b600a60019054906101000a900460ff1681565b6119d1612078565b73ffffffffffffffffffffffffffffffffffffffff166119ef6113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3c906138a1565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611ae2919061354f565b60405180910390a25050565b611af6612078565b73ffffffffffffffffffffffffffffffffffffffff16611b146113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b61906138a1565b60405180910390fd5b633b9aca006103e86005611b7c610b87565b611b8691906138f0565b611b909190613961565b611b9a9190613961565b811015611bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd390613d9e565b60405180910390fd5b633b9aca0081611bec91906138f0565b60098190555050565b60075481565b6000611c05612078565b73ffffffffffffffffffffffffffffffffffffffff16611c236113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c70906138a1565b60405180910390fd5b620186a06001611c87610b87565b611c9191906138f0565b611c9b9190613961565b821015611cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd490613e30565b60405180910390fd5b6103e86005611cea610b87565b611cf491906138f0565b611cfe9190613961565b821115611d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3790613ec2565b60405180910390fd5b8160088190555060019050919050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b611deb612078565b73ffffffffffffffffffffffffffffffffffffffff16611e096113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611e5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e56906138a1565b60405180910390fd5b6002600c81905550600c54600b819055506063600e81905550600e54600d8190555069043c33c193756480000060078190555069043c33c1937564800000600981905550565b611ead612078565b73ffffffffffffffffffffffffffffffffffffffff16611ecb6113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f18906138a1565b60405180910390fd5b80600e81905550600e54600d81905550610384600d541115611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f90613b7c565b60405180910390fd5b50565b611f83612078565b73ffffffffffffffffffffffffffffffffffffffff16611fa16113b0565b73ffffffffffffffffffffffffffffffffffffffff1614611ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fee906138a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d90613f54565b60405180910390fd5b61206f81612c4c565b50565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690613fe6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590614078565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161223c9190613620565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122af9061410a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231e9061419c565b60405180910390fd5b600081036123405761233b83836000612ff0565b612c47565b600a60009054906101000a900460ff161561283b5761235d6113b0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123cb575061239b6113b0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124045750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561243e575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124575750600560149054906101000a900460ff16155b1561283a57600a60019054906101000a900460ff1661255157601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125115750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254790614208565b60405180910390fd5b5b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125f45750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561269b5760075481111561263e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126359061429a565b60405180910390fd5b60095461264a83610f34565b826126559190613ab6565b1115612696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268d90614306565b60405180910390fd5b612839565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561273e5750601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561278d57600754811115612788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277f90614398565b60405180910390fd5b612838565b601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612837576009546127ea83610f34565b826127f59190613ab6565b1115612836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282d90614306565b60405180910390fd5b5b5b5b5b5b600061284630610f34565b90506000600854821015905080801561286b5750600a60029054906101000a900460ff165b80156128845750600560149054906101000a900460ff16155b80156128da5750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129305750601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129865750601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129ca576001600560146101000a81548160ff0219169083151502179055506129ae61326f565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a805750601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a8a57600090505b60008115612c3757601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aed57506000600d54115b15612b5457612b1a6064612b0c600d548861337390919063ffffffff16565b61338990919063ffffffff16565b9050600d54600e5482612b2d91906138f0565b612b379190613961565b600f6000828254612b489190613ab6565b92505081905550612c13565b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612baf57506000600b54115b15612c1257612bdc6064612bce600b548861337390919063ffffffff16565b61338990919063ffffffff16565b9050600b54600c5482612bef91906138f0565b612bf99190613961565b600f6000828254612c0a9190613ab6565b925050819055505b5b6000811115612c2857612c27873083612ff0565b5b8085612c3491906143b8565b94505b612c42878787612ff0565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff811115612d2f57612d2e6143ec565b5b604051908082528060200260200182016040528015612d5d5781602001602082028036833780820191505090505b5090503081600081518110612d7557612d7461441b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e3e919061445f565b81600181518110612e5257612e5161441b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612eb7307f000000000000000000000000000000000000000000000000000000000000000084612080565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f19959493929190614585565b600060405180830381600087803b158015612f3357600080fd5b505af1158015612f47573d6000803e3d6000fd5b505050505050565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361305f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130569061410a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036130ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c59061419c565b60405180910390fd5b6130d983838361339f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561315f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161315690614651565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546131f29190613ab6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516132569190613620565b60405180910390a36132698484846133a4565b50505050565b600061327a30610f34565b90506000600f5490506000808314806132935750600082145b156132a057505050613371565b60146008546132af91906138f0565b8311156132c85760146008546132c591906138f0565b92505b60008390506132d681612d12565b6000600f81905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161332490613b1b565b60006040518083038185875af1925050503d8060008114613361576040519150601f19603f3d011682016040523d82523d6000602084013e613366565b606091505b505080925050505050505b565b6000818361338191906138f0565b905092915050565b600081836133979190613961565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133e35780820151818401526020810190506133c8565b60008484015250505050565b6000601f19601f8301169050919050565b600061340b826133a9565b61341581856133b4565b93506134258185602086016133c5565b61342e816133ef565b840191505092915050565b600060208201905081810360008301526134538184613400565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061348b82613460565b9050919050565b61349b81613480565b81146134a657600080fd5b50565b6000813590506134b881613492565b92915050565b6000819050919050565b6134d1816134be565b81146134dc57600080fd5b50565b6000813590506134ee816134c8565b92915050565b6000806040838503121561350b5761350a61345b565b5b6000613519858286016134a9565b925050602061352a858286016134df565b9150509250929050565b60008115159050919050565b61354981613534565b82525050565b60006020820190506135646000830184613540565b92915050565b6000602082840312156135805761357f61345b565b5b600061358e848285016134a9565b91505092915050565b6000819050919050565b60006135bc6135b76135b284613460565b613597565b613460565b9050919050565b60006135ce826135a1565b9050919050565b60006135e0826135c3565b9050919050565b6135f0816135d5565b82525050565b600060208201905061360b60008301846135e7565b92915050565b61361a816134be565b82525050565b60006020820190506136356000830184613611565b92915050565b6000602082840312156136515761365061345b565b5b600061365f848285016134df565b91505092915050565b6000806000606084860312156136815761368061345b565b5b600061368f868287016134a9565b93505060206136a0868287016134a9565b92505060406136b1868287016134df565b9150509250925092565b6136c481613480565b82525050565b60006020820190506136df60008301846136bb565b92915050565b600060ff82169050919050565b6136fb816136e5565b82525050565b600060208201905061371660008301846136f2565b92915050565b61372581613534565b811461373057600080fd5b50565b6000813590506137428161371c565b92915050565b6000806040838503121561375f5761375e61345b565b5b600061376d858286016134a9565b925050602061377e85828601613733565b9150509250929050565b60006020828403121561379e5761379d61345b565b5b60006137ac84828501613733565b91505092915050565b600080604083850312156137cc576137cb61345b565b5b60006137da858286016134a9565b92505060206137eb858286016134a9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061383c57607f821691505b60208210810361384f5761384e6137f5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061388b6020836133b4565b915061389682613855565b602082019050919050565b600060208201905081810360008301526138ba8161387e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138fb826134be565b9150613906836134be565b9250828202613914816134be565b9150828204841483151761392b5761392a6138c1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061396c826134be565b9150613977836134be565b92508261398757613986613932565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b60006139ee602f836133b4565b91506139f982613992565b604082019050919050565b60006020820190508181036000830152613a1d816139e1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a806028836133b4565b9150613a8b82613a24565b604082019050919050565b60006020820190508181036000830152613aaf81613a73565b9050919050565b6000613ac1826134be565b9150613acc836134be565b9250828201905080821115613ae457613ae36138c1565b5b92915050565b600081905092915050565b50565b6000613b05600083613aea565b9150613b1082613af5565b600082019050919050565b6000613b2682613af8565b9150819050919050565b7f4d757374206b656570206665657320617420333025206f72206c657373000000600082015250565b6000613b66601d836133b4565b9150613b7182613b30565b602082019050919050565b60006020820190508181036000830152613b9581613b59565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000613bd2600c836133b4565b9150613bdd82613b9c565b602082019050919050565b60006020820190508181036000830152613c0181613bc5565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613c646039836133b4565b9150613c6f82613c08565b604082019050919050565b60006020820190508181036000830152613c9381613c57565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613cf66025836133b4565b9150613d0182613c9a565b604082019050919050565b60006020820190508181036000830152613d2581613ce9565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613d886024836133b4565b9150613d9382613d2c565b604082019050919050565b60006020820190508181036000830152613db781613d7b565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613e1a6035836133b4565b9150613e2582613dbe565b604082019050919050565b60006020820190508181036000830152613e4981613e0d565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613eac6034836133b4565b9150613eb782613e50565b604082019050919050565b60006020820190508181036000830152613edb81613e9f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f3e6026836133b4565b9150613f4982613ee2565b604082019050919050565b60006020820190508181036000830152613f6d81613f31565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613fd06024836133b4565b9150613fdb82613f74565b604082019050919050565b60006020820190508181036000830152613fff81613fc3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006140626022836133b4565b915061406d82614006565b604082019050919050565b6000602082019050818103600083015261409181614055565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140f46025836133b4565b91506140ff82614098565b604082019050919050565b60006020820190508181036000830152614123816140e7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141866023836133b4565b91506141918261412a565b604082019050919050565b600060208201905081810360008301526141b581614179565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006141f26016836133b4565b91506141fd826141bc565b602082019050919050565b60006020820190508181036000830152614221816141e5565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b60006142846035836133b4565b915061428f82614228565b604082019050919050565b600060208201905081810360008301526142b381614277565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006142f06013836133b4565b91506142fb826142ba565b602082019050919050565b6000602082019050818103600083015261431f816142e3565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006143826036836133b4565b915061438d82614326565b604082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b60006143c3826134be565b91506143ce836134be565b92508282039050818111156143e6576143e56138c1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061445981613492565b92915050565b6000602082840312156144755761447461345b565b5b60006144838482850161444a565b91505092915050565b6000819050919050565b60006144b16144ac6144a78461448c565b613597565b6134be565b9050919050565b6144c181614496565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6144fc81613480565b82525050565b600061450e83836144f3565b60208301905092915050565b6000602082019050919050565b6000614532826144c7565b61453c81856144d2565b9350614547836144e3565b8060005b8381101561457857815161455f8882614502565b975061456a8361451a565b92505060018101905061454b565b5085935050505092915050565b600060a08201905061459a6000830188613611565b6145a760208301876144b8565b81810360408301526145b98186614527565b90506145c860608301856136bb565b6145d56080830184613611565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061463b6026836133b4565b9150614646826145df565b604082019050919050565b6000602082019050818103600083015261466a8161462e565b905091905056fea2646970667358221220d7d6f58bbad004cec6cd533283f873de6beb02ec441cee68384b332435fd2c8b64736f6c634300081200330000000000000000000000000bcc7529f00718348c96344ce4c026a4a4c5e44e