0x60c0604052662386f26fc100006007556a18d0bf423c03d8de000000600855610fa0600955673782dace9d900000600a556b26c62ad77dc602dae0000000600b556104b0600d556064600f55600160105f6101000a81548160ff021916908315150217905550348015610070575f80fd5b506040518060400160405280600781526020017f4255524e455448000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f4255524e4554480000000000000000000000000000000000000000000000000081525081600390816100ec9190610d05565b5080600490816100fc9190610d05565b50505061011b61011061052460201b60201c565b61052b60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d29190610e32565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610239573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025d9190610e32565b6040518363ffffffff1660e01b815260040161027a929190610e6c565b6020604051808303815f875af1158015610296573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ba9190610e32565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505061030b6102fe6105ee60201b60201c565b600161061660201b60201c565b61031c30600161061660201b60201c565b61032f61dead600161061660201b60201c565b610354730bd6a62ab75371807d92628d8a7c507a41a83b91600161061660201b60201c565b610379732ca51854230437bc3e0a3b7f26a645271998a623600161061660201b60201c565b61039e73defa9b9261b8ecf223c43a659c43413691667240600161061660201b60201c565b6103c373cd1a7e5e2dc619aac67d65fa8d7d1e910cf8021f600161061660201b60201c565b6103e873db3de1316238b0b01e0fb7bb2b8c3ab353700953600161061660201b60201c565b61040d73d1d39b3c613c25b67956f3fa5e870f78f7bdff69600161061660201b60201c565b61043273af9563e515a0ab760ee9f5af5ecf3b24b42e91ab600161061660201b60201c565b610457734be7706a4eac2669afc195290af070bd18e5e638600161061660201b60201c565b61047c731345f12d90f008ec0f1fde3a018f01a4fc649f40600161061660201b60201c565b6104a173f8c8186611a68465d40e91e62d3962bb3b69957f600161061660201b60201c565b6104b460a051600161067c60201b60201c565b6104d0306b60ef6b1aba6f07233000000061071a60201b60201c565b61050073af9563e515a0ab760ee9f5af5ecf3b24b42e91ab6bc1ded63574de0e466000000061071a60201b60201c565b61051f306080516b60ef6b1aba6f07233000000061087460201b60201c565b611117565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610624610a3760201b60201c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077f90610eed565b60405180910390fd5b6107995f8383610ac160201b60201c565b8060025f8282546107aa9190610f38565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108579190610f7a565b60405180910390a36108705f8383610ac660201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d990611003565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790611091565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a2a9190610f7a565b60405180910390a3505050565b610a4561052460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16610a696105ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab6906110f9565b60405180910390fd5b565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610b4657607f821691505b602082108103610b5957610b58610b02565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610bbb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610b80565b610bc58683610b80565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610c09610c04610bff84610bdd565b610be6565b610bdd565b9050919050565b5f819050919050565b610c2283610bef565b610c36610c2e82610c10565b848454610b8c565b825550505050565b5f90565b610c4a610c3e565b610c55818484610c19565b505050565b5b81811015610c7857610c6d5f82610c42565b600181019050610c5b565b5050565b601f821115610cbd57610c8e81610b5f565b610c9784610b71565b81016020851015610ca6578190505b610cba610cb285610b71565b830182610c5a565b50505b505050565b5f82821c905092915050565b5f610cdd5f1984600802610cc2565b1980831691505092915050565b5f610cf58383610cce565b9150826002028217905092915050565b610d0e82610acb565b67ffffffffffffffff811115610d2757610d26610ad5565b5b610d318254610b2f565b610d3c828285610c7c565b5f60209050601f831160018114610d6d575f8415610d5b578287015190505b610d658582610cea565b865550610dcc565b601f198416610d7b86610b5f565b5f5b82811015610da257848901518255600182019150602085019450602081019050610d7d565b86831015610dbf5784890151610dbb601f891682610cce565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0182610dd8565b9050919050565b610e1181610df7565b8114610e1b575f80fd5b50565b5f81519050610e2c81610e08565b92915050565b5f60208284031215610e4757610e46610dd4565b5b5f610e5484828501610e1e565b91505092915050565b610e6681610df7565b82525050565b5f604082019050610e7f5f830185610e5d565b610e8c6020830184610e5d565b9392505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610ed7601f83610e93565b9150610ee282610ea3565b602082019050919050565b5f6020820190508181035f830152610f0481610ecb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610f4282610bdd565b9150610f4d83610bdd565b9250828201905080821115610f6557610f64610f0b565b5b92915050565b610f7481610bdd565b82525050565b5f602082019050610f8d5f830184610f6b565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f610fed602483610e93565b9150610ff882610f93565b604082019050919050565b5f6020820190508181035f83015261101a81610fe1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61107b602283610e93565b915061108682611021565b604082019050919050565b5f6020820190508181035f8301526110a88161106f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6110e3602083610e93565b91506110ee826110af565b602082019050919050565b5f6020820190508181035f830152611110816110d7565b9050919050565b60805160a0516130086111545f395f8181610f930152818161211401528181612173015261219e01525f81816103190152610e5e01526130085ff3fe608060405260043610610249575f3560e01c806370a0823111610138578063a4c82a00116100b5578063c9567bf911610079578063c9567bf914610ae1578063dd62ed3e14610af7578063df3b89c014610b33578063e0bf7fd114610b5d578063f2fde38b14610b99578063f5648a4f14610bc157610487565b8063a4c82a00146109ed578063a9059cbb14610a17578063abf4016f14610a53578063b62496f514610a7d578063c024666814610ab957610487565b80637e86ca94116100fc5780637e86ca941461090957806387ef4714146109335780638da5cb5b1461095d57806395d89b4114610987578063a457c2d7146109b157610487565b806370a082311461083b578063715018a614610877578063730c18881461088d578063755cc41e146108b557806375f0a874146108df57610487565b806327c8f835116101c6578063395093511161018a578063395093511461073357806349bd5a5e1461076f5780634fbee1931461079957806358b11ec6146107d55780635eab9400146107ff57610487565b806327c8f8351461064f5780632c3e486c146106795780632e82f1a0146106a3578063313ce567146106cd578063333e99db146106f757610487565b80631732cded1161020d5780631732cded1461056b57806318160ddd14610595578063199ffc72146105bf5780632171f26c146105e957806323b872dd1461061357610487565b806306fdde031461048b578063085a10cf146104b5578063095ea7b3146104dd578063153b0d1e146105195780631694505e1461054157610487565b3661048757601060019054906101000a900460ff16610484573273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610299575f80fd5b6007543410156102a7575f80fd5b5f600754346102b691906122d9565b90505f81116102c3575f80fd5b600b81106102cf575f80fd5b80600c5f8282546102e09190612309565b92505081905550600954600c5411156102f7575f80fd5b61030e3382600854610309919061233c565b610bd7565b600a54471061047e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7196004600a5461036291906122d9565b306004600b5461037291906122d9565b5f8061dead426040518863ffffffff1660e01b81526004016103999695949392919061240d565b60606040518083038185885af11580156103b5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906103da919061249a565b5050505f734be7706a4eac2669afc195290af070bd18e5e63873ffffffffffffffffffffffffffffffffffffffff1660046003600a5461041a919061233c565b61042491906122d9565b60405161043090612517565b5f6040518083038185875af1925050503d805f811461046a576040519150601f19603f3d011682016040523d82523d5f602084013e61046f565b606091505b505090508061047c575f80fd5b505b50610485565b5b005b5f80fd5b348015610496575f80fd5b5061049f610d25565b6040516104ac919061259b565b60405180910390f35b3480156104c0575f80fd5b506104db60048036038101906104d691906125f0565b610db5565b005b3480156104e8575f80fd5b5061050360048036038101906104fe9190612659565b610dda565b60405161051091906126a6565b60405180910390f35b348015610524575f80fd5b5061053f600480360381019061053a91906126bf565b610dfc565b005b34801561054c575f80fd5b50610555610e5c565b604051610562919061274f565b60405180910390f35b348015610576575f80fd5b5061057f610e80565b60405161058c91906126a6565b60405180910390f35b3480156105a0575f80fd5b506105a9610e93565b6040516105b69190612768565b60405180910390f35b3480156105ca575f80fd5b506105d3610e9c565b6040516105e09190612768565b60405180910390f35b3480156105f4575f80fd5b506105fd610ea2565b60405161060a91906126a6565b60405180910390f35b34801561061e575f80fd5b5061063960048036038101906106349190612781565b610eb5565b60405161064691906126a6565b60405180910390f35b34801561065a575f80fd5b50610663610ee3565b60405161067091906127d1565b60405180910390f35b348015610684575f80fd5b5061068d610ee9565b60405161069a9190612768565b60405180910390f35b3480156106ae575f80fd5b506106b7610eef565b6040516106c491906126a6565b60405180910390f35b3480156106d8575f80fd5b506106e1610f01565b6040516106ee9190612805565b60405180910390f35b348015610702575f80fd5b5061071d6004803603810190610718919061281e565b610f09565b60405161072a91906126a6565b60405180910390f35b34801561073e575f80fd5b5061075960048036038101906107549190612659565b610f5b565b60405161076691906126a6565b60405180910390f35b34801561077a575f80fd5b50610783610f91565b60405161079091906127d1565b60405180910390f35b3480156107a4575f80fd5b506107bf60048036038101906107ba919061281e565b610fb5565b6040516107cc91906126a6565b60405180910390f35b3480156107e0575f80fd5b506107e9611007565b6040516107f69190612768565b60405180910390f35b34801561080a575f80fd5b506108256004803603810190610820919061281e565b61100d565b60405161083291906126a6565b60405180910390f35b348015610846575f80fd5b50610861600480360381019061085c919061281e565b61102a565b60405161086e9190612768565b60405180910390f35b348015610882575f80fd5b5061088b61106f565b005b348015610898575f80fd5b506108b360048036038101906108ae9190612849565b611082565b005b3480156108c0575f80fd5b506108c96110b6565b6040516108d69190612768565b60405180910390f35b3480156108ea575f80fd5b506108f36110bc565b60405161090091906127d1565b60405180910390f35b348015610914575f80fd5b5061091d6110e1565b60405161092a9190612768565b60405180910390f35b34801561093e575f80fd5b506109476110e7565b6040516109549190612768565b60405180910390f35b348015610968575f80fd5b506109716110ed565b60405161097e91906127d1565b60405180910390f35b348015610992575f80fd5b5061099b611115565b6040516109a8919061259b565b60405180910390f35b3480156109bc575f80fd5b506109d760048036038101906109d29190612659565b6111a5565b6040516109e491906126a6565b60405180910390f35b3480156109f8575f80fd5b50610a0161121a565b604051610a0e9190612768565b60405180910390f35b348015610a22575f80fd5b50610a3d6004803603810190610a389190612659565b611220565b604051610a4a91906126a6565b60405180910390f35b348015610a5e575f80fd5b50610a67611242565b604051610a749190612768565b60405180910390f35b348015610a88575f80fd5b50610aa36004803603810190610a9e919061281e565b611248565b604051610ab091906126a6565b60405180910390f35b348015610ac4575f80fd5b50610adf6004803603810190610ada91906126bf565b611265565b005b348015610aec575f80fd5b50610af56112c5565b005b348015610b02575f80fd5b50610b1d6004803603810190610b189190612899565b611375565b604051610b2a9190612768565b60405180910390f35b348015610b3e575f80fd5b50610b476113f7565b604051610b549190612768565b60405180910390f35b348015610b68575f80fd5b50610b836004803603810190610b7e919061281e565b6113fd565b604051610b9091906126a6565b60405180910390f35b348015610ba4575f80fd5b50610bbf6004803603810190610bba919061281e565b61141a565b005b348015610bcc575f80fd5b50610bd561149c565b005b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612921565b60405180910390fd5b610c505f8383611511565b8060025f828254610c619190612309565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d0e9190612768565b60405180910390a3610d215f8383611516565b5050565b606060038054610d349061296c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d609061296c565b8015610dab5780601f10610d8257610100808354040283529160200191610dab565b820191905f5260205f20905b815481529060010190602001808311610d8e57829003601f168201915b5050505050905090565b610dbd61151b565b80601060016101000a81548160ff02191690831515021790555050565b5f80610de4611599565b9050610df18185856115a0565b600191505092915050565b610e0461151b565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600560149054906101000a900460ff1681565b5f600254905090565b600f5481565b601060019054906101000a900460ff1681565b5f80610ebf611599565b9050610ecc858285611763565b610ed78585856117ee565b60019150509392505050565b61dead81565b600d5481565b60105f9054906101000a900460ff1681565b5f6012905090565b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f80610f65611599565b9050610f86818585610f778589611375565b610f819190612309565b6115a0565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600a5481565b6013602052805f5260405f205f915054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61107761151b565b6110805f611c14565b565b61108a61151b565b82600d8190555081600f819055508060105f6101000a81548160ff021916908315150217905550505050565b600c5481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60095481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111249061296c565b80601f01602080910402602001604051908101604052809291908181526020018280546111509061296c565b801561119b5780601f106111725761010080835404028352916020019161119b565b820191905f5260205f20905b81548152906001019060200180831161117e57829003601f168201915b5050505050905090565b5f806111af611599565b90505f6111bc8286611375565b905083811015611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890612a0c565b60405180910390fd5b61120e82868684036115a0565b60019250505092915050565b600e5481565b5f8061122a611599565b90506112378185856117ee565b600191505092915050565b60075481565b6012602052805f5260405f205f915054906101000a900460ff1681565b61126d61151b565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6112cd61151b565b6001601060016101000a81548160ff0219169083151502179055506112fa306112f53061102a565b611cd7565b42600e819055505f3373ffffffffffffffffffffffffffffffffffffffff164760405161132690612517565b5f6040518083038185875af1925050503d805f8114611360576040519150601f19603f3d011682016040523d82523d5f602084013e611365565b606091505b5050905080611372575f80fd5b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b6011602052805f5260405f205f915054906101000a900460ff1681565b61142261151b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612a9a565b60405180910390fd5b61149981611c14565b50565b6114a461151b565b5f3373ffffffffffffffffffffffffffffffffffffffff16476040516114c990612517565b5f6040518083038185875af1925050503d805f8114611503576040519150601f19603f3d011682016040523d82523d5f602084013e611508565b606091505b50508091505050565b505050565b505050565b611523611599565b73ffffffffffffffffffffffffffffffffffffffff166115416110ed565b73ffffffffffffffffffffffffffffffffffffffff1614611597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158e90612b02565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612b90565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390612c1e565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117569190612768565b60405180910390a3505050565b5f61176e8484611375565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117e857818110156117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d190612c86565b60405180910390fd5b6117e784848484036115a0565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361185c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185390612d14565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c190612da2565b60405180910390fd5b60115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611968575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119bd57601060019054906101000a900460ff166119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b390612e0a565b60405180910390fd5b5b5f81036119d4576119cf83835f611e9a565b611c0f565b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a3357611a2e83835f611e9a565b611c0f565b600560149054906101000a900460ff16158015611a97575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611aea575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611b3d575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c03576001600560146101000a81548160ff02191690831515021790555060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611bbe575060105f9054906101000a900460ff165b8015611bd95750600d54600e54611bd59190612309565b4210155b15611be857611be6612106565b505b5f600560146101000a81548160ff0219169083151502179055505b611c0e838383611e9a565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3c90612e98565b60405180910390fd5b611d50825f83611511565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca90612f26565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e829190612768565b60405180910390a3611e95835f84611516565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eff90612d14565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90612da2565b60405180910390fd5b611f81838383611511565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb90612fb4565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120ed9190612768565b60405180910390a3612100848484611516565b50505050565b5f42600e819055505f6121387f000000000000000000000000000000000000000000000000000000000000000061102a565b90505f612164612710612156600f548561224c90919063ffffffff16565b61226190919063ffffffff16565b90505f81111561219c5761219b7f000000000000000000000000000000000000000000000000000000000000000061dead83611e9a565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612201575f80fd5b505af1158015612213573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a160019250505090565b5f8183612259919061233c565b905092915050565b5f818361226e91906122d9565b905092915050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6122e382612276565b91506122ee83612276565b9250826122fe576122fd61227f565b5b828204905092915050565b5f61231382612276565b915061231e83612276565b9250828201905080821115612336576123356122ac565b5b92915050565b5f61234682612276565b915061235183612276565b925082820261235f81612276565b91508282048414831517612376576123756122ac565b5b5092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123a68261237d565b9050919050565b6123b68161239c565b82525050565b6123c581612276565b82525050565b5f819050919050565b5f819050919050565b5f6123f76123f26123ed846123cb565b6123d4565b612276565b9050919050565b612407816123dd565b82525050565b5f60c0820190506124205f8301896123ad565b61242d60208301886123bc565b61243a60408301876123fe565b61244760608301866123fe565b61245460808301856123ad565b61246160a08301846123bc565b979650505050505050565b5f80fd5b61247981612276565b8114612483575f80fd5b50565b5f8151905061249481612470565b92915050565b5f805f606084860312156124b1576124b061246c565b5b5f6124be86828701612486565b93505060206124cf86828701612486565b92505060406124e086828701612486565b9150509250925092565b5f81905092915050565b50565b5f6125025f836124ea565b915061250d826124f4565b5f82019050919050565b5f612521826124f7565b9150819050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61256d8261252b565b6125778185612535565b9350612587818560208601612545565b61259081612553565b840191505092915050565b5f6020820190508181035f8301526125b38184612563565b905092915050565b5f8115159050919050565b6125cf816125bb565b81146125d9575f80fd5b50565b5f813590506125ea816125c6565b92915050565b5f602082840312156126055761260461246c565b5b5f612612848285016125dc565b91505092915050565b6126248161239c565b811461262e575f80fd5b50565b5f8135905061263f8161261b565b92915050565b5f8135905061265381612470565b92915050565b5f806040838503121561266f5761266e61246c565b5b5f61267c85828601612631565b925050602061268d85828601612645565b9150509250929050565b6126a0816125bb565b82525050565b5f6020820190506126b95f830184612697565b92915050565b5f80604083850312156126d5576126d461246c565b5b5f6126e285828601612631565b92505060206126f3858286016125dc565b9150509250929050565b5f61271761271261270d8461237d565b6123d4565b61237d565b9050919050565b5f612728826126fd565b9050919050565b5f6127398261271e565b9050919050565b6127498161272f565b82525050565b5f6020820190506127625f830184612740565b92915050565b5f60208201905061277b5f8301846123bc565b92915050565b5f805f606084860312156127985761279761246c565b5b5f6127a586828701612631565b93505060206127b686828701612631565b92505060406127c786828701612645565b9150509250925092565b5f6020820190506127e45f8301846123ad565b92915050565b5f60ff82169050919050565b6127ff816127ea565b82525050565b5f6020820190506128185f8301846127f6565b92915050565b5f602082840312156128335761283261246c565b5b5f61284084828501612631565b91505092915050565b5f805f606084860312156128605761285f61246c565b5b5f61286d86828701612645565b935050602061287e86828701612645565b925050604061288f868287016125dc565b9150509250925092565b5f80604083850312156128af576128ae61246c565b5b5f6128bc85828601612631565b92505060206128cd85828601612631565b9150509250929050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f61290b601f83612535565b9150612916826128d7565b602082019050919050565b5f6020820190508181035f830152612938816128ff565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061298357607f821691505b6020821081036129965761299561293f565b5b50919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6129f6602583612535565b9150612a018261299c565b604082019050919050565b5f6020820190508181035f830152612a23816129ea565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a84602683612535565b9150612a8f82612a2a565b604082019050919050565b5f6020820190508181035f830152612ab181612a78565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612aec602083612535565b9150612af782612ab8565b602082019050919050565b5f6020820190508181035f830152612b1981612ae0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b7a602483612535565b9150612b8582612b20565b604082019050919050565b5f6020820190508181035f830152612ba781612b6e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c08602283612535565b9150612c1382612bae565b604082019050919050565b5f6020820190508181035f830152612c3581612bfc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612c70601d83612535565b9150612c7b82612c3c565b602082019050919050565b5f6020820190508181035f830152612c9d81612c64565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cfe602583612535565b9150612d0982612ca4565b604082019050919050565b5f6020820190508181035f830152612d2b81612cf2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d8c602383612535565b9150612d9782612d32565b604082019050919050565b5f6020820190508181035f830152612db981612d80565b9050919050565b7f4e6f74206f70656e0000000000000000000000000000000000000000000000005f82015250565b5f612df4600883612535565b9150612dff82612dc0565b602082019050919050565b5f6020820190508181035f830152612e2181612de8565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e82602183612535565b9150612e8d82612e28565b604082019050919050565b5f6020820190508181035f830152612eaf81612e76565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f10602283612535565b9150612f1b82612eb6565b604082019050919050565b5f6020820190508181035f830152612f3d81612f04565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612f9e602683612535565b9150612fa982612f44565b604082019050919050565b5f6020820190508181035f830152612fcb81612f92565b905091905056fea2646970667358221220867e98436eadbeb77ea5a81235e4a755f3a1d9007282de927050416872e4b39264736f6c634300081a0033