6005805461ffff60a01b191661027160a41b1761ffff60b01b1916601960b21b1761ffff60c01b1916601960c31b1761ffff60d01b1916604b60d21b1761ffff60e01b1916604b60e21b176001600160f01b0316601960f21b1790556006805461025861ffff19918216811763ffff0000191663032000001761ffff60201b19166501f400000000179092556064600781905560c8600855600b9290925561012c600c55600d9190915561a8c0600e55600f805461dead6001600160a01b03199182161790915560128054736a94a0bc84bf5451d77b7eca76f8f86a79b5f97990831617905560138054738092193fab239ced952a5452cddfa4699a7cad1b92169190911790556014805460ff60a01b1916905560198054909116905560c0604052601d60808190527f68747470733a2f2f7777772e62657476657273652e66696e616e63652f00000060a09081526200015d91601a91906200060b565b506040805180820190915260208082527f68747470733a2f2f742e6d652f4265745665727365456e747279506f7274616c918101918252620001a291601b916200060b565b5060408051808201909152601d8082527f68747470733a2f2f747769747465722e636f6d2f42657456657273655f0000006020909201918252620001e991601c916200060b565b50348015620001f757600080fd5b506040805180820182526008815267426574566572736560c01b6020808301918252835180850190945260048452634254565360e01b90840152815191929162000244916003916200060b565b5080516200025a9060049060208401906200060b565b50505060006200026f6200052e60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601480546001600160a01b03191633908117909155620002ea906b204fce5e3e2502611000000062000532565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200033d57600080fd5b505afa15801562000352573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003789190620006b1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003c157600080fd5b505afa158015620003d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fc9190620006b1565b6040518363ffffffff1660e01b81526004016200041b929190620006e1565b602060405180830381600087803b1580156200043657600080fd5b505af11580156200044b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004719190620006b1565b601180546001600160a01b03199081166001600160a01b03938416179091556010805490911692821692909217909155306000818152601560209081526040808320805460ff1990811660019081179092553380865283862080548316841790558686526016855283862080548316841790558086528386208054831684179055600f549097168552828520805482168317905594845260179092528083208054851683179055938252929020805490911690911790556200079d565b3390565b6001600160a01b038216620005645760405162461bcd60e51b81526004016200055b90620006fb565b60405180910390fd5b620005726000838362000606565b80600260008282546200058691906200073b565b90915550506001600160a01b03821660009081526020819052604081208054839290620005b59084906200073b565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620005fa90859062000732565b60405180910390a35050565b505050565b828054620006199062000760565b90600052602060002090601f0160209004810192826200063d576000855562000688565b82601f106200065857805160ff191683800117855562000688565b8280016001018555821562000688579182015b82811115620006885782518255916020019190600101906200066b565b50620006969291506200069a565b5090565b5b808211156200069657600081556001016200069b565b600060208284031215620006c3578081fd5b81516001600160a01b0381168114620006da578182fd5b9392505050565b6001600160a01b0392831681529116602082015260400190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200075b57634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806200077557607f821691505b602082108114156200079757634e487b7160e01b600052602260045260246000fd5b50919050565b61464d80620007ad6000396000f3fe60806040526004361061043f5760003560e01c8063735de9f711610234578063a8bcf4741161012e578063d4c989d3116100b6578063e69bb8211161007a578063e69bb82114610c04578063e7a324dc14610c24578063f1127ed814610c39578063f2fde38b14610c67578063f9a7eb6514610c8757610446565b8063d4c989d314610b6f578063db90127e14610b8f578063dd62ed3e14610baf578063dea0621014610bcf578063df8408fe14610be457610446565b8063c6610657116100fd578063c661065714610ae5578063c816841b14610b05578063c884ef8314610b1a578063c9567bf914610b3a578063d2fcc00114610b4f57610446565b8063a8bcf47414610a65578063a9059cbb14610a85578063b4b5ea5714610aa5578063c3cda52014610ac557610446565b80638ea5220f116101bc5780639f9a4e7f116101805780639f9a4e7f146109db578063a3d80bae146109fb578063a457c2d714610a10578063a605c7b414610a30578063a758046c14610a4557610446565b80638ea5220f1461095c578063908bb2ae1461097157806395d89b4114610991578063997664d7146109a65780639dc29fac146109bb57610446565b80637ecebe00116102035780637ecebe00146108dd57806380ca663d146108fd578063859864aa146109125780638a1c6620146109325780638da5cb5b1461094757610446565b8063735de9f71461087e578063744d15911461089357806375f0a874146108a8578063782d6fe1146108bd57610446565b80634e8c9f90116103455780636138b7c9116102cd5780636a36389b116102915780636a36389b146107e75780636dd3d39f146107fc5780636fcfff451461081c57806370a0823114610849578063715018a61461086957610446565b80636138b7c91461076857806362e546f91461077d578063658c27a914610792578063671d2555146107b257806368c51e35146107c757610446565b8063570ca73511610314578063570ca735146106de578063587cde1e146106f35780635c19a95c14610713578063608ae8541461073357806360d484891461074857610446565b80634e8c9f90146106695780635158ea1b1461068957806351bc3c85146106a95780635342acb4146106be57610446565b8063283dc96f116103c857806332cb6b0c1161039757806332cb6b0c146105df57806339509351146105f45780633ff8bf2e1461061457806346b9fa46146106295780634b418bc51461064957610446565b8063283dc96f1461056857806329605e771461057d5780632a3606311461059d578063313ce567146105bd57610446565b8063095ea7b31161040f578063095ea7b3146104cf57806318160ddd146104ef57806320606b701461051157806323b872dd1461052657806327c8f8351461054657610446565b8062dc12971461044b5780630305caff1461047657806306fdde031461049857806308381ced146104ba57610446565b3661044657005b600080fd5b34801561045757600080fd5b50610460610ca7565b60405161046d9190613cd4565b60405180910390f35b34801561048257600080fd5b50610496610491366004613967565b610cb7565b005b3480156104a457600080fd5b506104ad610d20565b60405161046d9190613d4e565b3480156104c657600080fd5b50610496610db2565b3480156104db57600080fd5b506104606104ea366004613a4b565b610e5a565b3480156104fb57600080fd5b50610504610e78565b60405161046d9190613cdf565b34801561051d57600080fd5b50610504610e7e565b34801561053257600080fd5b506104606105413660046139d7565b610ea2565b34801561055257600080fd5b5061055b610f39565b60405161046d9190613ca6565b34801561057457600080fd5b506104ad610f48565b34801561058957600080fd5b50610496610598366004613967565b610fd6565b3480156105a957600080fd5b506104966105b8366004613967565b611035565b3480156105c957600080fd5b506105d2611098565b60405161046d9190614438565b3480156105eb57600080fd5b5061050461109d565b34801561060057600080fd5b5061046061060f366004613a4b565b6110ad565b34801561062057600080fd5b506105046110fc565b34801561063557600080fd5b50610504610644366004613967565b611102565b34801561065557600080fd5b50610504610664366004613967565b611121565b34801561067557600080fd5b50610496610684366004613b63565b611133565b34801561069557600080fd5b506104966106a4366004613b63565b611199565b3480156106b557600080fd5b506104966113fb565b3480156106ca57600080fd5b506104606106d9366004613967565b61142f565b3480156106ea57600080fd5b5061055b61144d565b3480156106ff57600080fd5b5061055b61070e366004613967565b61145c565b34801561071f57600080fd5b5061049661072e366004613967565b61147a565b34801561073f57600080fd5b50610504611484565b34801561075457600080fd5b50610460610763366004613967565b61148a565b34801561077457600080fd5b506105046114a8565b34801561078957600080fd5b506104966114ae565b34801561079e57600080fd5b506104606107ad366004613967565b6115fb565b3480156107be57600080fd5b50610496611619565b3480156107d357600080fd5b506104966107e2366004613c13565b611650565b3480156107f357600080fd5b506105046116c3565b34801561080857600080fd5b50610460610817366004613967565b6116c9565b34801561082857600080fd5b5061083c610837366004613967565b6116e7565b60405161046d9190614411565b34801561085557600080fd5b50610504610864366004613967565b6116ff565b34801561087557600080fd5b5061049661171a565b34801561088a57600080fd5b5061055b6117a3565b34801561089f57600080fd5b506105046117b2565b3480156108b457600080fd5b5061055b6117b8565b3480156108c957600080fd5b506105046108d8366004613a4b565b6117c7565b3480156108e957600080fd5b506105046108f8366004613967565b6119ec565b34801561090957600080fd5b506104966119fe565b34801561091e57600080fd5b5061049661092d366004613b04565b611a35565b34801561093e57600080fd5b506104ad611b07565b34801561095357600080fd5b5061055b611b14565b34801561096857600080fd5b5061055b611b23565b34801561097d57600080fd5b5061049661098c366004613967565b611b32565b34801561099d57600080fd5b506104ad611d2f565b3480156109b257600080fd5b50610504611d3e565b3480156109c757600080fd5b506104966109d6366004613a4b565b611d44565b3480156109e757600080fd5b506104966109f6366004613b49565b611d91565b348015610a0757600080fd5b506104ad611dd9565b348015610a1c57600080fd5b50610460610a2b366004613a4b565b611de6565b348015610a3c57600080fd5b50610504611e61565b348015610a5157600080fd5b50610496610a60366004613c2b565b611e67565b348015610a7157600080fd5b50610496610a80366004613b7d565b611f02565b348015610a9157600080fd5b50610460610aa0366004613a4b565b612044565b348015610ab157600080fd5b50610504610ac0366004613967565b612058565b348015610ad157600080fd5b50610496610ae0366004613a76565b6120cd565b348015610af157600080fd5b5061055b610b00366004613c13565b6122a7565b348015610b1157600080fd5b5061055b6122d6565b348015610b2657600080fd5b50610504610b35366004613967565b6122e5565b348015610b4657600080fd5b506104966122f7565b348015610b5b57600080fd5b50610496610b6a366004613a17565b61235a565b348015610b7b57600080fd5b50610496610b8a366004613a17565b6123af565b348015610b9b57600080fd5b50610504610baa366004613967565b612404565b348015610bbb57600080fd5b50610504610bca36600461399f565b61249b565b348015610bdb57600080fd5b506105046124c6565b348015610bf057600080fd5b50610496610bff366004613a17565b6124cc565b348015610c1057600080fd5b50610504610c1f366004613967565b612521565b348015610c3057600080fd5b50610504612533565b348015610c4557600080fd5b50610c59610c54366004613acf565b612557565b60405161046d929190614422565b348015610c7357600080fd5b50610496610c82366004613967565b612584565b348015610c9357600080fd5b50610496610ca2366004613c13565b612645565b601454600160a01b900460ff1681565b610cbf612674565b6001600160a01b0316610cd0611b14565b6001600160a01b031614610cff5760405162461bcd60e51b8152600401610cf69061416e565b60405180910390fd5b6001600160a01b03166000908152601860205260409020805460ff19169055565b606060038054610d2f90614535565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5b90614535565b8015610da85780601f10610d7d57610100808354040283529160200191610da8565b820191906000526020600020905b815481529060010190602001808311610d8b57829003601f168201915b5050505050905090565b6014546001600160a01b03163314610ddc5760405162461bcd60e51b8152600401610cf690613f0c565b600680546005805461ffff60b01b1916601960b21b1761ffff60c01b1916601960c31b176001600160f01b0316601960f21b1761ffff60d01b1916601960d31b1761ffff60e01b1916604b60e21b17905561019065ffff000000001990911665012c000000001761ffff19161763ffff000019166302580000179055565b6000610e6e610e67612674565b8484612678565b5060015b92915050565b60025490565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6000610eaf84848461272c565b6001600160a01b038416600090815260016020526040812081610ed0612674565b6001600160a01b03166001600160a01b0316815260200190815260200160002054905082811015610f135760405162461bcd60e51b8152600401610cf690614126565b610f2e85610f1f612674565b610f2986856144f9565b612678565b506001949350505050565b600f546001600160a01b031681565b601a8054610f5590614535565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8190614535565b8015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b6014546001600160a01b031633146110005760405162461bcd60e51b8152600401610cf690613f0c565b6001600160a01b03811661101357600080fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b61103d612674565b6001600160a01b031661104e611b14565b6001600160a01b0316146110745760405162461bcd60e51b8152600401610cf69061416e565b6001600160a01b03166000908152601860205260409020805460ff19166001179055565b601290565b6b204fce5e3e2502611000000081565b6000610e6e6110ba612674565b8484600160006110c8612674565b6001600160a01b03908116825260208083019390935260409182016000908120918b1681529252902054610f29919061446c565b60075481565b6001600160a01b0381166000908152601f60205260409020545b919050565b601e6020526000908152604090205481565b61113b612674565b6001600160a01b031661114c611b14565b6001600160a01b0316146111725760405162461bcd60e51b8152600401610cf69061416e565b60055461ffff600160a01b9091048116908216111561119057600080fd5b61ffff16600755565b336000908152601f60205260409020544210156111c85760405162461bcd60e51b8152600401610cf690613ffe565b6111d1306116ff565b600954116113f85760006111e433612404565b9050600081116112065760405162461bcd60e51b8152600401610cf6906140c2565b600060208361ffff168154811061122d57634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020190508261ffff166000141561125a576112543383612044565b5061138b565b8261ffff16600114156112fb5760105461127f9030906001600160a01b031684612678565b6010546001600160a01b031663791ac94783600060018501336112a44261012c612daf565b6040518663ffffffff1660e01b81526004016112c49594939291906143b1565b600060405180830381600087803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b5050505061138b565b6010546113139030906001600160a01b031684612678565b6010546001600160a01b0316635c11d79583600060018501336113384261012c612daf565b6040518663ffffffff1660e01b81526004016113589594939291906143b1565b600060405180830381600087803b15801561137257600080fd5b505af1158015611386573d6000803e3d6000fd5b505050505b336000908152601d60205260409020546113a59083612daf565b336000908152601d6020908152604080832093909355600a54601e909152919020556009546113d49083612dbb565b600955600e546113e5904290612daf565b336000908152601f602052604090205550505b50565b6014546001600160a01b031633146114255760405162461bcd60e51b8152600401610cf690613f0c565b61142d612dc7565b565b6001600160a01b031660009081526015602052604090205460ff1690565b6014546001600160a01b031690565b6001600160a01b039081166000908152602160205260409020541690565b6113f83382613042565b600c5481565b6001600160a01b031660009081526018602052604090205460ff1690565b600b5481565b6014546001600160a01b031633146114d85760405162461bcd60e51b8152600401610cf690613f0c565b60055460065460009161ffff600160b01b82048116926115049290821691600160d01b90910416614446565b61150e9190614446565b61ffff1690506000479050600061153a83611534600b54856130d790919063ffffffff16565b906130e3565b9050600061155784611534600c54866130d790919063ffffffff16565b9050600061157485611534600d54876130d790919063ffffffff16565b6012549091506001600160a01b03166108fc611590838661446c565b6040518115909202916000818181858888f193505050501580156115b8573d6000803e3d6000fd5b506013546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156115f3573d6000803e3d6000fd5b505050505050565b6001600160a01b031660009081526016602052604090205460ff1690565b6014546001600160a01b031633146116435760405162461bcd60e51b8152600401610cf690613f0c565b6101906007819055600855565b611658612674565b6001600160a01b0316611669611b14565b6001600160a01b03161461168f5760405162461bcd60e51b8152600401610cf69061416e565b60af81101580156116a257506127108111155b6116be5760405162461bcd60e51b8152600401610cf690613ecb565b600855565b600d5481565b6001600160a01b031660009081526017602052604090205460ff1690565b60236020526000908152604090205463ffffffff1681565b6001600160a01b031660009081526020819052604090205490565b611722612674565b6001600160a01b0316611733611b14565b6001600160a01b0316146117595760405162461bcd60e51b8152600401610cf69061416e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6010546001600160a01b031681565b60085481565b6012546001600160a01b031681565b60004382106117e85760405162461bcd60e51b8152600401610cf6906142b1565b6001600160a01b03831660009081526023602052604090205463ffffffff1680611816576000915050610e72565b6001600160a01b0384166000908152602260205260408120849161183b600185614510565b63ffffffff908116825260208201929092526040016000205416116118a4576001600160a01b03841660009081526022602052604081209061187e600184614510565b63ffffffff1663ffffffff16815260200190815260200160002060010154915050610e72565b6001600160a01b038416600090815260226020908152604080832083805290915290205463ffffffff168310156118df576000915050610e72565b6000806118ed600184614510565b90505b8163ffffffff168163ffffffff1611156119b557600060026119128484614510565b61191c91906144b7565b6119269083614510565b6001600160a01b038816600090815260226020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915291925087141561198957602001519450610e729350505050565b805163ffffffff168711156119a0578193506119ae565b6119ab600183614510565b92505b50506118f0565b506001600160a01b038516600090815260226020908152604080832063ffffffff9094168352929052206001015491505092915050565b60246020526000908152604090205481565b6014546001600160a01b03163314611a285760405162461bcd60e51b8152600401610cf690613f0c565b6127106007819055600855565b6014546001600160a01b03163314611a5f5760405162461bcd60e51b8152600401610cf690613f0c565b604080518082019091526001600160a01b03828116825260208083018581528154600181018355600083905284517fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb600290920291820180546001600160a01b0319169190951617845590518051611b00937fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bc909301929190910190613810565b5050505050565b601b8054610f5590614535565b6005546001600160a01b031690565b6013546001600160a01b031681565b611b3a612674565b6001600160a01b0316611b4b611b14565b6001600160a01b031614611b715760405162461bcd60e51b8152600401610cf69061416e565b601080546001600160a01b0319166001600160a01b0383811691909117918290556040805163c45a015560e01b81529051929091169163c45a015591600480820192602092909190829003018186803b158015611bcd57600080fd5b505afa158015611be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c059190613983565b6001600160a01b031663e6a4390530601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6257600080fd5b505afa158015611c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9a9190613983565b6040518363ffffffff1660e01b8152600401611cb7929190613cba565b60206040518083038186803b158015611ccf57600080fd5b505afa158015611ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d079190613983565b601180546001600160a01b0319166001600160a01b039283161790819055166113f857600080fd5b606060048054610d2f90614535565b60095481565b611d4c612674565b6001600160a01b0316611d5d611b14565b6001600160a01b031614611d835760405162461bcd60e51b8152600401610cf69061416e565b611d8d82826130ef565b5050565b6014546001600160a01b03163314611dbb5760405162461bcd60e51b8152600401610cf690613f0c565b60148054911515600160a01b0260ff60a01b19909216919091179055565b601c8054610f5590614535565b60008060016000611df5612674565b6001600160a01b0390811682526020808301939093526040918201600090812091881681529252902054905082811015611e415760405162461bcd60e51b8152600401610cf6906142fc565b611e57611e4c612674565b85610f2986856144f9565b5060019392505050565b600e5481565b6014546001600160a01b03163314611e915760405162461bcd60e51b8152600401610cf690613f0c565b600060208460ff1681548110611eb757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201905082816001019080519060200190611edf929190613810565b5080546001600160a01b0319166001600160a01b03929092169190911790555050565b611f0a612674565b6001600160a01b0316611f1b611b14565b6001600160a01b031614611f415760405162461bcd60e51b8152600401610cf69061416e565b600554600160a01b900461ffff1682611f5a868b614446565b611f649190614446565b61ffff161115611f865760405162461bcd60e51b8152600401610cf690614229565b600680546005805461ffff60b01b1916600160b01b61ffff9b8c16021761ffff60c01b1916600160c01b998b1699909902989098176001600160f01b0316600160f01b978a16979097029690961761ffff60d01b1916600160d01b958916959095029490941761ffff60e01b1916600160e01b938816939093029290921790945565ffff0000000019909216640100000000958516959095029490941761ffff19169183169190911763ffff00001916620100009190921602179055565b6000610e6e612051612674565b848461272c565b6001600160a01b03811660009081526023602052604081205463ffffffff16806120835760006120c6565b6001600160a01b0383166000908152602260205260408120906120a7600184614510565b63ffffffff1663ffffffff168152602001908152602001600020600101545b9392505050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666120f8610d20565b805190602001206121076131d5565b3060405160200161211b9493929190613d0c565b60405160208183030381529060405280519060200120905060007fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf88888860405160200161216c9493929190613ce8565b60405160208183030381529060405280519060200120905060008282604051602001612199929190613c8b565b6040516020818303038152906040528051906020012090506000600182888888604051600081526020016040526040516121d69493929190613d30565b6020604051602081039080840390855afa1580156121f8573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661222b5760405162461bcd60e51b8152600401610cf690613fb7565b6001600160a01b038116600090815260246020526040812080549161224f83614570565b9190505589146122715760405162461bcd60e51b8152600401610cf690613da1565b874211156122915760405162461bcd60e51b8152600401610cf69061407b565b61229b818b613042565b50505050505050505050565b602081815481106122b757600080fd5b60009182526020909120600290910201546001600160a01b0316905081565b6011546001600160a01b031681565b601d6020526000908152604090205481565b6122ff612674565b6001600160a01b0316612310611b14565b6001600160a01b0316146123365760405162461bcd60e51b8152600401610cf69061416e565b6019805461ff0019166101001790556014805460ff60a01b1916600160a01b179055565b6014546001600160a01b031633146123845760405162461bcd60e51b8152600401610cf690613f0c565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b6014546001600160a01b031633146123d95760405162461bcd60e51b8152600401610cf690613f0c565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b600080612410836116ff565b9050600061241c6131d9565b90508061242e5760009250505061111c565b6001600160a01b0384166000908152601e6020526040812054600a5461245391612dbb565b9050801561249057600061246b8361153484876130d7565b90506009548111156124855760095494505050505061111c565b935061111c92505050565b506000949350505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600a5481565b6014546001600160a01b031633146124f65760405162461bcd60e51b8152600401610cf690613f0c565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b601f6020526000908152604090205481565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b60226020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b61258c612674565b6001600160a01b031661259d611b14565b6001600160a01b0316146125c35760405162461bcd60e51b8152600401610cf69061416e565b6001600160a01b0381166125e95760405162461bcd60e51b8152600401610cf690613f2f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6014546001600160a01b0316331461266f5760405162461bcd60e51b8152600401610cf690613f0c565b600e55565b3390565b6001600160a01b03831661269e5760405162461bcd60e51b8152600401610cf69061424a565b6001600160a01b0382166126c45760405162461bcd60e51b8152600401610cf690613f75565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061271f908590613cdf565b60405180910390a3505050565b601954610100900460ff168061275a5750612745611b14565b6001600160a01b0316836001600160a01b0316145b8061277d5750612768611b14565b6001600160a01b0316826001600160a01b0316145b8061279557506010546001600160a01b038481169116145b6127b15760405162461bcd60e51b8152600401610cf69061428e565b6001600160a01b03831660009081526018602052604090205460ff16806127f057506001600160a01b03821660009081526018602052604090205460ff165b156128175760195460ff166128175760405162461bcd60e51b8152600401610cf6906140ef565b601454600160a01b900460ff161515600114801561283f5750601354600160a01b900460ff16155b801561285557506010546001600160a01b031615155b801561286b57506011546001600160a01b031615155b801561288557506011546001600160a01b03848116911614155b801561289f57506010546001600160a01b03848116911614155b80156128c457506128ae611b14565b6001600160a01b0316836001600160a01b031614155b80156128d957506001600160a01b0383163014155b156128e6576128e6612dc7565b600554600854600091600160a01b900461ffff1690612903610e78565b61290d91906144da565b61291791906144a3565b90506000600560149054906101000a900461ffff1661ffff1660075461293b610e78565b61294591906144da565b61294f91906144a3565b9050808311158061297857506001600160a01b03851660009081526016602052604090205460ff165b6129945760405162461bcd60e51b8152600401610cf690613e27565b61299c611b14565b6001600160a01b0316856001600160a01b0316141580156129c657506001600160a01b0384163014155b80156129e05750600f546001600160a01b03858116911614155b80156129fa57506011546001600160a01b03858116911614155b15612a5b576000612a0a856116ff565b6001600160a01b03861660009081526017602052604090205490915060ff1680612a3d575082612a3a858361446c565b11155b612a595760405162461bcd60e51b8152600401610cf690613e94565b505b6001600160a01b03851660009081526015602052604090205460ff1615612a8c57612a87858585613210565b611b00565b600554600090612ab69061ffff600160a01b8204811691611534918891600160b01b9004166130d7565b600554909150600090612ae39061ffff600160a01b8204811691611534918991600160c01b9004166130d7565b600554909150600090612b109061ffff600160a01b8204811691611534918a91600160f01b9004166130d7565b600554909150600090612b3d9061ffff600160a01b8204811691611534918b91600160d01b9004166130d7565b600554909150600090612b6a9061ffff600160a01b8204811691611534918c91600160e01b9004166130d7565b600554600654919250600091612b949161ffff600160a01b909104811691611534918d91166130d7565b600554600654919250600091612bc49161ffff600160a01b909104811691611534918e91620100009004166130d7565b600554600654919250600091612bf69161ffff600160a01b909104811691611534918f916401000000009004166130d7565b90506000818386612c078a8c61446c565b612c11919061446c565b612c1b919061446c565b612c25919061446c565b90506000828588612c368b8e61446c565b612c40919061446c565b612c4a919061446c565b612c54919061446c565b6011549091506001600160a01b038f811691161415612cf057612c768f6116ff565b8d1415612c8857612c888f6000613338565b612c928d83612dbb565b9c50612c9f8f8f8f613210565b612caa8f308b613210565b612cca8f600f60009054906101000a90046001600160a01b03168a613210565b612cd58f3088613210565b612ce08f3086613210565b612ceb8f3085613210565b612d7e565b612cfa8d82612dbb565b9c50612d078f8f8f613210565b612d128f308c613210565b612d328f600f60009054906101000a90046001600160a01b03168a613210565b612d3d8f3089613210565b612d488f3087613210565b612d538f3085613210565b612d5c8e611102565b612d7e57612d7e8e612d79600e5442612daf90919063ffffffff16565b613338565b600954612d8b9084612daf565b600955600a54612d9b9084612daf565b600a55505050505050505050505050505050565b60006120c6828461446c565b60006120c682846144f9565b6013805460ff60a01b1916600160a01b17905560058054600680546001600160b01b03831690935565ffffffffffff198316905561ffff600160b01b8204811692600160c01b8304821692600160f01b8104831692600160d01b8204811692600160e01b909204811691808216916201000082048116916401000000009004166000612e52306116ff565b90506000600d54600c54600b54612e69919061446c565b612e73919061446c565b9050600954821115612f7757600954612e8d908390612dbb565b9150612e9882613354565b60004790506000612eb883611534600b54856130d790919063ffffffff16565b90506000612ed584611534600c54866130d790919063ffffffff16565b90506000612ef285611534600d54876130d790919063ffffffff16565b6012549091506001600160a01b03166108fc612f0e838661446c565b6040518115909202916000818181858888f19350505050158015612f36573d6000803e3d6000fd5b506013546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015612f71573d6000803e3d6000fd5b50505050505b50506005805461ffff60b01b1916600160b01b61ffff9a8b16021761ffff60c01b1916600160c01b988a1698909802979097176001600160f01b0316600160f01b968916969096029590951761ffff60d01b1916600160d01b948816949094029390931761ffff60e01b1916600160e01b92871692909202919091179093556006805461ffff19169385169390931763ffff0000191662010000918516919091021765ffff00000000191664010000000091909316029190911790556013805460ff60a01b19169055565b6001600160a01b0380831660009081526021602052604081205490911690613069846116ff565b6001600160a01b0385811660008181526021602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46130d18284836134db565b50505050565b60006120c682846144da565b60006120c682846144a3565b6001600160a01b0382166131155760405162461bcd60e51b8152600401610cf6906141a3565b6131218260008361363a565b6001600160a01b0382166000908152602081905260409020548181101561315a5760405162461bcd60e51b8152600401610cf690613e52565b61316482826144f9565b6001600160a01b038416600090815260208190526040812091909155600280548492906131929084906144f9565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061271f908690613cdf565b4690565b60115460009081906131f3906001600160a01b03166116ff565b9050600061320982613203610e78565b90612dbb565b9250505090565b6001600160a01b0383166132365760405162461bcd60e51b8152600401610cf6906141e4565b6001600160a01b03821661325c5760405162461bcd60e51b8152600401610cf690613de4565b61326783838361363a565b6001600160a01b038316600090815260208190526040902054818110156132a05760405162461bcd60e51b8152600401610cf690614035565b6132aa82826144f9565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906132e090849061446c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161332a9190613cdf565b60405180910390a350505050565b6001600160a01b039091166000908152601f6020526040902055565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061339757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156133eb57600080fd5b505afa1580156133ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134239190613983565b8160018151811061344457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260105461346a9130911684612678565b6010546001600160a01b031663791ac947836000843061348d426201518061446c565b6040518663ffffffff1660e01b81526004016134ad959493929190614341565b600060405180830381600087803b1580156134c757600080fd5b505af11580156115f3573d6000803e3d6000fd5b816001600160a01b0316836001600160a01b0316141580156134fd5750600081115b1561363a576001600160a01b038316156135a0576001600160a01b03831660009081526023602052604081205463ffffffff16908161353d576000613580565b6001600160a01b038516600090815260226020526040812090613561600185614510565b63ffffffff1663ffffffff168152602001908152602001600020600101545b9050600061358e8285612dbb565b905061359c8684848461363f565b5050505b6001600160a01b0382161561363a576001600160a01b03821660009081526023602052604081205463ffffffff1690816135db57600061361e565b6001600160a01b0384166000908152602260205260408120906135ff600185614510565b63ffffffff1663ffffffff168152602001908152602001600020600101545b9050600061362c8285612daf565b90506115f38584848461363f565b505050565b6000613663436040518060600160405280603581526020016145e3603591396137e0565b905060008463ffffffff161180156136bd57506001600160a01b038516600090815260226020526040812063ffffffff8316916136a1600188614510565b63ffffffff908116825260208201929092526040016000205416145b15613706576001600160a01b038516600090815260226020526040812083916136e7600188614510565b63ffffffff168152602081019190915260400160002060010155613796565b60408051808201825263ffffffff838116825260208083018681526001600160a01b038a166000908152602283528581208a851682529092529390209151825463ffffffff191691161781559051600191820155613765908590614484565b6001600160a01b0386166000908152602360205260409020805463ffffffff191663ffffffff929092169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516137d1929190614403565b60405180910390a25050505050565b60008164010000000084106138085760405162461bcd60e51b8152600401610cf69190613d4e565b509192915050565b828054828255906000526020600020908101928215613865579160200282015b8281111561386557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613830565b50613871929150613875565b5090565b5b808211156138715760008155600101613876565b803561111c816145cd565b600082601f8301126138a5578081fd5b8135602067ffffffffffffffff808311156138c2576138c26145b7565b818302604051838282010181811084821117156138e1576138e16145b7565b604052848152838101925086840182880185018910156138ff578687fd5b8692505b85831015613928576139148161388a565b845292840192600192909201918401613903565b50979650505050505050565b8035801515811461111c57600080fd5b803561ffff8116811461111c57600080fd5b803560ff8116811461111c57600080fd5b600060208284031215613978578081fd5b81356120c6816145cd565b600060208284031215613994578081fd5b81516120c6816145cd565b600080604083850312156139b1578081fd5b82356139bc816145cd565b915060208301356139cc816145cd565b809150509250929050565b6000806000606084860312156139eb578081fd5b83356139f6816145cd565b92506020840135613a06816145cd565b929592945050506040919091013590565b60008060408385031215613a29578182fd5b8235613a34816145cd565b9150613a4260208401613934565b90509250929050565b60008060408385031215613a5d578182fd5b8235613a68816145cd565b946020939093013593505050565b60008060008060008060c08789031215613a8e578182fd5b8635613a99816145cd565b95506020870135945060408701359350613ab560608801613956565b92506080870135915060a087013590509295509295509295565b60008060408385031215613ae1578182fd5b8235613aec816145cd565b9150602083013563ffffffff811681146139cc578182fd5b60008060408385031215613b16578182fd5b823567ffffffffffffffff811115613b2c578283fd5b613b3885828601613895565b92505060208301356139cc816145cd565b600060208284031215613b5a578081fd5b6120c682613934565b600060208284031215613b74578081fd5b6120c682613944565b600080600080600080600080610100898b031215613b99578182fd5b613ba289613944565b9750613bb060208a01613944565b9650613bbe60408a01613944565b9550613bcc60608a01613944565b9450613bda60808a01613944565b9350613be860a08a01613944565b9250613bf660c08a01613944565b9150613c0460e08a01613944565b90509295985092959890939650565b600060208284031215613c24578081fd5b5035919050565b600080600060608486031215613c3f578081fd5b613c4884613956565b9250602084013567ffffffffffffffff811115613c63578182fd5b613c6f86828701613895565b9250506040840135613c80816145cd565b809150509250925092565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015613d7a57858101830151858201604001528201613d5e565b81811115613d8b5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f56455253453a3a64656c656761746542795369673a20696e76616c6964206e6f6040820152626e636560e81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b602080825260119082015270151608131a5b5a5d08115e18d959591959607a1b604082015260600190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526019908201527f4d61782057616c6c6574204c696d697420457863656564656400000000000000604082015260600190565b60208082526021908201527f425053206d757374206265206265747765656e2031373520616e6420313030306040820152600360fc1b606082015260800190565b60208082526009908201526810b7b832b930ba37b960b91b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526027908201527f56455253453a3a64656c656761746542795369673a20696e76616c6964207369604082015266676e617475726560c81b606082015260800190565b6020808252601d908201527f77697468647261772074696d657374616d70203a206e6f7420676f6f64000000604082015260600190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526027908201527f56455253453a3a64656c656761746542795369673a207369676e617475726520604082015266195e1c1a5c995960ca1b606082015260800190565b6020808252601390820152726e6f7420656e6f75676820746f20636c61696d60681b604082015260600190565b6020808252601b908201527f626f7473206172656e7420616c6c6f77656420746f2074726164650000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252600790820152662176616c75657360c81b604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b602080825260099082015268217472616461626c6560b81b604082015260600190565b6020808252602b908201527f42455456455253453a3a6765745072696f72566f7465733a206e6f742079657460408201526a0819195d195c9b5a5b995960aa1b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156143905784516001600160a01b03168352938301939183019160010161436b565b50506001600160a01b03969096166060850152505050608001529392505050565b600060a082018783526020878185015260a0604085015281875480845260c0860191508885528285209350845b818110156143905784546001600160a01b0316835260019485019492840192016143de565b918252602082015260400190565b63ffffffff91909116815260200190565b63ffffffff929092168252602082015260400190565b60ff91909116815260200190565b600061ffff8083168185168083038211156144635761446361458b565b01949350505050565b6000821982111561447f5761447f61458b565b500190565b600063ffffffff8083168185168083038211156144635761446361458b565b6000826144b2576144b26145a1565b500490565b600063ffffffff808416806144ce576144ce6145a1565b92169190910492915050565b60008160001904831182151516156144f4576144f461458b565b500290565b60008282101561450b5761450b61458b565b500390565b600063ffffffff8381169083168181101561452d5761452d61458b565b039392505050565b60028104600182168061454957607f821691505b6020821081141561456a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156145845761458461458b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146113f857600080fdfe56455253453a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473a2646970667358221220d3a00e7ae0fb448e575a20e9240aab8a4110f4527ad297ff4fa141aec07086ba64736f6c63430008000033