60c06040526001600f60006101000a81548160ff0219169083151502179055506000600f60016101000a81548160ff0219169083151502179055506000600f60026101000a81548160ff0219169083151502179055506001601360006101000a81548160ff0219169083151502179055506000601855600f6019553480156200008757600080fd5b506040518060400160405280600481526020017f39746f35000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f39746f3500000000000000000000000000000000000000000000000000000000815250816004908162000105919062001351565b50806005908162000117919062001351565b5050506200012a62000bd360201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90506200027181600162000bdb60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003179190620014a2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200037f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a59190620014a2565b6040518363ffffffff1660e01b8152600401620003c4929190620014e5565b6020604051808303816000875af1158015620003e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040a9190620014a2565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200045260a051600162000bdb60201b60201c565b6200046760a051600162000cc560201b60201c565b6000600290506000600290506000806002905060006002905060008069d3c21bcecceda100000090506103e8600f82620004a2919062001541565b620004ae9190620015bb565b600c819055506103e8601e82620004c6919062001541565b620004d29190620015bb565b600e81905550612710600782620004ea919062001541565b620004f69190620015bb565b600d81905550866015819055508560168190555084601781905550601754601654601554620005269190620015f3565b620005329190620015f3565b60148190555083601b8190555082601c8190555081601d81905550601d54601c54601b54620005629190620015f3565b6200056e9190620015f3565b601a81905550733f7db620ca7720854f9ff849eb54c467f901d986600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507338b5958d16733ba6481975bf1cf6cc3bc1822c1f600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507341b5d64fdebe5d1c9db8d83336e48a33715ff512600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739cdf891dba9fc1daeb36ee0b7b944afec06a32b7600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507392a1f48b63bbe4ab1f2c0f91f9412cdd52bea00e600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200073f6200073162000d6660201b60201c565b600162000d8f60201b60201c565b6200075230600162000d8f60201b60201c565b6200076533600162000d8f60201b60201c565b6200079a600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000d8f60201b60201c565b620007cf600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000d8f60201b60201c565b62000804600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000d8f60201b60201c565b62000839600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000d8f60201b60201c565b6200086e600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000d8f60201b60201c565b6200088361dead600162000d8f60201b60201c565b620008a56200089762000d6660201b60201c565b600162000bdb60201b60201c565b620008b830600162000bdb60201b60201c565b620008ed600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000bdb60201b60201c565b62000922600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000bdb60201b60201c565b62000957600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000bdb60201b60201c565b6200098c600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000bdb60201b60201c565b620009c1600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000bdb60201b60201c565b620009d433600162000bdb60201b60201c565b620009e961dead600162000bdb60201b60201c565b620009fb338262000ec960201b60201c565b62000a4d600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661271061014f8462000a35919062001541565b62000a419190620015bb565b62000ec960201b60201c565b62000a9f600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661271061014f8462000a87919062001541565b62000a939190620015bb565b62000ec960201b60201c565b62000af1600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661271061014a8462000ad9919062001541565b62000ae59190620015bb565b62000ec960201b60201c565b62000b43600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166127106101368462000b2b919062001541565b62000b379190620015bb565b62000ec960201b60201c565b62000b73336127106101318462000b5b919062001541565b62000b679190620015bb565b62000ec960201b60201c565b62000bc5600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661271061012c8462000bad919062001541565b62000bb99190620015bb565b62000ec960201b60201c565b5050505050505050620017fd565b600033905090565b62000beb62000bd360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000c1162000d6660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000c6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c61906200168f565b60405180910390fd5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000d9f62000bd360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000dc562000d6660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e15906200168f565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000ebd9190620016ce565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000f3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f32906200173b565b60405180910390fd5b62000f4f600083836200106f60201b60201c565b62000f66816003546200107460201b90919060201c565b60038190555062000fc081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200107460201b90919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200106391906200176e565b60405180910390a35050565b505050565b6000808284620010859190620015f3565b905083811015620010cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010c490620017db565b60405180910390fd5b8091505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200115957607f821691505b6020821081036200116f576200116e62001111565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620011d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200119a565b620011e586836200119a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620012326200122c6200122684620011fd565b62001207565b620011fd565b9050919050565b6000819050919050565b6200124e8362001211565b620012666200125d8262001239565b848454620011a7565b825550505050565b600090565b6200127d6200126e565b6200128a81848462001243565b505050565b5b81811015620012b257620012a660008262001273565b60018101905062001290565b5050565b601f8211156200130157620012cb8162001175565b620012d6846200118a565b81016020851015620012e6578190505b620012fe620012f5856200118a565b8301826200128f565b50505b505050565b600082821c905092915050565b6000620013266000198460080262001306565b1980831691505092915050565b600062001341838362001313565b9150826002028217905092915050565b6200135c82620010d7565b67ffffffffffffffff811115620013785762001377620010e2565b5b62001384825462001140565b62001391828285620012b6565b600060209050601f831160018114620013c95760008415620013b4578287015190505b620013c0858262001333565b86555062001430565b601f198416620013d98662001175565b60005b828110156200140357848901518255600182019150602085019450602081019050620013dc565b868310156200142357848901516200141f601f89168262001313565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200146a826200143d565b9050919050565b6200147c816200145d565b81146200148857600080fd5b50565b6000815190506200149c8162001471565b92915050565b600060208284031215620014bb57620014ba62001438565b5b6000620014cb848285016200148b565b91505092915050565b620014df816200145d565b82525050565b6000604082019050620014fc6000830185620014d4565b6200150b6020830184620014d4565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200154e82620011fd565b91506200155b83620011fd565b92508282026200156b81620011fd565b9150828204841483151762001585576200158462001512565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620015c882620011fd565b9150620015d583620011fd565b925082620015e857620015e76200158c565b5b828204905092915050565b60006200160082620011fd565b91506200160d83620011fd565b925082820190508082111562001628576200162762001512565b5b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620016776020836200162e565b915062001684826200163f565b602082019050919050565b60006020820190508181036000830152620016aa8162001668565b9050919050565b60008115159050919050565b620016c881620016b1565b82525050565b6000602082019050620016e56000830184620016bd565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001723601f836200162e565b91506200173082620016eb565b602082019050919050565b60006020820190508181036000830152620017568162001714565b9050919050565b6200176881620011fd565b82525050565b60006020820190506200178560008301846200175d565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000620017c3601b836200162e565b9150620017d0826200178b565b602082019050919050565b60006020820190508181036000830152620017f681620017b4565b9050919050565b60805160a05161576f620018626000396000818161134c01528181611a8601528181612b240152612fd6015260008181610d9b01528181612acc01528181613e6201528181613f4301528181613f6a01528181614006015261402d015261576f6000f3fe6080604052600436106103395760003560e01c80638a8c523c116101ab578063bbc0c742116100f7578063d85ba06311610095578063f11a24d31161006f578063f11a24d314610c1f578063f2fde38b14610c4a578063f637434214610c73578063f8b45b0514610c9e57610340565b8063d85ba06314610b8c578063dd62ed3e14610bb7578063e2f4560514610bf457610340565b8063c18bc195116100d1578063c18bc19514610ad0578063c876d0b914610af9578063c8c8ebe414610b24578063d257b34f14610b4f57610340565b8063bbc0c74214610a53578063c024666814610a7e578063c17b5b8c14610aa757610340565b80639c3b4fdc11610164578063a457c2d71161013e578063a457c2d714610973578063a9059cbb146109b0578063aacebbe3146109ed578063b62496f514610a1657610340565b80639c3b4fdc146108f25780639fccce321461091d578063a0d82dc51461094857610340565b80638a8c523c146108085780638da5cb5b1461081f578063921369131461084a578063924de9b71461087557806395d89b411461089e5780639a7a23d6146108c957610340565b8063313ce567116102855780636ddd171311610223578063751039fc116101fd578063751039fc146107605780637571336a1461078b5780637bce5a04146107b45780638095d564146107df57610340565b80636ddd1713146106e157806370a082311461070c578063715018a61461074957610340565b806349bd5a5e1161025f57806349bd5a5e146106235780634a62bb651461064e5780634fbee193146106795780636a486a8e146106b657610340565b8063313ce5671461059057806339509351146105bb57806340080c07146105f857610340565b80631816467f116102f2578063203e727e116102cc578063203e727e146104d657806323b872dd146104ff57806327c8f8351461053c5780632d5a5d341461056757610340565b80631816467f146104575780631a8145bb146104805780631f3fed8f146104ab57610340565b806306fdde0314610345578063095ea7b31461037057806310d5de53146103ad5780631694505e146103ea57806317700f011461041557806318160ddd1461042c57610340565b3661034057005b600080fd5b34801561035157600080fd5b5061035a610cc9565b60405161036791906141cf565b60405180910390f35b34801561037c57600080fd5b506103976004803603810190610392919061428a565b610d5b565b6040516103a491906142e5565b60405180910390f35b3480156103b957600080fd5b506103d460048036038101906103cf9190614300565b610d79565b6040516103e191906142e5565b60405180910390f35b3480156103f657600080fd5b506103ff610d99565b60405161040c919061438c565b60405180910390f35b34801561042157600080fd5b5061042a610dbd565b005b34801561043857600080fd5b50610441610e71565b60405161044e91906143b6565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190614300565b610e7b565b005b34801561048c57600080fd5b50610495610fb7565b6040516104a291906143b6565b60405180910390f35b3480156104b757600080fd5b506104c0610fbd565b6040516104cd91906143b6565b60405180910390f35b3480156104e257600080fd5b506104fd60048036038101906104f891906143d1565b610fc3565b005b34801561050b57600080fd5b50610526600480360381019061052191906143fe565b6110d2565b60405161053391906142e5565b60405180910390f35b34801561054857600080fd5b506105516111ab565b60405161055e9190614460565b60405180910390f35b34801561057357600080fd5b5061058e600480360381019061058991906144a7565b6111b1565b005b34801561059c57600080fd5b506105a5611288565b6040516105b29190614503565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd919061428a565b611291565b6040516105ef91906142e5565b60405180910390f35b34801561060457600080fd5b5061060d611344565b60405161061a91906143b6565b60405180910390f35b34801561062f57600080fd5b5061063861134a565b6040516106459190614460565b60405180910390f35b34801561065a57600080fd5b5061066361136e565b60405161067091906142e5565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190614300565b611381565b6040516106ad91906142e5565b60405180910390f35b3480156106c257600080fd5b506106cb6113d7565b6040516106d891906143b6565b60405180910390f35b3480156106ed57600080fd5b506106f66113dd565b60405161070391906142e5565b60405180910390f35b34801561071857600080fd5b50610733600480360381019061072e9190614300565b6113f0565b60405161074091906143b6565b60405180910390f35b34801561075557600080fd5b5061075e611439565b005b34801561076c57600080fd5b50610775611576565b60405161078291906142e5565b60405180910390f35b34801561079757600080fd5b506107b260048036038101906107ad91906144a7565b611616565b005b3480156107c057600080fd5b506107c96116ed565b6040516107d691906143b6565b60405180910390f35b3480156107eb57600080fd5b506108066004803603810190610801919061451e565b6116f3565b005b34801561081457600080fd5b5061081d6117f2565b005b34801561082b57600080fd5b506108346118ad565b6040516108419190614460565b60405180910390f35b34801561085657600080fd5b5061085f6118d7565b60405161086c91906143b6565b60405180910390f35b34801561088157600080fd5b5061089c60048036038101906108979190614571565b6118dd565b005b3480156108aa57600080fd5b506108b3611976565b6040516108c091906141cf565b60405180910390f35b3480156108d557600080fd5b506108f060048036038101906108eb91906144a7565b611a08565b005b3480156108fe57600080fd5b50610907611b20565b60405161091491906143b6565b60405180910390f35b34801561092957600080fd5b50610932611b26565b60405161093f91906143b6565b60405180910390f35b34801561095457600080fd5b5061095d611b2c565b60405161096a91906143b6565b60405180910390f35b34801561097f57600080fd5b5061099a6004803603810190610995919061428a565b611b32565b6040516109a791906142e5565b60405180910390f35b3480156109bc57600080fd5b506109d760048036038101906109d2919061428a565b611bff565b6040516109e491906142e5565b60405180910390f35b3480156109f957600080fd5b50610a146004803603810190610a0f9190614300565b611c1d565b005b348015610a2257600080fd5b50610a3d6004803603810190610a389190614300565b611d59565b604051610a4a91906142e5565b60405180910390f35b348015610a5f57600080fd5b50610a68611d79565b604051610a7591906142e5565b60405180910390f35b348015610a8a57600080fd5b50610aa56004803603810190610aa091906144a7565b611d8c565b005b348015610ab357600080fd5b50610ace6004803603810190610ac9919061451e565b611eb1565b005b348015610adc57600080fd5b50610af76004803603810190610af291906143d1565b611fb0565b005b348015610b0557600080fd5b50610b0e6120bf565b604051610b1b91906142e5565b60405180910390f35b348015610b3057600080fd5b50610b396120d2565b604051610b4691906143b6565b60405180910390f35b348015610b5b57600080fd5b50610b766004803603810190610b7191906143d1565b6120d8565b604051610b8391906142e5565b60405180910390f35b348015610b9857600080fd5b50610ba161222d565b604051610bae91906143b6565b60405180910390f35b348015610bc357600080fd5b50610bde6004803603810190610bd9919061459e565b612233565b604051610beb91906143b6565b60405180910390f35b348015610c0057600080fd5b50610c096122ba565b604051610c1691906143b6565b60405180910390f35b348015610c2b57600080fd5b50610c346122c0565b604051610c4191906143b6565b60405180910390f35b348015610c5657600080fd5b50610c716004803603810190610c6c9190614300565b6122c6565b005b348015610c7f57600080fd5b50610c88612471565b604051610c9591906143b6565b60405180910390f35b348015610caa57600080fd5b50610cb3612477565b604051610cc091906143b6565b60405180910390f35b606060048054610cd89061460d565b80601f0160208091040260200160405190810160405280929190818152602001828054610d049061460d565b8015610d515780601f10610d2657610100808354040283529160200191610d51565b820191906000526020600020905b815481529060010190602001808311610d3457829003601f168201915b5050505050905090565b6000610d6f610d6861247d565b8484612485565b6001905092915050565b60236020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b610dc561247d565b73ffffffffffffffffffffffffffffffffffffffff16610de361264e565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e309061468a565b60405180910390fd5b6000600f60016101000a81548160ff0219169083151502179055506000600f60026101000a81548160ff021916908315150217905550565b6000600354905090565b610e8361247d565b73ffffffffffffffffffffffffffffffffffffffff16610ea161264e565b73ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee9061468a565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f5481565b601e5481565b610fcb61247d565b73ffffffffffffffffffffffffffffffffffffffff16610fe961264e565b73ffffffffffffffffffffffffffffffffffffffff161461103f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110369061468a565b60405180910390fd5b670de0b6b3a76400006103e86005611055610e71565b61105f91906146d9565b611069919061474a565b611073919061474a565b8110156110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac906147ed565b60405180910390fd5b670de0b6b3a7640000816110c991906146d9565b600c8190555050565b60006110df848484612677565b6111a0846110eb61247d565b61119b856040518060600160405280602881526020016156ed60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061115161247d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135ac9092919063ffffffff16565b612485565b600190509392505050565b61dead81565b6111b961247d565b73ffffffffffffffffffffffffffffffffffffffff166111d761264e565b73ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112249061468a565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b600061133a61129e61247d565b8461133585600260006112af61247d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361090919063ffffffff16565b612485565b6001905092915050565b60195481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f60009054906101000a900460ff1681565b6000602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a5481565b600f60029054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61144161247d565b73ffffffffffffffffffffffffffffffffffffffff1661145f61264e565b73ffffffffffffffffffffffffffffffffffffffff16146114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac9061468a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061158061247d565b73ffffffffffffffffffffffffffffffffffffffff1661159e61264e565b73ffffffffffffffffffffffffffffffffffffffff16146115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb9061468a565b60405180910390fd5b6000600f60006101000a81548160ff0219169083151502179055506001905090565b61161e61247d565b73ffffffffffffffffffffffffffffffffffffffff1661163c61264e565b73ffffffffffffffffffffffffffffffffffffffff1614611692576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116899061468a565b60405180910390fd5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60155481565b6116fb61247d565b73ffffffffffffffffffffffffffffffffffffffff1661171961264e565b73ffffffffffffffffffffffffffffffffffffffff161461176f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117669061468a565b60405180910390fd5b826015819055508160168190555080601781905550601754601654601554611797919061480d565b6117a1919061480d565b601481905550603260145411156117ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e49061488d565b60405180910390fd5b505050565b6117fa61247d565b73ffffffffffffffffffffffffffffffffffffffff1661181861264e565b73ffffffffffffffffffffffffffffffffffffffff161461186e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118659061468a565b60405180910390fd5b6001600f60016101000a81548160ff0219169083151502179055506001600f60026101000a81548160ff02191690831515021790555043602181905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601b5481565b6118e561247d565b73ffffffffffffffffffffffffffffffffffffffff1661190361264e565b73ffffffffffffffffffffffffffffffffffffffff1614611959576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119509061468a565b60405180910390fd5b80600f60026101000a81548160ff02191690831515021790555050565b6060600580546119859061460d565b80601f01602080910402602001604051908101604052809291908181526020018280546119b19061460d565b80156119fe5780601f106119d3576101008083540402835291602001916119fe565b820191906000526020600020905b8154815290600101906020018083116119e157829003601f168201915b5050505050905090565b611a1061247d565b73ffffffffffffffffffffffffffffffffffffffff16611a2e61264e565b73ffffffffffffffffffffffffffffffffffffffff1614611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b9061468a565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b099061491f565b60405180910390fd5b611b1c828261366e565b5050565b60175481565b60205481565b601d5481565b6000611bf5611b3f61247d565b84611bf0856040518060600160405280602581526020016157156025913960026000611b6961247d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135ac9092919063ffffffff16565b612485565b6001905092915050565b6000611c13611c0c61247d565b8484612677565b6001905092915050565b611c2561247d565b73ffffffffffffffffffffffffffffffffffffffff16611c4361264e565b73ffffffffffffffffffffffffffffffffffffffff1614611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c909061468a565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60246020528060005260406000206000915054906101000a900460ff1681565b600f60019054906101000a900460ff1681565b611d9461247d565b73ffffffffffffffffffffffffffffffffffffffff16611db261264e565b73ffffffffffffffffffffffffffffffffffffffff1614611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff9061468a565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611ea591906142e5565b60405180910390a25050565b611eb961247d565b73ffffffffffffffffffffffffffffffffffffffff16611ed761264e565b73ffffffffffffffffffffffffffffffffffffffff1614611f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f249061468a565b60405180910390fd5b82601b8190555081601c8190555080601d81905550601d54601c54601b54611f55919061480d565b611f5f919061480d565b601a819055506063601a541115611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa29061498b565b60405180910390fd5b505050565b611fb861247d565b73ffffffffffffffffffffffffffffffffffffffff16611fd661264e565b73ffffffffffffffffffffffffffffffffffffffff161461202c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120239061468a565b60405180910390fd5b670de0b6b3a76400006103e8600f612042610e71565b61204c91906146d9565b612056919061474a565b612060919061474a565b8110156120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209990614a1d565b60405180910390fd5b670de0b6b3a7640000816120b691906146d9565b600e8190555050565b601360009054906101000a900460ff1681565b600c5481565b60006120e261247d565b73ffffffffffffffffffffffffffffffffffffffff1661210061264e565b73ffffffffffffffffffffffffffffffffffffffff1614612156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214d9061468a565b60405180910390fd5b620186a06001612164610e71565b61216e91906146d9565b612178919061474a565b8210156121ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b190614aaf565b60405180910390fd5b6103e860056121c7610e71565b6121d191906146d9565b6121db919061474a565b82111561221d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221490614b41565b60405180910390fd5b81600d8190555060019050919050565b60145481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d5481565b60165481565b6122ce61247d565b73ffffffffffffffffffffffffffffffffffffffff166122ec61264e565b73ffffffffffffffffffffffffffffffffffffffff1614612342576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123399061468a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a890614bd3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601c5481565b600e5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124eb90614c65565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255a90614cf7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161264191906143b6565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036126e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126dd90614d89565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274c90614e1b565b60405180910390fd5b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127f95750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614ead565b60405180910390fd5b600081036128515761284c8383600061370f565b6135a7565b600f60009054906101000a900460ff1615612fbb5761286e6118ad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128dc57506128ac6118ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129155750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561294f575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129685750600660149054906101000a900460ff16155b15612fba5760195460185410612982576129806139a6565b505b600f60019054906101000a900460ff16612a7757602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a375750602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6d90614f19565b60405180910390fd5b5b601360009054906101000a900460ff1615612c3f57612a946118ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612b1b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612b7357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612c3e5743601060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf090614fd1565b60405180910390fd5b43601060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612ce25750602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612dd457600c54811115612d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2390615063565b60405180910390fd5b600e54612d38836113f0565b82612d43919061480d565b1115612d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7b906150cf565b60405180910390fd5b60195460185410612da9576001601954612d9e919061480d565b601881905550612dcf565b6019546018541015612dce5760186000815480929190612dc8906150ef565b91905055505b5b612fb9565b602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612e775750602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612f0d576019546018541015612ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eba906151a9565b60405180910390fd5b600c54811115612f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eff9061523b565b60405180910390fd5b612fb8565b602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612fb757600e54612f6a836113f0565b82612f75919061480d565b1115612fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fad906150cf565b60405180910390fd5b5b5b5b5b5b6000602154612fca919061480d565b431115801561302557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156130715750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156130cf576000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60006130da306113f0565b90506000600d5482101590508080156130ff5750600f60029054906101000a900460ff165b80156131185750600660149054906101000a900460ff16155b801561316e5750602460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156131c45750602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561321a5750602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561325e576001600660146101000a81548160ff0219169083151502179055506132426139c9565b6000600660146101000a81548160ff0219169083151502179055505b6000600660149054906101000a900460ff16159050602260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806133145750602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561331e57600090505b6000811561359757602460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561338157506000601a54115b1561344e576133ae60646133a0601a5488613cb090919063ffffffff16565b613d2a90919063ffffffff16565b9050601a54601c54826133c191906146d9565b6133cb919061474a565b601f60008282546133dc919061480d565b92505081905550601a54601d54826133f491906146d9565b6133fe919061474a565b6020600082825461340f919061480d565b92505081905550601a54601b548261342791906146d9565b613431919061474a565b601e6000828254613442919061480d565b92505081905550613573565b602460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156134a957506000601454115b15613572576134d660646134c860145488613cb090919063ffffffff16565b613d2a90919063ffffffff16565b9050601454601654826134e991906146d9565b6134f3919061474a565b601f6000828254613504919061480d565b925050819055506014546017548261351c91906146d9565b613526919061474a565b60206000828254613537919061480d565b925050819055506014546015548261354f91906146d9565b613559919061474a565b601e600082825461356a919061480d565b925050819055505b5b60008111156135885761358787308361370f565b5b8085613594919061525b565b94505b6135a287878761370f565b505050505b505050565b60008383111582906135f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135eb91906141cf565b60405180910390fd5b5060008385613603919061525b565b9050809150509392505050565b600080828461361f919061480d565b905083811015613664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365b906152db565b60405180910390fd5b8091505092915050565b80602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361377e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377590614d89565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036137ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137e490614e1b565b60405180910390fd5b6137f8838383613d74565b613864816040518060600160405280602681526020016156c760269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135ac9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138f981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161399991906143b6565b60405180910390a3505050565b600080601360006101000a81548160ff0219169083151502179055506001905090565b60006139d4306113f0565b90506000602054601e54601f546139eb919061480d565b6139f5919061480d565b9050600080831480613a075750600082145b15613a1457505050613cae565b6014600d54613a2391906146d9565b831115613a3c576014600d54613a3991906146d9565b92505b6000600283601f5486613a4f91906146d9565b613a59919061474a565b613a63919061474a565b90506000613a7a8286613d7990919063ffffffff16565b90506000479050613a8a82613dc3565b6000613a9f8247613d7990919063ffffffff16565b90506000613aca87613abc601e5485613cb090919063ffffffff16565b613d2a90919063ffffffff16565b90506000613af588613ae760205486613cb090919063ffffffff16565b613d2a90919063ffffffff16565b90506000818385613b06919061525b565b613b10919061525b565b90506000601f819055506000601e819055506000602081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613b709061532c565b60006040518083038185875af1925050503d8060008114613bad576040519150601f19603f3d011682016040523d82523d6000602084013e613bb2565b606091505b505080985050600087118015613bc85750600081115b15613c1557613bd78782614000565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601f54604051613c0c93929190615341565b60405180910390a15b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613c5b9061532c565b60006040518083038185875af1925050503d8060008114613c98576040519150601f19603f3d011682016040523d82523d6000602084013e613c9d565b606091505b505080985050505050505050505050505b565b6000808303613cc25760009050613d24565b60008284613cd091906146d9565b9050828482613cdf919061474a565b14613d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d16906153ea565b60405180910390fd5b809150505b92915050565b6000613d6c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506140dc565b905092915050565b505050565b6000613dbb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506135ac565b905092915050565b6000600267ffffffffffffffff811115613de057613ddf61540a565b5b604051908082528060200260200182016040528015613e0e5781602001602082028036833780820191505090505b5090503081600081518110613e2657613e25615439565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eef919061547d565b81600181518110613f0357613f02615439565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613f68307f000000000000000000000000000000000000000000000000000000000000000084612485565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613fca9594939291906155a3565b600060405180830381600087803b158015613fe457600080fd5b505af1158015613ff8573d6000803e3d6000fd5b505050505050565b61402b307f000000000000000000000000000000000000000000000000000000000000000084612485565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401614092969594939291906155fd565b60606040518083038185885af11580156140b0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906140d59190615673565b5050505050565b60008083118290614123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161411a91906141cf565b60405180910390fd5b5060008385614132919061474a565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561417957808201518184015260208101905061415e565b60008484015250505050565b6000601f19601f8301169050919050565b60006141a18261413f565b6141ab818561414a565b93506141bb81856020860161415b565b6141c481614185565b840191505092915050565b600060208201905081810360008301526141e98184614196565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614221826141f6565b9050919050565b61423181614216565b811461423c57600080fd5b50565b60008135905061424e81614228565b92915050565b6000819050919050565b61426781614254565b811461427257600080fd5b50565b6000813590506142848161425e565b92915050565b600080604083850312156142a1576142a06141f1565b5b60006142af8582860161423f565b92505060206142c085828601614275565b9150509250929050565b60008115159050919050565b6142df816142ca565b82525050565b60006020820190506142fa60008301846142d6565b92915050565b600060208284031215614316576143156141f1565b5b60006143248482850161423f565b91505092915050565b6000819050919050565b600061435261434d614348846141f6565b61432d565b6141f6565b9050919050565b600061436482614337565b9050919050565b600061437682614359565b9050919050565b6143868161436b565b82525050565b60006020820190506143a1600083018461437d565b92915050565b6143b081614254565b82525050565b60006020820190506143cb60008301846143a7565b92915050565b6000602082840312156143e7576143e66141f1565b5b60006143f584828501614275565b91505092915050565b600080600060608486031215614417576144166141f1565b5b60006144258682870161423f565b93505060206144368682870161423f565b925050604061444786828701614275565b9150509250925092565b61445a81614216565b82525050565b60006020820190506144756000830184614451565b92915050565b614484816142ca565b811461448f57600080fd5b50565b6000813590506144a18161447b565b92915050565b600080604083850312156144be576144bd6141f1565b5b60006144cc8582860161423f565b92505060206144dd85828601614492565b9150509250929050565b600060ff82169050919050565b6144fd816144e7565b82525050565b600060208201905061451860008301846144f4565b92915050565b600080600060608486031215614537576145366141f1565b5b600061454586828701614275565b935050602061455686828701614275565b925050604061456786828701614275565b9150509250925092565b600060208284031215614587576145866141f1565b5b600061459584828501614492565b91505092915050565b600080604083850312156145b5576145b46141f1565b5b60006145c38582860161423f565b92505060206145d48582860161423f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061462557607f821691505b602082108103614638576146376145de565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061467460208361414a565b915061467f8261463e565b602082019050919050565b600060208201905081810360008301526146a381614667565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006146e482614254565b91506146ef83614254565b92508282026146fd81614254565b91508282048414831517614714576147136146aa565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061475582614254565b915061476083614254565b9250826147705761476f61471b565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e35250000000000000000000000000000000000602082015250565b60006147d7602f8361414a565b91506147e28261477b565b604082019050919050565b60006020820190508181036000830152614806816147ca565b9050919050565b600061481882614254565b915061482383614254565b925082820190508082111561483b5761483a6146aa565b5b92915050565b7f4d757374206b656570206665657320617420353025206f72206c657373000000600082015250565b6000614877601d8361414a565b915061488282614841565b602082019050919050565b600060208201905081810360008301526148a68161486a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061490960398361414a565b9150614914826148ad565b604082019050919050565b60006020820190508181036000830152614938816148fc565b9050919050565b7f4d757374206b656570206665657320617420393925206f72206c657373000000600082015250565b6000614975601d8361414a565b91506149808261493f565b602082019050919050565b600060208201905081810360008301526149a481614968565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f312e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614a0760248361414a565b9150614a12826149ab565b604082019050919050565b60006020820190508181036000830152614a36816149fa565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000614a9960358361414a565b9150614aa482614a3d565b604082019050919050565b60006020820190508181036000830152614ac881614a8c565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614b2b60348361414a565b9150614b3682614acf565b604082019050919050565b60006020820190508181036000830152614b5a81614b1e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614bbd60268361414a565b9150614bc882614b61565b604082019050919050565b60006020820190508181036000830152614bec81614bb0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614c4f60248361414a565b9150614c5a82614bf3565b604082019050919050565b60006020820190508181036000830152614c7e81614c42565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614ce160228361414a565b9150614cec82614c85565b604082019050919050565b60006020820190508181036000830152614d1081614cd4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614d7360258361414a565b9150614d7e82614d17565b604082019050919050565b60006020820190508181036000830152614da281614d66565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614e0560238361414a565b9150614e1082614da9565b604082019050919050565b60006020820190508181036000830152614e3481614df8565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460008201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b6000614e9760318361414a565b9150614ea282614e3b565b604082019050919050565b60006020820190508181036000830152614ec681614e8a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614f0360168361414a565b9150614f0e82614ecd565b602082019050919050565b60006020820190508181036000830152614f3281614ef6565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000614fbb60498361414a565b9150614fc682614f39565b606082019050919050565b60006020820190508181036000830152614fea81614fae565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b600061504d60358361414a565b915061505882614ff1565b604082019050919050565b6000602082019050818103600083015261507c81615040565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006150b960138361414a565b91506150c482615083565b602082019050919050565b600060208201905081810360008301526150e8816150ac565b9050919050565b60006150fa82614254565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361512c5761512b6146aa565b5b600182019050919050565b7f53656c6c696e67206175746f20656e61626c656420616674657220636572746160008201527f696e206275797320000000000000000000000000000000000000000000000000602082015250565b600061519360288361414a565b915061519e82615137565b604082019050919050565b600060208201905081810360008301526151c281615186565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b600061522560368361414a565b9150615230826151c9565b604082019050919050565b6000602082019050818103600083015261525481615218565b9050919050565b600061526682614254565b915061527183614254565b9250828203905081811115615289576152886146aa565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006152c5601b8361414a565b91506152d08261528f565b602082019050919050565b600060208201905081810360008301526152f4816152b8565b9050919050565b600081905092915050565b50565b60006153166000836152fb565b915061532182615306565b600082019050919050565b600061533782615309565b9150819050919050565b600060608201905061535660008301866143a7565b61536360208301856143a7565b61537060408301846143a7565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006153d460218361414a565b91506153df82615378565b604082019050919050565b60006020820190508181036000830152615403816153c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061547781614228565b92915050565b600060208284031215615493576154926141f1565b5b60006154a184828501615468565b91505092915050565b6000819050919050565b60006154cf6154ca6154c5846154aa565b61432d565b614254565b9050919050565b6154df816154b4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61551a81614216565b82525050565b600061552c8383615511565b60208301905092915050565b6000602082019050919050565b6000615550826154e5565b61555a81856154f0565b935061556583615501565b8060005b8381101561559657815161557d8882615520565b975061558883615538565b925050600181019050615569565b5085935050505092915050565b600060a0820190506155b860008301886143a7565b6155c560208301876154d6565b81810360408301526155d78186615545565b90506155e66060830185614451565b6155f360808301846143a7565b9695505050505050565b600060c0820190506156126000830189614451565b61561f60208301886143a7565b61562c60408301876154d6565b61563960608301866154d6565b6156466080830185614451565b61565360a08301846143a7565b979650505050505050565b60008151905061566d8161425e565b92915050565b60008060006060848603121561568c5761568b6141f1565b5b600061569a8682870161565e565b93505060206156ab8682870161565e565b92505060406156bc8682870161565e565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f1df53c62ab6c9e1c243955179eecfab576807052c769f1a6b73a3ede4cbf25e64736f6c63430008130033