1.6k txs
33.5k calls
constructor
constructor()
functions
_blacklist
viewfunction _blacklist(address) view returns (bool)
_getReserves
viewfunction _getReserves(address pair) view returns (uint256 rOther, uint256 rThis, uint256 balanceOther)
_isExcludedFromFees
viewfunction _isExcludedFromFees(address) view returns (bool)
_userInfo
viewfunction _userInfo(address) view returns (uint256 lpAmount, bool preLP)
addLPTax
viewfunction addLPTax() view returns (uint256)
airdrop
viewfunction airdrop() view returns (uint256)
aix
viewfunction aix() view returns (address)
aixLP
viewfunction aixLP() view returns (address)
aixStatus
viewfunction aixStatus() view returns (bool)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
automatedMarketMakerPairs
viewfunction automatedMarketMakerPairs(address) view returns (bool)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buyCLPTax
viewfunction buyCLPTax() view returns (uint256)
buyLPTax
viewfunction buyLPTax() view returns (uint256)
buyMTax
viewfunction buyMTax() view returns (uint256)
buyNFTTax
viewfunction buyNFTTax() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
gasForProcessing
viewfunction gasForProcessing() view returns (uint256)
getUserInfo
viewfunction getUserInfo(address account) view returns (uint256 lpAmount, uint256 lpBalance, bool preLP)
isExcludedFromFees
viewfunction isExcludedFromFees(address account) view returns (bool)
lastBurnTimestamp
viewfunction lastBurnTimestamp() view returns (uint256)
lastDisTime
viewfunction lastDisTime() view returns (uint256)
limitAmount
viewfunction limitAmount() view returns (uint256)
lpCTracker
viewfunction lpCTracker() view returns (address)
lpMineAmount
viewfunction lpMineAmount() view returns (uint256)
lpTracker
viewfunction lpTracker() view returns (address)
marketAddress
viewfunction marketAddress() view returns (address)
marketAddress2
viewfunction marketAddress2() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
price
viewfunction price() view returns (uint256)
receiveAddress
viewfunction receiveAddress() view returns (address)
removeLPTax
viewfunction removeLPTax() view returns (uint256)
router
viewfunction router() view returns (address)
sellCLPTax
viewfunction sellCLPTax() view returns (uint256)
sellLPTax
viewfunction sellLPTax() view returns (uint256)
sellMTax
viewfunction sellMTax() view returns (uint256)
sellNFTTax
viewfunction sellNFTTax() view returns (uint256)
startSwapTime
viewfunction startSwapTime() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
tokenDistributor
viewfunction tokenDistributor() view returns (address)
totalBuyTax
viewfunction totalBuyTax() view returns (uint256)
totalDisAmount
viewfunction totalDisAmount() view returns (uint256)
totalSellTax
viewfunction totalSellTax() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalTransTax
viewfunction totalTransTax() view returns (uint256)
uniswapV2Pair
viewfunction uniswapV2Pair() view returns (address)
uniswapV2PairETH
viewfunction uniswapV2PairETH() view returns (address)
uniswapV2Router
viewfunction uniswapV2Router() view returns (address)
usdt
viewfunction usdt() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
claim
nonpayablefunction claim()
claimStuckETH
nonpayablefunction claimStuckETH()
claimStuckToken
nonpayablefunction claimStuckToken(address _token, uint256 _amount)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
excludeFromFees
nonpayablefunction excludeFromFees(address account, bool excluded)
excludeMultipleAccountsFromDividends
nonpayablefunction excludeMultipleAccountsFromDividends(address[] accounts)
excludeMultipleAccountsFromFees
nonpayablefunction excludeMultipleAccountsFromFees(address[] accounts, bool excluded)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initLPAmounts
nonpayablefunction initLPAmounts(address[] accounts, uint256 lpAmounts)
matchLPAmounts
nonpayablefunction matchLPAmounts(address[] accounts)
renounceOwnership
nonpayablefunction renounceOwnership()
setAirdrop
nonpayablefunction setAirdrop(uint256 _airdrop)
setAutomatedMarketMakerPair
nonpayablefunction setAutomatedMarketMakerPair(address pair, bool value)
setBlacklist
nonpayablefunction setBlacklist(address[] accounts, bool excluded)
setBuyFees
nonpayablefunction setBuyFees(uint256 _buyCLPTax, uint256 _buyLPTax, uint256 _buyMTax, uint256 _buyNFTTax)
setLimitAmount
nonpayablefunction setLimitAmount(uint256 _limitAmount)
setLPFees
nonpayablefunction setLPFees(uint256 _addLPTax, uint256 _removeLPTax)
setLpMineAmount
nonpayablefunction setLpMineAmount(uint256 _lpMineAmount)
setMarketAddress
nonpayablefunction setMarketAddress(address _marketAddress)
setSellFees
nonpayablefunction setSellFees(uint256 _sellCLPTax, uint256 _sellLPTax, uint256 _sellMTax, uint256 _sellNFTTax)
setStartTime
nonpayablefunction setStartTime(uint256 _starttime)
setTransFees
nonpayablefunction setTransFees(uint256 _totalTransTax)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateLPAmount
nonpayablefunction updateLPAmount(address account, uint256 lpAmount)
updateLPAmountByLP
nonpayablefunction updateLPAmountByLP(address account)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ProcessedDividendTracker
event ProcessedDividendTracker(uint256 iterations, uint256 claims, uint256 lastProcessedIndex, bool indexed automatic, uint256 gas, address indexed processor)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x60806040526367c2faf8600b819055600c55600f80546001600160a01b031990811673b5ca42ecffc6f1fa4cb139e8ec599664bab8f6341790915560108054821673af3d5d8c46213eaf90627636eed11e3b2e581a1c179055601180548216733ee74014e33d6130f1a9778903cadcf0a1ba748317905560128054821673537c6189e2a71f7229de6fdebbe64c85363ebabc17905560138054909116735dde8b537fb6ddb797656f59c3e432d87962170b179055620493e06014556000601781905560188190556019556096601a8190556032601b819055601e601c8190556045601d819055929091620000f39162000c92565b620000ff919062000c92565b6200010b919062000c92565b601e556096601f556032602055601e6021556045602255602254602154602054601f546200013a919062000c92565b62000146919062000c92565b62000152919062000c92565b60235560006024556902d2c88b7abd0b3400006026556001602955600f602c55602d805460ff191690553480156200018957600080fd5b50604080518082018252600280825261414960f01b6020808401829052845180860190955291845290830152906003620001c4838262000d52565b506004620001d3828262000d52565b5050506000620001e86200095f60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3504660388190036200028f57600d80546001600160a01b03199081167310ed43c718714eb63d5aa57b78b54704e256024e17909155600e80549091167355d398326f99059ff775485246999027b3197955179055620002d8565b600d80546001600160a01b031990811673d99d1c33f9fc3444f8101754abc46c52416550d117909155600e8054909116734b0ff2e3d7fef9205f88f54a9fed361cea53ef6f1790555b600e54306001600160a01b0390911610620003245760405162461bcd60e51b81526020600482015260076024820152663a9032b93937b960c91b60448201526064015b60405180910390fd5b600e546040516001600160a01b0390911690620003419062000c76565b6001600160a01b039091168152602001604051809103906000f0801580156200036e573d6000803e3d6000fd5b50600980546001600160a01b0319166001600160a01b03928316179055600f546040519116906200039f9062000c76565b6001600160a01b039091168152602001604051809103906000f080158015620003cc573d6000803e3d6000fd5b50600a80546001600160a01b0319166001600160a01b0392831617905560095460115460405163031e79db60e41b815290831660048201529116906331e79db090602401600060405180830381600087803b1580156200042b57600080fd5b505af115801562000440573d6000803e3d6000fd5b505060095460405163031e79db60e41b81523060048201526001600160a01b0390911692506331e79db09150602401600060405180830381600087803b1580156200048a57600080fd5b505af11580156200049f573d6000803e3d6000fd5b5050600a5460115460405163031e79db60e41b81526001600160a01b039182166004820152911692506331e79db09150602401600060405180830381600087803b158015620004ed57600080fd5b505af115801562000502573d6000803e3d6000fd5b5050600a54600f5460405163031e79db60e41b81526001600160a01b039182166004820152911692506331e79db09150602401600060405180830381600087803b1580156200055057600080fd5b505af115801562000565573d6000803e3d6000fd5b50506009546040516338c110ef60e21b815233600482015269021e19e0c9bab240000060248201526001600160a01b03909116925063e30443bc9150604401600060405180830381600087803b158015620005bf57600080fd5b505af1158015620005d4573d6000803e3d6000fd5b5050600a546040516338c110ef60e21b815233600482015269021e19e0c9bab240000060248201526001600160a01b03909116925063e30443bc9150604401600060405180830381600087803b1580156200062e57600080fd5b505af115801562000643573d6000803e3d6000fd5b5050600d546040805163c45a015560e01b815290516001600160a01b03909216935060009250839163c45a0155916004808201926020929091908290030181865afa15801562000697573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006bd919062000e1e565b600e546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af11580156200070f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000735919062000e1e565b90506000826001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000778573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200079e919062000e1e565b6040516364e329cb60e11b815230600482015273c9882def23bc42d53895b8361d0b1edc7570bc6a60248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af115801562000801573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000827919062000e1e565b600680546001600160a01b038087166001600160a01b03199283161790925560078054868416908316179055600880549284169290911691909117905590506200087382600162000963565b6200088081600162000963565b6200089f620008976005546001600160a01b031690565b600162000a9a565b601154620008b8906001600160a01b0316600162000a9a565b620008c530600162000a9a565b620008d461dead600162000a9a565b600e546040516001600160a01b0390911690620008f19062000c84565b6001600160a01b039091168152602001604051809103906000f0801580156200091e573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392831617905560115462000955911669152d02c7e14af680000062000b21565b5050505062000e49565b3390565b6001600160a01b03821660009081526016602052604090205481151560ff90911615150362000a065760405162461bcd60e51b815260206004820152604260248201527f42414259555344543a204175746f6d61746564206d61726b6574206d616b657260448201527f207061697220697320616c72656164792073657420746f20746861742076616c606482015261756560f01b608482015260a4016200031b565b6001600160a01b0382166000908152601660205260409020805460ff1916821580159190911790915562000a965760095460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b15801562000a7c57600080fd5b505af115801562000a91573d6000803e3d6000fd5b505050505b5050565b6005546001600160a01b0316331462000af65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200031b565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6001600160a01b03821662000b795760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200031b565b60025462000b88908262000c0a565b6002556001600160a01b03821660009081526020819052604090205462000bb0908262000c0a565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b60008062000c19838562000c92565b90508381101562000c6d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200031b565b90505b92915050565b6124938062005ac783390190565b61032b8062007f5a83390190565b8082018082111562000c7057634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062000cdf57607f821691505b60208210810362000d0057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000c05576000816000526020600020601f850160051c8101602086101562000d315750805b601f850160051c820191505b8181101562000a915782815560010162000d3d565b81516001600160401b0381111562000d6e5762000d6e62000cb4565b62000d868162000d7f845462000cca565b8462000d06565b602080601f83116001811462000dbe576000841562000da55750858301515b600019600386901b1c1916600185901b17855562000a91565b600085815260208120601f198616915b8281101562000def5788860151825594840194600190910190840162000dce565b508582101562000e0e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000e3157600080fd5b81516001600160a01b038116811462000c6d57600080fd5b614c6e8062000e596000396000f3fe6080604052600436106105415760003560e01c8063715018a6116102af578063a7b3437c11610179578063dad7ad9e116100d6578063f2fde38b1161008a578063f97f22081161006f578063f97f220814610ec5578063fae9261214610eda578063fffe42e914610efa57600080fd5b8063f2fde38b14610e85578063f887ea4014610ea557600080fd5b8063e0bf7fd1116100bb578063e0bf7fd114610e1f578063e6d20a4314610e4f578063eba3bb1814610e6557600080fd5b8063dad7ad9e14610db9578063dd62ed3e14610dd957600080fd5b8063c02466681161012d578063c4b294a911610112578063c4b294a914610d59578063cc2bc19014610d79578063d4450b6c14610d9957600080fd5b8063c024666814610d19578063c492f04614610d3957600080fd5b8063b340364f1161015e578063b340364f14610c98578063b62496f514610cd3578063baa69f1414610d0357600080fd5b8063a7b3437c14610c58578063a9059cbb14610c7857600080fd5b80638da5cb5b116102275780639c1b8af5116101db578063a20623ce116101c0578063a20623ce14610be8578063a457c2d714610c18578063a5696d8914610c3857600080fd5b80639c1b8af514610bbc578063a035b1fe14610bd257600080fd5b806395d89b411161020c57806395d89b4114610b675780639a7a23d614610b7c5780639bcda84914610b9c57600080fd5b80638da5cb5b14610b295780639562364114610b4757600080fd5b806378abafaf1161027e57806387dc7f431161026357806387dc7f4314610ae35780638868b90014610af95780638d571e0414610b0f57600080fd5b806378abafaf14610ab75780638585083a14610acd57600080fd5b8063715018a614610a425780637355b15b14610a5757806375d6952914610a7757806376d6f19914610a9757600080fd5b806325462dcf1161040b57806346469afb11610368578063579274bd1161031c5780636c5b2855116103015780636c5b2855146109a05780636f17d611146109c057806370a0823114610a0c57600080fd5b8063579274bd146109435780636386c1c71461096357600080fd5b806349bd5a5e1161034d57806349bd5a5e146108d55780634e71d92d146108f55780634fbee1931461090a57600080fd5b806346469afb1461089f578063485fc2d5146108b557600080fd5b80633884d635116103bf5780633d3d937d116103a45780633d3d937d146108535780633e0a322d146108695780634021a0371461088957600080fd5b80633884d6351461081d578063395093511461083357600080fd5b80632f48ab7d116103f05780632f48ab7d146107c1578063313ce567146107e157806335d0d3f5146107fd57600080fd5b806325462dcf146107955780632bf3a908146107ab57600080fd5b8063178d9b8e116104b95780631f107a451161046d57806322f1b05e1161045257806322f1b05e1461073f57806323b872dd1461075f578063251720381461077f57600080fd5b80631f107a451461070957806322e4f5cc1461072957600080fd5b80631896e1a11161049e5780631896e1a1146106bd57806318a6bc32146106d35780631bff7898146106f357600080fd5b8063178d9b8e1461068857806318160ddd146106a857600080fd5b806309e9c120116105105780630edf9c35116104f55780630edf9c351461061a5780630f77a2d31461063a5780631694505e1461065057600080fd5b806309e9c120146105e25780630e85d1e3146105f857600080fd5b806306fdde031461054d578063070a6e761461057857806308e2cfaa1461059c578063095ea7b3146105b257600080fd5b3661054857005b600080fd5b34801561055957600080fd5b50610562610f1a565b60405161056f9190614592565b60405180910390f35b34801561058457600080fd5b5061058e600b5481565b60405190815260200161056f565b3480156105a857600080fd5b5061058e601f5481565b3480156105be57600080fd5b506105d26105cd366004614601565b610fac565b604051901515815260200161056f565b3480156105ee57600080fd5b5061058e60265481565b34801561060457600080fd5b50610618610613366004614687565b610fc3565b005b34801561062657600080fd5b50610618610635366004614601565b61107d565b34801561064657600080fd5b5061058e601a5481565b34801561065c57600080fd5b50600654610670906001600160a01b031681565b6040516001600160a01b03909116815260200161056f565b34801561069457600080fd5b506106186106a33660046146de565b61113c565b3480156106b457600080fd5b5060025461058e565b3480156106c957600080fd5b5061058e60245481565b3480156106df57600080fd5b50602554610670906001600160a01b031681565b3480156106ff57600080fd5b5061058e60235481565b34801561071557600080fd5b50610618610724366004614710565b6111c1565b34801561073557600080fd5b5061058e602b5481565b34801561074b57600080fd5b50601354610670906001600160a01b031681565b34801561076b57600080fd5b506105d261077a366004614729565b61120e565b34801561078b57600080fd5b5061058e601b5481565b3480156107a157600080fd5b5061058e60225481565b3480156107b757600080fd5b5061058e60185481565b3480156107cd57600080fd5b50600e54610670906001600160a01b031681565b3480156107ed57600080fd5b506040516012815260200161056f565b34801561080957600080fd5b50610618610818366004614825565b611277565b34801561082957600080fd5b5061058e60295481565b34801561083f57600080fd5b506105d261084e366004614601565b6114f6565b34801561085f57600080fd5b5061058e602a5481565b34801561087557600080fd5b50610618610884366004614710565b61152c565b34801561089557600080fd5b5061058e600c5481565b3480156108ab57600080fd5b5061058e601e5481565b3480156108c157600080fd5b50601054610670906001600160a01b031681565b3480156108e157600080fd5b50600754610670906001600160a01b031681565b34801561090157600080fd5b5061061861157e565b34801561091657600080fd5b506105d2610925366004614862565b6001600160a01b031660009081526015602052604090205460ff1690565b34801561094f57600080fd5b5061061861095e36600461487f565b61166c565b34801561096f57600080fd5b5061098361097e366004614862565b6116bf565b60408051938452602084019290925215159082015260600161056f565b3480156109ac57600080fd5b506106186109bb3660046146de565b61176f565b3480156109cc57600080fd5b506109f76109db366004614862565b6028602052600090815260409020805460019091015460ff1682565b6040805192835290151560208301520161056f565b348015610a1857600080fd5b5061058e610a27366004614862565b6001600160a01b031660009081526020819052604090205490565b348015610a4e57600080fd5b506106186117f4565b348015610a6357600080fd5b50610618610a723660046148a1565b611893565b348015610a8357600080fd5b50600854610670906001600160a01b031681565b348015610aa357600080fd5b50610618610ab2366004614710565b611a6d565b348015610ac357600080fd5b5061058e60195481565b348015610ad957600080fd5b5061058e601d5481565b348015610aef57600080fd5b5061058e601c5481565b348015610b0557600080fd5b5061058e60215481565b348015610b1b57600080fd5b50602d546105d29060ff1681565b348015610b3557600080fd5b506005546001600160a01b0316610670565b348015610b5357600080fd5b50601254610670906001600160a01b031681565b348015610b7357600080fd5b50610562611aba565b348015610b8857600080fd5b50610618610b973660046148e6565b611ac9565b348015610ba857600080fd5b50600954610670906001600160a01b031681565b348015610bc857600080fd5b5061058e60145481565b348015610bde57600080fd5b5061058e602c5481565b348015610bf457600080fd5b506105d2610c03366004614862565b60276020526000908152604090205460ff1681565b348015610c2457600080fd5b506105d2610c33366004614601565b611bc9565b348015610c4457600080fd5b50610618610c53366004614601565b611c18565b348015610c6457600080fd5b50610618610c73366004614710565b611d47565b348015610c8457600080fd5b506105d2610c93366004614601565b611d95565b348015610ca457600080fd5b50610cb8610cb3366004614862565b611da2565b6040805193845260208401929092529082015260600161056f565b348015610cdf57600080fd5b506105d2610cee366004614862565b60166020526000908152604090205460ff1681565b348015610d0f57600080fd5b5061058e60175481565b348015610d2557600080fd5b50610618610d343660046148e6565b612015565b348015610d4557600080fd5b50610618610d54366004614687565b612088565b348015610d6557600080fd5b50610618610d74366004614710565b612137565b348015610d8557600080fd5b50610618610d9436600461491f565b612184565b348015610da557600080fd5b50600a54610670906001600160a01b031681565b348015610dc557600080fd5b50600f54610670906001600160a01b031681565b348015610de557600080fd5b5061058e610df4366004614961565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610e2b57600080fd5b506105d2610e3a366004614862565b60156020526000908152604090205460ff1681565b348015610e5b57600080fd5b5061058e60205481565b348015610e7157600080fd5b50610618610e80366004614862565b612274565b348015610e9157600080fd5b50610618610ea0366004614862565b612418565b348015610eb157600080fd5b50600d54610670906001600160a01b031681565b348015610ed157600080fd5b50610618612545565b348015610ee657600080fd5b50610618610ef5366004614862565b6125ba565b348015610f0657600080fd5b50601154610670906001600160a01b031681565b606060038054610f299061498f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f559061498f565b8015610fa25780601f10610f7757610100808354040283529160200191610fa2565b820191906000526020600020905b815481529060010190602001808311610f8557829003601f168201915b5050505050905090565b6000610fb9338484612631565b5060015b92915050565b6005546001600160a01b031633146110105760405162461bcd60e51b81526020600482018190526024820152600080516020614bf483398151915260448201526064015b60405180910390fd5b60005b82811015611077578160276000868685818110611032576110326149c3565b90506020020160208101906110479190614862565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101611013565b50505050565b3360009081526015602052604090205460ff166110c65760405162461bcd60e51b81526020600482015260076024820152663737ba103232bb60c91b6044820152606401611007565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611113573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113791906149d9565b505050565b6005546001600160a01b031633146111845760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b601a849055601b839055601c829055601d81905580826111a48587614a0c565b6111ae9190614a0c565b6111b89190614a0c565b601e5550505050565b6005546001600160a01b031633146112095760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b601955565b600061121b84848461278a565b61126d843361126885604051806060016040528060288152602001614bcc602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190613101565b612631565b5060019392505050565b6005546001600160a01b031633146112bf5760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b80516000805b8281101561107757602860008583815181106112e3576112e36149c3565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209150600760009054906101000a90046001600160a01b03166001600160a01b03166370a08231858381518110611343576113436149c3565b60200260200101516040518263ffffffff1660e01b815260040161137691906001600160a01b0391909116815260200190565b602060405180830381865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b79190614a1f565b825560095484516001600160a01b039091169063e30443bc908690849081106113e2576113e26149c3565b602090810291909101015184546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b5050600a5486516001600160a01b03909116925063e30443bc9150869084908110611476576114766149c3565b602090810291909101015184546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b505050506001828101805460ff191682179055016112c5565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610fb9918590611268908661313b565b6005546001600160a01b031633146115745760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b600b819055600c55565b60095460405163bc4c4b3760e01b8152336004820152600060248201526001600160a01b039091169063bc4c4b37906044016020604051808303816000875af11580156115cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f391906149d9565b50600a5460405163bc4c4b3760e01b8152336004820152600060248201526001600160a01b039091169063bc4c4b37906044016020604051808303816000875af1158015611645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166991906149d9565b50565b6005546001600160a01b031633146116b45760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b601791909155601855565b6001600160a01b038181166000818152602860205260408082205460075491516370a0823160e01b81526004810194909452939192839291909116906370a0823190602401602060405180830381865afa158015611721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117459190614a1f565b6001600160a01b03909416600090815260286020526040902060010154929460ff90931692915050565b6005546001600160a01b031633146117b75760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b601f84905560208390556021829055602281905580826117d78587614a0c565b6117e19190614a0c565b6117eb9190614a0c565b60235550505050565b6005546001600160a01b0316331461183c5760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005546001600160a01b031633146118db5760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b81516000805b82811015611a6657602860008683815181106118ff576118ff6149c3565b6020908102919091018101516001600160a01b039081168352908201929092526040016000208581556001808201805460ff1916909117905560095487519194509091169063e30443bc9087908490811061195c5761195c6149c3565b602090810291909101015184546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156119af57600080fd5b505af11580156119c3573d6000803e3d6000fd5b5050600a5487516001600160a01b03909116925063e30443bc91508790849081106119f0576119f06149c3565b602090810291909101015184546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015611a4357600080fd5b505af1158015611a57573d6000803e3d6000fd5b505050508060010190506118e1565b5050505050565b6005546001600160a01b03163314611ab55760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b602955565b606060048054610f299061498f565b6005546001600160a01b03163314611b115760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b6007546001600160a01b0390811690831603611bbb5760405162461bcd60e51b815260206004820152604f60248201527f42414259555344543a205468652050616e55534454537761702070616972206360448201527f616e6e6f742062652072656d6f7665642066726f6d206175746f6d617465644d60648201527f61726b65744d616b657250616972730000000000000000000000000000000000608482015260a401611007565b611bc582826131a1565b5050565b6000610fb9338461126885604051806060016040528060258152602001614c14602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190613101565b3360009081526015602052604090205460ff16611c615760405162461bcd60e51b81526020600482015260076024820152663737ba103232bb60c91b6044820152606401611007565b6001600160a01b038281166000818152602860205260409081902084905560095490516338c110ef60e21b81526004810192909252602482018490529091169063e30443bc90604401600060405180830381600087803b158015611cc457600080fd5b505af1158015611cd8573d6000803e3d6000fd5b5050600a546040516338c110ef60e21b81526001600160a01b03868116600483015260248201869052909116925063e30443bc91506044015b600060405180830381600087803b158015611d2b57600080fd5b505af1158015611d3f573d6000803e3d6000fd5b505050505050565b3360009081526015602052604090205460ff16611d905760405162461bcd60e51b81526020600482015260076024820152663737ba103232bb60c91b6044820152606401611007565b602655565b6000610fb933848461278a565b600080600080849050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e109190614a56565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000306001600160a01b0316846001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea39190614a9b565b6001600160a01b031614611f1857836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f139190614a9b565b611f7a565b836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7a9190614a9b565b9050306001600160a01b0382161015611f9857829650819550611f9f565b8196508295505b6040516370a0823160e01b81526001600160a01b0389811660048301528216906370a0823190602401602060405180830381865afa158015611fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120099190614a1f565b96989597505050505050565b6005546001600160a01b0316331461205d5760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146120d05760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b60005b828110156110775781601560008686858181106120f2576120f26149c3565b90506020020160208101906121079190614862565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016120d3565b6005546001600160a01b0316331461217f5760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b602455565b6005546001600160a01b031633146121cc5760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b60005b81811015611137576009546001600160a01b03166331e79db08484848181106121fa576121fa6149c3565b905060200201602081019061220f9190614862565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561225057600080fd5b505af1158015612264573d6000803e3d6000fd5b5050600190920191506121cf9050565b3360009081526015602052604090205460ff166122bd5760405162461bcd60e51b81526020600482015260076024820152663737ba103232bb60c91b6044820152606401611007565b6007546040516370a0823160e01b81526001600160a01b038381166004830152909116906370a0823190602401602060405180830381865afa158015612307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232b9190614a1f565b6001600160a01b038281166000818152602860205260409081902084905560095490516338c110ef60e21b81526004810192909252602482019390935291169063e30443bc90604401600060405180830381600087803b15801561238e57600080fd5b505af11580156123a2573d6000803e3d6000fd5b5050600a546001600160a01b03848116600081815260286020526040908190205490516338c110ef60e21b8152600481019290925260248201529116925063e30443bc9150604401600060405180830381600087803b15801561240457600080fd5b505af1158015611a66573d6000803e3d6000fd5b6005546001600160a01b031633146124605760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b6001600160a01b0381166124dc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611007565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b3360009081526015602052604090205460ff1661258e5760405162461bcd60e51b81526020600482015260076024820152663737ba103232bb60c91b6044820152606401611007565b60405133904780156108fc02916000818181858888f19350505050158015611669573d6000803e3d6000fd5b6005546001600160a01b031633146126025760405162461bcd60e51b81526020600482018190526024820152600080516020614bf48339815191526044820152606401611007565b6012805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166126ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401611007565b6001600160a01b0382166127285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401611007565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166127ee5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401611007565b6001600160a01b0382166128505760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401611007565b80612870846001600160a01b031660009081526020819052604090205490565b10156128be5760405162461bcd60e51b815260206004820152600560248201527f6572726f720000000000000000000000000000000000000000000000000000006044820152606401611007565b6001600160a01b03831660009081526027602052604090205460ff16156129275760405162461bcd60e51b815260206004820152600260248201527f626c0000000000000000000000000000000000000000000000000000000000006044820152606401611007565b8060000361293a576111378383836132d5565b600080612948858585613458565b6001600160a01b038716600090815260156020526040902054919350915060ff168061298c57506001600160a01b03841660009081526015602052604090205460ff165b1561299c57611a668585856132d5565b6129a5836137d5565b600c54421115612b5a57600062015180602654600c54426129c69190614ab8565b6129d09190614acb565b6129da9190614ae2565b905069a968163f0a57b4000000602b54108015612a615750600f546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015612a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5e9190614a1f565b10155b15612b5457600a54604051633243c79160e01b8152600481018390526001600160a01b0390911690633243c79190602401600060405180830381600087803b158015612aac57600080fd5b505af1925050508015612abd575060015b15612b5457600f54600a5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015612b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3b91906149d9565b5080602b6000828254612b4e9190614a0c565b90915550505b5042600c555b8115612baa57600061271060175485612b739190614acb565b612b7d9190614ae2565b90508015612b9057612b908630836132d5565b612ba48686612b9f8488614ab8565b6132d5565b50612dcd565b8015612c0157600b54421015612bee5760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b6044820152606401611007565b600061271060185485612b739190614acb565b6001600160a01b03851660009081526016602052604090205460ff1615612c7357600b54421015612c605760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b6044820152606401611007565b6000612710601e5485612b739190614acb565b6001600160a01b03841660009081526016602052604090205460ff1615612d8c57600b54421015612cd25760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b6044820152606401611007565b600854600160a01b900460ff16158015612cfa57506005546001600160a01b03868116911614155b8015612d1457506005546001600160a01b03858116911614155b15612d79576008805460ff60a01b1916600160a01b17905530600090815260208190526040808220546007546001600160a01b03168352912054612d5b906101f490614ae2565b8110612d6a57612d6a81613851565b506008805460ff60a01b191690555b600061271060235485612b739190614acb565b600061271060245485612d9f9190614acb565b612da99190614ae2565b90508015612dbc57612dbc8630836132d5565b612dcb8686612b9f8488614ab8565b505b6000601954118015612df857506001600160a01b03841660009081526016602052604090205460ff16155b8015612e1d57506001600160a01b03841660009081526015602052604090205460ff16155b15612e8c576001600160a01b0384166000908152602081905260409020546019541015612e8c5760405162461bcd60e51b815260206004820152600560248201527f4c696d69740000000000000000000000000000000000000000000000000000006044820152606401611007565b602a54612e9b90610e10614a0c565b421115612f615742602a556008546001600160a01b031660009081526020819052604081205490612710612ed0836019614acb565b612eda9190614ae2565b600854909150612ef6906001600160a01b031661dead836132d5565b600860009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612f4657600080fd5b505af1158015612f5a573d6000803e3d6000fd5b5050505050505b6014546009546001600160a01b031663ffb2c479612f80600284614ae2565b6040518263ffffffff1660e01b8152600401612f9e91815260200190565b6060604051808303816000875af1925050508015612fd9575060408051601f3d908101601f19168201909252612fd691810190614b04565b60015b1561302f5760408051848152602081018490529081018290526060810185905232906001907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a35050505b600a546001600160a01b031663ffb2c47961304b600284614ae2565b6040518263ffffffff1660e01b815260040161306991815260200190565b6060604051808303816000875af19250505080156130a4575060408051601f3d908101601f191682019092526130a191810190614b04565b60015b15611d3f5760408051848152602081018490529081018290526060810185905232906001907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a3505050505050505050565b600081848411156131255760405162461bcd60e51b81526004016110079190614592565b5060006131328486614ab8565b95945050505050565b6000806131488385614a0c565b90508381101561319a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401611007565b9392505050565b6001600160a01b03821660009081526016602052604090205481151560ff90911615150361325d5760405162461bcd60e51b815260206004820152604260248201527f42414259555344543a204175746f6d61746564206d61726b6574206d616b657260448201527f207061697220697320616c72656164792073657420746f20746861742076616c60648201527f7565000000000000000000000000000000000000000000000000000000000000608482015260a401611007565b6001600160a01b0382166000908152601660205260409020805460ff19168215801591909117909155611bc5576009546040517f31e79db00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152909116906331e79db090602401611d11565b6001600160a01b0383166133395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401611007565b6001600160a01b03821661339b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401611007565b6133d881604051806060016040528060268152602001614ba6602691396001600160a01b0386166000908152602081905260409020549190613101565b6001600160a01b038085166000908152602081905260408082209390935590841681522054613407908261313b565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161277d565b600754600090819081906001600160a01b03868116911614801561348657506006546001600160a01b031633145b156135fd576001600160a01b038616600090815260156020526040902054849060ff166134d7576127106017546127106134c09190614ab8565b6134ca9083614acb565b6134d49190614ae2565b90505b6134e18682613d3f565b915081156135fb576001600160a01b0387166000908152602860205260408120805460019650849290613515908490614a0c565b90915550506009546001600160a01b03888116600081815260286020526040908190205490516338c110ef60e21b81526004810192909252602482015291169063e30443bc90604401600060405180830381600087803b15801561357857600080fd5b505af1925050508015613589575060015b50600a546001600160a01b03888116600081815260286020526040908190205490516338c110ef60e21b81526004810192909252602482015291169063e30443bc90604401600060405180830381600087803b1580156135e857600080fd5b505af19250505080156135f9575060015b505b505b6007546000906001600160a01b0390811690881603613623576136208786613dad565b90505b60008111801561364c57506001600160a01b03861660009081526015602052604090205460ff16155b156137cb576001600160a01b0386166000908152602860205260409020548111156136b95760405162461bcd60e51b815260206004820152600660248201527f6c70206d696e00000000000000000000000000000000000000000000000000006044820152606401611007565b6001600160a01b03861660009081526028602052604081208054600195508392906136e5908490614ab8565b90915550506009546001600160a01b03878116600081815260286020526040908190205490516338c110ef60e21b81526004810192909252602482015291169063e30443bc90604401600060405180830381600087803b15801561374857600080fd5b505af1925050508015613759575060015b50600a546001600160a01b03878116600081815260286020526040908190205490516338c110ef60e21b81526004810192909252602482015291169063e30443bc90604401600060405180830381600087803b1580156137b857600080fd5b505af19250505080156137c9575060015b505b5050935093915050565b600060295460646137e69190614acb565b3060009081526020819052604090205410611bc55760005b6029548110156111375760408051602081018390529081018490524260608201526080016040516020818303038152906040528051906020012060001c9150613849308360646132d5565b6001016137fe565b600654819061386b9030906001600160a01b031683612631565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106138a0576138a06149c3565b6001600160a01b039283166020918202929092010152600e548251911690829060019081106138d1576138d16149c3565b6001600160a01b0392831660209182029290920101526006546025546040517f5c11d79500000000000000000000000000000000000000000000000000000000815291831692635c11d795926139369287926000928892909116904290600401614b32565b600060405180830381600087803b15801561395057600080fd5b505af1158015613964573d6000803e3d6000fd5b5050600e546025546040516370a0823160e01b81526001600160a01b03918216600482015260009450911691506370a0823190602401602060405180830381865afa1580156139b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139db9190614a1f565b90506000602354601e546139ef9190614a0c565b82602254601d54613a009190614a0c565b613a0a9190614acb565b613a149190614ae2565b600e546025546013546040516323b872dd60e01b81526001600160a01b03928316600482015290821660248201526044810184905292935016906323b872dd906064016020604051808303816000875af1158015613a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a9a91906149d9565b506000602354601e54613aad9190614a0c565b83602154601c54613abe9190614a0c565b613ac89190614acb565b613ad29190614ae2565b600e546025546012546040516323b872dd60e01b81526001600160a01b03928316600482015290821660248201526044810184905292935016906323b872dd906064016020604051808303816000875af1158015613b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5891906149d9565b506000602354601e54613b6b9190614a0c565b84602054601b54613b7c9190614a0c565b613b869190614acb565b613b909190614ae2565b600954604051633243c79160e01b8152600481018390529192506001600160a01b031690633243c79190602401600060405180830381600087803b158015613bd757600080fd5b505af1925050508015613be8575060015b15613c7357600e546025546009546040516323b872dd60e01b81526001600160a01b0392831660048201529082166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015613c4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c7191906149d9565b505b6000602354601e54613c859190614a0c565b85601f54601a54613c969190614a0c565b613ca09190614acb565b613caa9190614ae2565b600e546025546040516323b872dd60e01b81526001600160a01b0391821660048201523060248201526044810184905292935016906323b872dd906064016020604051808303816000875af1158015613d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d2b91906149d9565b50613d3581613e72565b5050505050505050565b600080600080613d4e86611da2565b92509250925060008084118015613d655750600083115b15613d825782613d758588614acb565b613d7f9190614ae2565b90505b613d8c8185614a0c565b8210613da357613d9f8783888787614167565b5094505b5050505092915050565b6000806000613dbb85611da2565b9250509150818111613e6a5783613de7866001600160a01b031660009081526020819052604090205490565b613df19190614ab8565b856001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e539190614a1f565b613e5d9086614acb565b613e679190614ae2565b92505b505092915050565b602d5460ff1661166957602c54600090613e8d836064614acb565b613e979190614ae2565b600f546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613ee4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f089190614a1f565b1061408e57600f5460105460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015613f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f8691906149d9565b50600e5460105460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810185905291169063a9059cbb906044016020604051808303816000875af1158015613fdc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400091906149d9565b506010546012546040517f6a6278420000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152911690636a627842906024016020604051808303816000875af1158015614068573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061408c9190614a1f565b505b600e546010546040516370a0823160e01b81526001600160a01b03918216600482015269043c33c19375648000009291909116906370a0823190602401602060405180830381865afa1580156140e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061410c9190614a1f565b10611bc557602d805460ff19166001179055600f546040517f3e0a322d0000000000000000000000000000000000000000000000000000000081524260048201526001600160a01b0390911690633e0a322d90602401611d11565b6000806000876001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ce9190614a1f565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015614225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142499190614a9b565b6001600160a01b031663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015614286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142aa9190614a9b565b90506000806001600160a01b0316826001600160a01b03161415905060008a6001600160a01b0316637464fc3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061432a9190614a1f565b9050811561448a57801561448a57600061434c614347898b614acb565b61450c565b905060006143598361450c565b9050808211156144875760065460009081906001600160a01b03167fffffffffffffffffffffffffef12bc38e78eb149c2a55a84874ab8fb1da9fdb2016143e2576143a48385614ab8565b6143ae9089614acb565b6143b9906008614acb565b91506143c6836008614acb565b6143d1856011614acb565b6143db9190614a0c565b9050614465565b6006546001600160a01b03167fffffffffffffffffffffffff2662e3cc0603cbbb07efe8ab543b93adbe9aaf2f016144365761441e8385614ab8565b6144289089614acb565b9150826143d1856003614acb565b6144408385614ab8565b61444a9089614acb565b915082614458856005614acb565b6144629190614a0c565b90505b61446f8183614ae2565b98508815614484576144818989614a0c565b97505b50505b50505b6000614496898c614ab8565b9050846000036144c85780156144c3576103e86144b66143478c84614acb565b6144c09190614ab8565b96505b6144fd565b6144fa896144d68784614acb565b6144e09190614ae2565b896144eb888e614acb565b6144f59190614ae2565b61457c565b96505b50505050509550959350505050565b6000600382111561456d5750806000614526600283614ae2565b614531906001614a0c565b90505b818110156145675790508060028161454c8186614ae2565b6145569190614a0c565b6145609190614ae2565b9050614534565b50919050565b8115614577575060015b919050565b600081831061458b578161319a565b5090919050565b60006020808352835180602085015260005b818110156145c0578581018301518582016040015282016145a4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461166957600080fd5b8035614577816145e1565b6000806040838503121561461457600080fd5b823561461f816145e1565b946020939093013593505050565b60008083601f84011261463f57600080fd5b50813567ffffffffffffffff81111561465757600080fd5b6020830191508360208260051b850101111561467257600080fd5b9250929050565b801515811461166957600080fd5b60008060006040848603121561469c57600080fd5b833567ffffffffffffffff8111156146b357600080fd5b6146bf8682870161462d565b90945092505060208401356146d381614679565b809150509250925092565b600080600080608085870312156146f457600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561472257600080fd5b5035919050565b60008060006060848603121561473e57600080fd5b8335614749816145e1565b92506020840135614759816145e1565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261479157600080fd5b8135602067ffffffffffffffff808311156147ae576147ae61476a565b8260051b604051601f19603f830116810181811084821117156147d3576147d361476a565b60405293845260208187018101949081019250878511156147f357600080fd5b6020870191505b8482101561481a5761480b826145f6565b835291830191908301906147fa565b979650505050505050565b60006020828403121561483757600080fd5b813567ffffffffffffffff81111561484e57600080fd5b61485a84828501614780565b949350505050565b60006020828403121561487457600080fd5b813561319a816145e1565b6000806040838503121561489257600080fd5b50508035926020909101359150565b600080604083850312156148b457600080fd5b823567ffffffffffffffff8111156148cb57600080fd5b6148d785828601614780565b95602094909401359450505050565b600080604083850312156148f957600080fd5b8235614904816145e1565b9150602083013561491481614679565b809150509250929050565b6000806020838503121561493257600080fd5b823567ffffffffffffffff81111561494957600080fd5b6149558582860161462d565b90969095509350505050565b6000806040838503121561497457600080fd5b823561497f816145e1565b91506020830135614914816145e1565b600181811c908216806149a357607f821691505b60208210810361456757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156149eb57600080fd5b815161319a81614679565b634e487b7160e01b600052601160045260246000fd5b80820180821115610fbd57610fbd6149f6565b600060208284031215614a3157600080fd5b5051919050565b80516dffffffffffffffffffffffffffff8116811461457757600080fd5b600080600060608486031215614a6b57600080fd5b614a7484614a38565b9250614a8260208501614a38565b9150604084015163ffffffff811681146146d357600080fd5b600060208284031215614aad57600080fd5b815161319a816145e1565b81810381811115610fbd57610fbd6149f6565b8082028115828204841417610fbd57610fbd6149f6565b600082614aff57634e487b7160e01b600052601260045260246000fd5b500490565b600080600060608486031215614b1957600080fd5b8351925060208401519150604084015190509250925092565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015614b845784516001600160a01b031683529383019391830191600101614b5f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201c33eb1bd2056fe29f7c0a813f6f40a2c3a9f56edf3b5a2a44af4b44809da15a64736f6c634300081800336080604052662386f26fc100006013553480156200001c57600080fd5b5060405162002493380380620024938339810160408190526200003f916200012e565b604080518082018252600f8082526e2234bb34b232b7322a3930b1b5b2b960891b602080840182905284518086019095529184529083015290828282600362000089838262000207565b50600462000098828262000207565b5050506000620000ad6200012a60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b0319166001600160a01b0392909216919091179055505061012c60125550620002d3565b3390565b6000602082840312156200014157600080fd5b81516001600160a01b03811681146200015957600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200018b57607f821691505b602082108103620001ac57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000202576000816000526020600020601f850160051c81016020861015620001dd5750805b601f850160051c820191505b81811015620001fe57828155600101620001e9565b5050505b505050565b81516001600160401b0381111562000223576200022362000160565b6200023b8162000234845462000176565b84620001b2565b602080601f8311600181146200027357600084156200025a5750858301515b600019600386901b1c1916600185901b178555620001fe565b600085815260208120601f198616915b82811015620002a45788860151825594840194600190910190840162000283565b5085821015620002c35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6121b080620002e36000396000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c8063807ab4f711610160578063bc4c4b37116100d8578063e7841ec01161008c578063f2fde38b11610071578063f2fde38b14610581578063fbcbc0f114610594578063ffb2c479146105a757600080fd5b8063e7841ec014610566578063e98030c71461056e57600080fd5b8063c54e44eb116100bd578063c54e44eb14610507578063dd62ed3e1461051a578063e30443bc1461055357600080fd5b8063bc4c4b37146104eb578063be10b614146104fe57600080fd5b806395d89b411161012f578063a8b9d24011610114578063a8b9d2401461049c578063a9059cbb146104af578063aafd847a146104c257600080fd5b806395d89b4114610481578063a457c2d71461048957600080fd5b8063807ab4f71461042d57806385a6b3ae146104405780638da5cb5b1461044957806391b89fba1461046e57600080fd5b806331e79db0116101f35780635183d6fd116101c25780636f2789ec116101a75780636f2789ec146103f357806370a08231146103fc578063715018a61461042557600080fd5b80635183d6fd146103935780636a474002146103eb57600080fd5b806331e79db0146103355780633243c7911461034a578063395093511461035d5780634e7b827f1461037057600080fd5b8063226cfa3d1161024a57806327ce01471161022f57806327ce01471461030a5780633009a6091461031d578063313ce5671461032657600080fd5b8063226cfa3d146102d757806323b872dd146102f757600080fd5b806306fdde031461027c578063095ea7b31461029a57806309bbedde146102bd57806318160ddd146102cf575b600080fd5b6102846105d5565b6040516102919190611e16565b60405180910390f35b6102ad6102a8366004611e7a565b610667565b6040519015158152602001610291565b600b545b604051908152602001610291565b6002546102c1565b6102c16102e5366004611ea6565b60116020526000908152604090205481565b6102ad610305366004611ec3565b61067e565b6102c1610318366004611ea6565b6106e7565b6102c1600f5481565b60405160128152602001610291565b610348610343366004611ea6565b610750565b005b610348610358366004611f04565b610886565b6102ad61036b366004611e7a565b610981565b6102ad61037e366004611ea6565b60106020526000908152604090205460ff1681565b6103a66103a1366004611f04565b6109b7565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e082015261010001610291565b610348610b24565b6102c160125481565b6102c161040a366004611ea6565b6001600160a01b031660009081526020819052604090205490565b610348610bde565b6102c161043b366004611ea6565b610c8f565b6102c1600a5481565b6005546001600160a01b03165b6040516001600160a01b039091168152602001610291565b6102c161047c366004611ea6565b610d52565b610284610d5d565b6102ad610497366004611e7a565b610d6c565b6102c16104aa366004611ea6565b610dbb565b6102ad6104bd366004611e7a565b610de7565b6102c16104d0366004611ea6565b6001600160a01b031660009081526009602052604090205490565b6102ad6104f9366004611f2b565b610df4565b6102c160135481565b600654610456906001600160a01b031681565b6102c1610528366004611f64565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610348610561366004611e7a565b610ed2565b600f546102c1565b61034861057c366004611f04565b611085565b61034861058f366004611ea6565b61118b565b6103a66105a2366004611ea6565b6112ca565b6105ba6105b5366004611f04565b61144c565b60408051938452602084019290925290820152606001610291565b6060600380546105e490611f92565b80601f016020809104026020016040519081016040528092919081815260200182805461061090611f92565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b6000610674338484611569565b5060015b92915050565b600061068b8484846116c1565b6106dd84336106d88560405180606001604052806028815260200161212e602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061172f565b611569565b5060019392505050565b6001600160a01b0381166000908152600860209081526040808320549183905282205460075470010000000000000000000000000000000092610746926107419261073b916107369190611769565b61180e565b9061181e565b61185c565b6106789190611fe2565b6005546001600160a01b031633146107af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b0381166000908152601060205260408120805460ff191660011790556107dd90829061186f565b60405163131836e760e21b8152600b60048201526001600160a01b03821660248201527352ebcf4041a969e296722c77e0db27f2b229419b90634c60db9c9060440160006040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b50506040516001600160a01b03841692507fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b259150600090a250565b6005546001600160a01b031633146108e05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b60006108eb60025490565b116108f557600080fd5b801561097e5761093561090760025490565b61092283700100000000000000000000000000000000611769565b61092c9190611fe2565b600754906118d4565b60075560405181815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a2600a5461097a90826118d4565b600a555b50565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106749185906106d890866118d4565b600080600080600080600080600b7352ebcf4041a969e296722c77e0db27f2b229419b63deb3d89690916040518263ffffffff1660e01b81526004016109ff91815260200190565b602060405180830381865af4158015610a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a409190612004565b8910610a65575060009650600019955085945086935083925082915081905080610b19565b6040517fd1aa9e7e000000000000000000000000000000000000000000000000000000008152600b6004820152602481018a90526000907352ebcf4041a969e296722c77e0db27f2b229419b9063d1aa9e7e90604401602060405180830381865af4158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afc919061201d565b9050610b07816112ca565b98509850985098509850985098509850505b919395975091939597565b60405162461bcd60e51b815260206004820152606d60248201527f42414259555344545f4469766964656e645f547261636b65723a20776974686460448201527f7261774469766964656e642064697361626c65642e205573652074686520276360648201527f6c61696d272066756e6374696f6e206f6e20746865206d61696e20424142595560848201527f53445420636f6e74726163742e0000000000000000000000000000000000000060a482015260c4016107a6565b6005546001600160a01b03163314610c385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005546000906001600160a01b03163314610cec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b610cf582611933565b508015610d4d576001600160a01b0382166000818152601160209081526040808320429055518481529192917fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092910160405180910390a35b919050565b600061067882610dbb565b6060600480546105e490611f92565b600061067433846106d885604051806060016040528060258152602001612156602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061172f565b6001600160a01b03811660009081526009602052604081205461067890610de1846106e7565b90611ab1565b60006106743384846116c1565b6005546000906001600160a01b03163314610e515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b6000610e5c84611933565b90508015610ec8576001600160a01b038416600081815260116020526040908190204290555184151591907fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf09290610eb69085815260200190565b60405180910390a36001915050610678565b5060009392505050565b6005546001600160a01b03163314610f2c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b6001600160a01b03821660009081526010602052604090205460ff16611081576013548110610ff657610f5f828261186f565b6040517fbc2b405c000000000000000000000000000000000000000000000000000000008152600b60048201526001600160a01b0383166024820152604481018290527352ebcf4041a969e296722c77e0db27f2b229419b9063bc2b405c9060640160006040518083038186803b158015610fd957600080fd5b505af4158015610fed573d6000803e3d6000fd5b50505050611074565b61100182600061186f565b60405163131836e760e21b8152600b60048201526001600160a01b03831660248201527352ebcf4041a969e296722c77e0db27f2b229419b90634c60db9c9060440160006040518083038186803b15801561105b57600080fd5b505af415801561106f573d6000803e3d6000fd5b505050505b61107f826001610df4565b505b5050565b6005546001600160a01b031633146110df5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b6012548103611158576040805162461bcd60e51b81526020600482015260248101919091527f42414259555344545f4469766964656e645f547261636b65723a2043616e6e6f60448201527f742075706461746520636c61696d5761697420746f2073616d652076616c756560648201526084016107a6565b60125460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f90600090a3601255565b6005546001600160a01b031633146111e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a6565b6001600160a01b0381166112615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107a6565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6040517f17e142d1000000000000000000000000000000000000000000000000000000008152600b60048201526001600160a01b038216602482015281906000908190819081908190819081907352ebcf4041a969e296722c77e0db27f2b229419b906317e142d190604401602060405180830381865af4158015611353573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113779190612004565b96506000199550600087126113d957600f548711156113a557600f5461139e908890611af3565b95506113d9565b600f54600b54600091106113ba5760006113c9565b600f54600b546113c991611ab1565b90506113d5888261181e565b9650505b6113e288610dbb565b94506113ed886106e7565b6001600160a01b038916600090815260116020526040902054909450925082611417576000611425565b6012546114259084906118d4565b915042821161143557600061143f565b61143f8242611ab1565b9050919395975091939597565b600b546000908190819080820361146e575050600f5460009250829150611562565b600f546000805a90506000805b898410801561148957508582105b1561155157846114988161203a565b600b54909650861090506114ab57600094505b6000600b60000186815481106114c3576114c3612053565b60009182526020808320909101546001600160a01b031680835260119091526040909120549091506114f490611b30565b1561151757611504816001610df4565b1561151757816115138161203a565b9250505b826115218161203a565b93505060005a9050808511156115485761154561153e8683611ab1565b87906118d4565b95505b935061147b9050565b600f85905590975095509193505050505b9193909250565b6001600160a01b0383166115e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016107a6565b6001600160a01b0382166116605760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152602f60248201527f42414259555344545f4469766964656e645f547261636b65723a204e6f20747260448201527f616e736665727320616c6c6f776564000000000000000000000000000000000060648201526084016107a6565b600081848411156117535760405162461bcd60e51b81526004016107a69190611e16565b5060006117608486612069565b95945050505050565b60008260000361177b57506000610678565b6000611787838561207c565b9050826117948583611fe2565b146118075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b9392505050565b6000818181121561067857600080fd5b60008061182b8385612093565b90506000831215801561183e5750838112155b80611853575060008312801561185357508381125b61180757600080fd5b60008082121561186b57600080fd5b5090565b6001600160a01b038216600090815260208190526040902054808211156118ae57600061189c8383611ab1565b90506118a88482611b57565b5061107f565b8082101561107f5760006118c28284611ab1565b90506118ce8482611bbb565b50505050565b6000806118e183856120bb565b9050838110156118075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107a6565b60008061193f83610dbb565b90508015611aa8576001600160a01b03831660009081526009602052604090205461196a90826118d4565b6001600160a01b038416600081815260096020526040908190209290925590517fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d906119b99084815260200190565b60405180910390a26006546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015260248201849052600092169063a9059cbb906044016020604051808303816000875af1158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5291906120ce565b905080611aa1576001600160a01b038416600090815260096020526040902054611a7c9083611ab1565b6001600160a01b03909416600090815260096020526040812094909455509192915050565b5092915050565b50600092915050565b600061180783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061172f565b600080611b0083856120eb565b905060008312158015611b135750838113155b806118535750600083128015611853575083811361180757600080fd5b600042821115611b4257506000919050565b601254611b4f4284611ab1565b101592915050565b611b618282611bff565b611b9b611b7c6107368360075461176990919063ffffffff16565b6001600160a01b03841660009081526008602052604090205490611af3565b6001600160a01b0390921660009081526008602052604090209190915550565b611bc58282611cea565b611b9b611be06107368360075461176990919063ffffffff16565b6001600160a01b0384166000908152600860205260409020549061181e565b6001600160a01b038216611c555760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107a6565b611c616000838361107f565b600254611c6e90826118d4565b6002556001600160a01b038216600090815260208190526040902054611c9490826118d4565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6001600160a01b038216611d665760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b611d728260008361107f565b611daf8160405180606001604052806022815260200161210c602291396001600160a01b038516600090815260208190526040902054919061172f565b6001600160a01b038316600090815260208190526040902055600254611dd59082611ab1565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611cde565b60006020808352835180602085015260005b81811015611e4457858101830151858201604001528201611e28565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461097e57600080fd5b60008060408385031215611e8d57600080fd5b8235611e9881611e65565b946020939093013593505050565b600060208284031215611eb857600080fd5b813561180781611e65565b600080600060608486031215611ed857600080fd5b8335611ee381611e65565b92506020840135611ef381611e65565b929592945050506040919091013590565b600060208284031215611f1657600080fd5b5035919050565b801515811461097e57600080fd5b60008060408385031215611f3e57600080fd5b8235611f4981611e65565b91506020830135611f5981611f1d565b809150509250929050565b60008060408385031215611f7757600080fd5b8235611f8281611e65565b91506020830135611f5981611e65565b600181811c90821680611fa657607f821691505b602082108103611fc657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082611fff57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561201657600080fd5b5051919050565b60006020828403121561202f57600080fd5b815161180781611e65565b60006001820161204c5761204c611fcc565b5060010190565b634e487b7160e01b600052603260045260246000fd5b8181038181111561067857610678611fcc565b808202811582820484141761067857610678611fcc565b80820182811260008312801582168215821617156120b3576120b3611fcc565b505092915050565b8082018082111561067857610678611fcc565b6000602082840312156120e057600080fd5b815161180781611f1d565b8181036000831280158383131683831282161715611aa157611aa1611fcc56fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204ae1e76884309ebe922affb3c3ed15844472d0751714a819d7065cd7ed786edf64736f6c63430008180033608060405234801561001057600080fd5b5060405161032b38038061032b83398101604081905261002f916100ba565b600080546001600160a01b0319163217905560405163095ea7b360e01b815233600482015260001960248201526001600160a01b0382169063095ea7b3906044016020604051808303816000875af115801561008f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100b391906100ea565b505061010c565b6000602082840312156100cc57600080fd5b81516001600160a01b03811681146100e357600080fd5b9392505050565b6000602082840312156100fc57600080fd5b815180151581146100e357600080fd5b6102108061011b6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631698755f14610030575b600080fd5b61004361003e36600461016c565b610045565b005b60005473ffffffffffffffffffffffffffffffffffffffff1633146100ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e65720000000000000000000000000000000000000000000000604482015260640160405180910390fd5b6000546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610143573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016791906101b1565b505050565b6000806040838503121561017f57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146101a357600080fd5b946020939093013593505050565b6000602082840312156101c357600080fd5b815180151581146101d357600080fd5b939250505056fea2646970667358221220de23c40c9d5653124dfbb0b611c460dd88a8f4df8905ba55510bb5cc2345629b64736f6c63430008180033