69 txs
352 calls
constructor
constructor()
functions
_baseTokenExtension
viewfunction _baseTokenExtension() view returns (string)
_baseTokenURI
viewfunction _baseTokenURI() view returns (string)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseTokenURI
viewfunction baseTokenURI() view returns (string)
calcAvailableBalance
viewfunction calcAvailableBalance() view returns (uint256)
canMintAmount
viewfunction canMintAmount(address _address, uint256 _amount) view returns (bool)
chargeAmountForERC20
viewfunction chargeAmountForERC20(address _erc20TokenContract) view returns (uint256)
collectionSize
viewfunction collectionSize() view returns (uint256)
CONTRACT_VERSION
viewfunction CONTRACT_VERSION() view returns (uint8)
currentTokenId
viewfunction currentTokenId() view returns (uint256)
EARLY_MINT_PRICE
viewfunction EARLY_MINT_PRICE() view returns (uint256)
earlyMintOwnershipCap
viewfunction earlyMintOwnershipCap() view returns (uint256)
erc20Payable
viewfunction erc20Payable() view returns (address)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getNextTokenId
viewfunction getNextTokenId() view returns (uint256)
getOwnershipData
viewfunction getOwnershipData(uint256 tokenId) view returns (tuple)
getPrice
viewfunction getPrice(uint256 _count, address _to) view returns (uint256)
inTeam
viewfunction inTeam(address _address) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isApprovedForERC20Payments
viewfunction isApprovedForERC20Payments(address _erc20TokenContract) view returns (bool)
MAX_WALLET_MINTS
viewfunction MAX_WALLET_MINTS() view returns (uint256)
maxBatchSize
viewfunction maxBatchSize() view returns (uint256)
mintingOpen
viewfunction mintingOpen() view returns (bool)
name
viewfunction name() view returns (string)
nextOwnerToExplicitlySet
viewfunction nextOwnerToExplicitlySet() view returns (uint256)
onlyERC20MintingMode
viewfunction onlyERC20MintingMode() view returns (bool)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
payableAddressCount
viewfunction payableAddressCount() view returns (uint256)
payableAddresses
viewfunction payableAddresses(uint256) view returns (address)
payableFees
viewfunction payableFees(uint256) view returns (uint256)
PRICE
viewfunction PRICE() view returns (uint256)
RAMPPADDRESS
viewfunction RAMPPADDRESS() view returns (address)
restrictedApprovalAddresses
viewfunction restrictedApprovalAddresses(address) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
usingEarlyMintIncentive
viewfunction usingEarlyMintIncentive() view returns (bool)
addOrUpdateERC20ContractAsPayment
nonpayablefunction addOrUpdateERC20ContractAsPayment(address _erc20TokenContract, bool _isActive, uint256 _chargeAmountInTokens)
addToTeam
nonpayablefunction addToTeam(address _address)
approve
nonpayablefunction approve(address to, uint256 tokenId)
disableEarlyMintIncentive
nonpayablefunction disableEarlyMintIncentive()
disableERC20ContractAsPayment
nonpayablefunction disableERC20ContractAsPayment(address _erc20TokenContract)
disableERC20OnlyMinting
nonpayablefunction disableERC20OnlyMinting()
enableEarlyMintIncentive
nonpayablefunction enableEarlyMintIncentive()
enableERC20ContractAsPayment
nonpayablefunction enableERC20ContractAsPayment(address _erc20TokenContract)
enableERC20OnlyMinting
nonpayablefunction enableERC20OnlyMinting()
mintTo
payablefunction mintTo(address _to) payable
mintToAdminV2
nonpayablefunction mintToAdminV2(address _to, uint256 _qty)
mintToMultiple
payablefunction mintToMultiple(address _to, uint256 _amount) payable
mintToMultipleERC20
payablefunction mintToMultipleERC20(address _to, uint256 _amount, address _erc20TokenContract) payable
openMinting
nonpayablefunction openMinting()
removeFromTeam
nonpayablefunction removeFromTeam(address _address)
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setApprovalRestriction
nonpayablefunction setApprovalRestriction(address _address, bool _isRestricted)
setBaseTokenExtension
nonpayablefunction setBaseTokenExtension(string baseExtension)
setBaseURI
nonpayablefunction setBaseURI(string baseURI)
setEarlyIncentivePrice
nonpayablefunction setEarlyIncentivePrice(uint256 _feeInWei)
setEarlyMintOwnershipCap
nonpayablefunction setEarlyMintOwnershipCap(uint256 _newCap)
setERC20PayableAddress
nonpayablefunction setERC20PayableAddress(address _newErc20Payable)
setMaxMint
nonpayablefunction setMaxMint(uint256 _newMaxMint)
setPrice
nonpayablefunction setPrice(uint256 _feeInWei)
setRamppAddress
nonpayablefunction setRamppAddress(address _newAddress)
setWalletMax
nonpayablefunction setWalletMax(uint256 _newWalletMax)
stopMinting
nonpayablefunction stopMinting()
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawAll
nonpayablefunction withdrawAll()
withdrawAllRampp
nonpayablefunction withdrawAllRampp()
withdrawERC20
nonpayablefunction withdrawERC20(address _tokenContract, uint256 _amountToWithdraw)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x600280546001600160a01b03191673a9dac8f3aedc55d0fe707b86b8a45d246858d2e11790556000600c5560c060405273410832aa86be79a33fd61262884ccd64c036eb0260a09081526200005990600e90600162000338565b50600f80546001600160a01b03191673410832aa86be79a33fd61262884ccd64c036eb021790556040805160208101909152606481526200009f906010906001620003a2565b5060016011556012805460ff19169055660aa87bee538000601455600060155560026016556017805461ffff191661020117905560408051808201909152601d8082527f68747470733a2f2f6170692e63616b6573746f70736f696c2e78797a2f00000060209092019182526200011991601891620003e5565b5060408051808201909152600580825264173539b7b760d91b60209092019182526200014891601991620003e5565b50601a805460ff191690556014601b553480156200016557600080fd5b506040518060400160405280600e81526020016d10d85ad94814dd1bdc1cc813da5b60921b8152506040518060400160405280600481526020016343616b6560e01b81525081816014612710620001cb620001c5620002e460201b60201c565b620002e8565b60008111620002385760405162461bcd60e51b815260206004820152602e60248201527f455243373231413a20636f6c6c656374696f6e206d757374206861766520612060448201526d6e6f6e7a65726f20737570706c7960901b60648201526084015b60405180910390fd5b600082116200029a5760405162461bcd60e51b815260206004820152602760248201527f455243373231413a206d61782062617463682073697a65206d757374206265206044820152666e6f6e7a65726f60c81b60648201526084016200022f565b8351620002af906005906020870190620003e5565b508251620002c5906006906020860190620003e5565b5060049190915560805250506001600381905560135550620004b69050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805482825590600052602060002090810192821562000390579160200282015b828111156200039057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000359565b506200039e92915062000462565b5090565b82805482825590600052602060002090810192821562000390579160200282015b8281111562000390578251829060ff16905591602001919060010190620003c3565b828054620003f39062000479565b90600052602060002090601f01602090048101928262000417576000855562000390565b82601f106200043257805160ff191683800117855562000390565b8280016001018555821562000390579182015b828111156200039057825182559160200191906001019062000445565b5b808211156200039e576000815560010162000463565b600181811c908216806200048e57607f821691505b60208210811415620004b057634e487b7160e01b600052602260045260246000fd5b50919050565b6080516145d3620004ee6000396000818161071701528181610ed001528181611613015281816119c40152611f3a01526145d36000f3fe6080604052600436106104465760003560e01c8063853828b611610234578063bbd8556b1161012e578063d7224ba0116100b6578063ec3408261161007a578063ec34082614610cd2578063f2fde38b14610ce7578063f4637a1514610d07578063fd19eaf014610d21578063ff33274514610d4157600080fd5b8063d7224ba014610c1e578063d83ae33214610c34578063dcd4aa8b14610c54578063dfdedf6914610c69578063e985e9c514610c8957600080fd5b8063caa0f92a116100fd578063caa0f92a14610b9f578063cacf084214610bb4578063cfc86f7b14610bd4578063d266f3a914610be9578063d547cfb714610c0957600080fd5b8063bbd8556b14610b2a578063c54826ab14610b4a578063c5815c4114610b5f578063c87b56dd14610b7f57600080fd5b806395d89b41116101bc578063a91bd1a911610180578063a91bd1a914610a95578063aff3e10b14610ab5578063b4835e0714610ad5578063b88d4fde14610af5578063b94b237614610b1557600080fd5b806395d89b4114610a0a578063a030fd8f14610a1f578063a1af10ca14610a35578063a1db978214610a55578063a22cb46514610a7557600080fd5b80638da5cb5b116102035780638da5cb5b146109445780638f4bb497146109625780638ff4013f1461097c57806391b7f5ed1461099c5780639231ab2a146109bc57600080fd5b8063853828b6146108e4578063891bbe73146108f957806389f26d58146109195780638d859f3e1461092e57600080fd5b806343696f181161034557806360986a71116102cd578063715018a611610291578063715018a614610867578063755edd171461087c5780637fb8c6d31461088f578063817c0d9c146108af57806383c81c41146108c457600080fd5b806360986a71146107e95780636352211e146107fc57806367dec6781461081c5780636ba9fd381461083257806370a082311461084757600080fd5b806346f41ed51161031457806346f41ed5146107595780634ab8b5dd146107735780634f6ccce714610789578063547520fe146107a957806355f804b3146107c957600080fd5b806343696f18146106d2578063447abc7a146106f257806345c0f53314610705578063464c34281461073957600080fd5b8063286c8137116103d35780633d3f9c57116103975780633d3f9c57146106295780633e07311c146106675780633e3e0b121461067d57806340ccc0821461069257806342842e0e146106b257600080fd5b8063286c8137146105825780632913daa0146105a25780632b57cfbb146105b85780632f745c59146105d857806338b90333146105f857600080fd5b806306fdde031161041a57806306fdde03146104e8578063081812fc1461050a578063095ea7b31461054257806318160ddd1461044b57806323b872dd1461056257600080fd5b80629a9b7b1461044b57806301ffc9a714610473578063043a2a40146104a35780630644cefa146104d3575b600080fd5b34801561045757600080fd5b50610460610d61565b6040519081526020015b60405180910390f35b34801561047f57600080fd5b5061049361048e366004613d37565b610d75565b604051901515815260200161046a565b3480156104af57600080fd5b506104936104be366004613d77565b600b6020526000908152604090205460ff1681565b6104e66104e1366004613d92565b610de2565b005b3480156104f457600080fd5b506104fd610f58565b60405161046a9190613e14565b34801561051657600080fd5b5061052a610525366004613e27565b610fea565b6040516001600160a01b03909116815260200161046a565b34801561054e57600080fd5b506104e661055d366004613d92565b611073565b34801561056e57600080fd5b506104e661057d366004613e40565b611266565b34801561058e57600080fd5b5061046061059d366004613e27565b611271565b3480156105ae57600080fd5b5061046060045481565b3480156105c457600080fd5b506104606105d3366004613e7c565b611292565b3480156105e457600080fd5b506104606105f3366004613d92565b6113b5565b34801561060457600080fd5b5060175461061790610100900460ff1681565b60405160ff909116815260200161046a565b34801561063557600080fd5b50610493610644366004613d77565b6001600160a01b03166000908152600d602052604090205460ff16151560011490565b34801561067357600080fd5b5061046060115481565b34801561068957600080fd5b506104e661152d565b34801561069e57600080fd5b506104e66106ad366004613d92565b61157e565b3480156106be57600080fd5b506104e66106cd366004613e40565b611675565b3480156106de57600080fd5b506104e66106ed366004613d77565b611690565b3480156106fe57600080fd5b5047610460565b34801561071157600080fd5b506104607f000000000000000000000000000000000000000000000000000000000000000081565b34801561074557600080fd5b506104e6610754366004613d77565b61178d565b34801561076557600080fd5b506012546104939060ff1681565b34801561077f57600080fd5b50610460601b5481565b34801561079557600080fd5b506104606107a4366004613e27565b6117f6565b3480156107b557600080fd5b506104e66107c4366004613e27565b61185e565b3480156107d557600080fd5b506104e66107e4366004613ea8565b6118f9565b6104e66107f7366004613f1a565b61194f565b34801561080857600080fd5b5061052a610817366004613e27565b611de8565b34801561082857600080fd5b5061046060155481565b34801561083e57600080fd5b506104e6611dfa565b34801561085357600080fd5b50610460610862366004613d77565b611e4e565b34801561087357600080fd5b506104e6611edf565b6104e661088a366004613d77565b611f15565b34801561089b57600080fd5b50600f5461052a906001600160a01b031681565b3480156108bb57600080fd5b506104e6612006565b3480156108d057600080fd5b506104e66108df366004613f64565b61205a565b3480156108f057600080fd5b506104e66120ca565b34801561090557600080fd5b5061052a610914366004613e27565b612122565b34801561092557600080fd5b506104e661214c565b34801561093a57600080fd5b5061046060145481565b34801561095057600080fd5b506000546001600160a01b031661052a565b34801561096e57600080fd5b50601a546104939060ff1681565b34801561098857600080fd5b506104e6610997366004613e27565b6121a0565b3480156109a857600080fd5b506104e66109b7366004613e27565b61224b565b3480156109c857600080fd5b506109dc6109d7366004613e27565b612295565b6040805182516001600160a01b0316815260209283015167ffffffffffffffff16928101929092520161046a565b348015610a1657600080fd5b506104fd6122b2565b348015610a2b57600080fd5b5061046060165481565b348015610a4157600080fd5b50610493610a50366004613d77565b6122c1565b348015610a6157600080fd5b506104e6610a70366004613d92565b61233e565b348015610a8157600080fd5b506104e6610a90366004613f64565b6124f5565b348015610aa157600080fd5b506104e6610ab0366004613d77565b612695565b348015610ac157600080fd5b506104e6610ad0366004613ea8565b6127fc565b348015610ae157600080fd5b506104e6610af0366004613e27565b61284b565b348015610b0157600080fd5b506104e6610b10366004613fb1565b612895565b348015610b2157600080fd5b506104e66128c8565b348015610b3657600080fd5b506104e6610b45366004613d77565b612919565b348015610b5657600080fd5b506104e6612a0f565b348015610b6b57600080fd5b5060025461052a906001600160a01b031681565b348015610b8b57600080fd5b506104fd610b9a366004613e27565b612a60565b348015610bab57600080fd5b50610460612acd565b348015610bc057600080fd5b506104e6610bcf366004613d77565b612ae7565b348015610be057600080fd5b506104fd612b4d565b348015610bf557600080fd5b50610460610c04366004613d77565b612bdb565b348015610c1557600080fd5b506104fd612ca5565b348015610c2a57600080fd5b50610460600c5481565b348015610c4057600080fd5b506104e6610c4f36600461408d565b612cb4565b348015610c6057600080fd5b506104e6612d28565b348015610c7557600080fd5b506104e6610c84366004613d77565b612d97565b348015610c9557600080fd5b50610493610ca43660046140cc565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205460ff1690565b348015610cde57600080fd5b506104fd612e93565b348015610cf357600080fd5b506104e6610d02366004613d77565b612ea0565b348015610d1357600080fd5b506017546104939060ff1681565b348015610d2d57600080fd5b50610493610d3c366004613d92565b612f38565b348015610d4d57600080fd5b506104e6610d5c366004613e27565b612fbd565b6000610d706003546000190190565b905090565b60006001600160e01b031982166380ac58cd60e01b1480610da657506001600160e01b03198216635b5e139f60e01b145b80610dc157506001600160e01b0319821663780e9d6360e01b145b80610ddc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60125460ff1615610e0e5760405162461bcd60e51b8152600401610e05906140f6565b60405180910390fd5b6001811015610e5f5760405162461bcd60e51b815260206004820152601a60248201527f4d757374206d696e74206174206c65617374203120746f6b656e0000000000006044820152606401610e05565b600454811115610e815760405162461bcd60e51b8152600401610e0590614141565b601a5460ff161515600114610ea85760405162461bcd60e51b8152600401610e059061418f565b610eb28282612f38565b610ece5760405162461bcd60e51b8152600401610e05906141c6565b7f000000000000000000000000000000000000000000000000000000000000000081610ef8610d61565b610f02919061422c565b1115610f205760405162461bcd60e51b8152600401610e0590614244565b610f2a8183611292565b3414610f485760405162461bcd60e51b8152600401610e0590614288565b610f5482826000613058565b5050565b606060058054610f67906142d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610f93906142d0565b8015610fe05780601f10610fb557610100808354040283529160200191610fe0565b820191906000526020600020905b815481529060010190602001808311610fc357829003601f168201915b5050505050905090565b6000610ff582613073565b6110575760405162461bcd60e51b815260206004820152602d60248201527f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b6064820152608401610e05565b506000908152600960205260409020546001600160a01b031690565b600061107e82611de8565b9050806001600160a01b0316836001600160a01b031614156110ed5760405162461bcd60e51b815260206004820152602260248201527f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60448201526132b960f11b6064820152608401610e05565b6001600160a01b0383166000908152600b602052604090205460ff16156111c85760405162461bcd60e51b815260206004820152607f60248201527f45524337323152657374726963746564417070726f76616c3a2041646472657360448201527f7320746f20617070726f766520686173206265656e207265737472696374656460648201527f20627920636f6e7472616374206f776e657220616e64206973206e6f7420616c60848201527f6c6f77656420746f206265206d61726b656420666f7220617070726f76616c0060a482015260c401610e05565b336001600160a01b03821614806111e457506111e48133610ca4565b6112565760405162461bcd60e51b815260206004820152603960248201527f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656420666f7220616c6c000000000000006064820152608401610e05565b611261838383613089565b505050565b6112618383836130e5565b6010818154811061128157600080fd5b600091825260209091200154905081565b60008083116112ed5760405162461bcd60e51b815260206004820152602160248201527f4d757374206265206d696e74696e67206174206c65617374203120746f6b656e6044820152601760f91b6064820152608401610e05565b60175460ff161580611308575060165461130683613467565b115b15611322578260145461131b919061430b565b9050610ddc565b60008361132e84613467565b611338919061422c565b905060165481116113595783601554611351919061430b565b915050610ddc565b600061136484613467565b601654611371919061432a565b9050600060165483611383919061432a565b905080601454611393919061430b565b826015546113a1919061430b565b6113ab919061422c565b9695505050505050565b60006113c083611e4e565b82106114195760405162461bcd60e51b815260206004820152602260248201527f455243373231413a206f776e657220696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610e05565b6000611423610d61565b905060008060005b838110156114cd576000818152600760209081526040918290208251808401909352546001600160a01b038116808452600160a01b90910467ffffffffffffffff16918301919091521561147e57805192505b876001600160a01b0316836001600160a01b031614156114ba57868414156114ac57509350610ddc92505050565b836114b681614341565b9450505b50806114c581614341565b91505061142b565b5060405162461bcd60e51b815260206004820152602e60248201527f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060448201526d0deeedccae440c4f240d2dcc8caf60931b6064820152608401610e05565b600080546001600160a01b0316339081149190611549906122c1565b905081806115545750805b6115705760405162461bcd60e51b8152600401610e059061435c565b5050601a805460ff19169055565b600080546001600160a01b031633908114919061159a906122c1565b905081806115a55750805b6115c15760405162461bcd60e51b8152600401610e059061435c565b600083116116115760405162461bcd60e51b815260206004820152601b60248201527f4d757374206d696e74206174206c65617374203120746f6b656e2e00000000006044820152606401610e05565b7f00000000000000000000000000000000000000000000000000000000000000008361163b610d61565b611645919061422c565b11156116635760405162461bcd60e51b8152600401610e0590614244565b61166f84846001613058565b50505050565b61126183838360405180602001604052806000815250612895565b6000546001600160a01b031633146116ba5760405162461bcd60e51b8152600401610e05906143a5565b6001600160a01b0381166117025760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610e05565b61170b816122c1565b156117665760405162461bcd60e51b815260206004820152602560248201527f54686973206164647265737320697320616c726561647920696e20796f7572206044820152643a32b0b69760d91b6064820152608401610e05565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b600080546001600160a01b03163390811491906117a9906122c1565b905081806117b45750805b6117d05760405162461bcd60e51b8152600401610e059061435c565b50506001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6000611800610d61565b821061185a5760405162461bcd60e51b815260206004820152602360248201527f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f756044820152626e647360e81b6064820152608401610e05565b5090565b600080546001600160a01b031633908114919061187a906122c1565b905081806118855750805b6118a15760405162461bcd60e51b8152600401610e059061435c565b60018310156118f25760405162461bcd60e51b815260206004820152601b60248201527f4d6178206d696e74206d757374206265206174206c65617374203100000000006044820152606401610e05565b5050600455565b600080546001600160a01b0316339081149190611915906122c1565b905081806119205750805b61193c5760405162461bcd60e51b8152600401610e059061435c565b61194860188585613c91565b5050505050565b60018210156119a05760405162461bcd60e51b815260206004820152601a60248201527f4d757374206d696e74206174206c65617374203120746f6b656e0000000000006044820152606401610e05565b6004548211156119c25760405162461bcd60e51b8152600401610e0590614141565b7f00000000000000000000000000000000000000000000000000000000000000006119eb612acd565b1115611a095760405162461bcd60e51b8152600401610e0590614244565b601a5460ff161515600114611a305760405162461bcd60e51b8152600401610e059061418f565b611a3b836001612f38565b611a575760405162461bcd60e51b8152600401610e05906141c6565b611a7e816001600160a01b03166000908152600d602052604090205460ff16151560011490565b611adc5760405162461bcd60e51b815260206004820152602960248201527f4552432d323020546f6b656e206973206e6f7420617070726f76656420666f72604482015268206d696e74696e672160b81b6064820152608401610e05565b600082611ae883612bdb565b611af2919061430b565b6040516370a0823160e01b81526001600160a01b03868116600483015291925083918391908316906370a082319060240160206040518083038186803b158015611b3b57600080fd5b505afa158015611b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7391906143da565b1015611be75760405162461bcd60e51b815260206004820152603760248201527f427579657220646f6573206e6f74206f776e20656e6f756768206f6620746f6b60448201527f656e20746f20636f6d706c6574652070757263686173650000000000000000006064820152608401610e05565b604051636eb1769f60e11b81526001600160a01b03868116600483015230602483015283919083169063dd62ed3e9060440160206040518083038186803b158015611c3157600080fd5b505afa158015611c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6991906143da565b1015611ce75760405162461bcd60e51b815260206004820152604160248201527f427579657220646964206e6f7420617070726f766520656e6f756768206f662060448201527f4552432d323020746f6b656e20746f20636f6d706c65746520707572636861736064820152606560f81b608482015260a401610e05565b6040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201849052600091908316906323b872dd90606401602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906143f3565b905080611dd45760405162461bcd60e51b815260206004820152602960248201527f4552432d323020746f6b656e2077617320756e61626c6520746f206265207472604482015268185b9cd9995c9c995960ba1b6064820152608401610e05565b611de086866000613058565b505050505050565b6000611df382613505565b5192915050565b600080546001600160a01b0316339081149190611e16906122c1565b90508180611e215750805b611e3d5760405162461bcd60e51b8152600401610e059061435c565b5050601a805460ff19166001179055565b60006001600160a01b038216611eba5760405162461bcd60e51b815260206004820152602b60248201527f455243373231413a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b6064820152608401610e05565b506001600160a01b03166000908152600860205260409020546001600160801b031690565b6000546001600160a01b03163314611f095760405162461bcd60e51b8152600401610e05906143a5565b611f136000613635565b565b60125460ff1615611f385760405162461bcd60e51b8152600401610e05906140f6565b7f0000000000000000000000000000000000000000000000000000000000000000611f61612acd565b1115611f7f5760405162461bcd60e51b8152600401610e0590614244565b601a5460ff161515600114611fa65760405162461bcd60e51b8152600401610e059061418f565b611fb1816001612f38565b611fcd5760405162461bcd60e51b8152600401610e05906141c6565b611fd8600182611292565b3414611ff65760405162461bcd60e51b8152600401610e0590614288565b6120038160016000613058565b50565b600080546001600160a01b0316339081149190612022906122c1565b9050818061202d5750805b6120495760405162461bcd60e51b8152600401610e059061435c565b50506017805460ff19166001179055565b600080546001600160a01b0316339081149190612076906122c1565b905081806120815750805b61209d5760405162461bcd60e51b8152600401610e059061435c565b50506001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600080546001600160a01b03163390811491906120e6906122c1565b905081806120f15750805b61210d5760405162461bcd60e51b8152600401610e059061435c565b6000471161211a57600080fd5b610f54613685565b600e818154811061213257600080fd5b6000918252602090912001546001600160a01b0316905081565b600080546001600160a01b0316339081149190612168906122c1565b905081806121735750805b61218f5760405162461bcd60e51b8152600401610e059061435c565b50506012805460ff19166001179055565b600080546001600160a01b03163390811491906121bc906122c1565b905081806121c75750805b6121e35760405162461bcd60e51b8152600401610e059061435c565b60018310156122445760405162461bcd60e51b815260206004820152602760248201527f4d6178206d696e7473207065722077616c6c6574206d757374206265206174206044820152666c65617374203160c81b6064820152608401610e05565b5050601b55565b600080546001600160a01b0316339081149190612267906122c1565b905081806122725750805b61228e5760405162461bcd60e51b8152600401610e059061435c565b5050601455565b6040805180820190915260008082526020820152610ddc82613505565b606060068054610f67906142d0565b60006001600160a01b0382166123195760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206164647265737320746f20636865636b2e000000000000006044820152606401610e05565b506001600160a01b031660009081526001602081905260409091205460ff1615151490565b600080546001600160a01b031633908114919061235a906122c1565b905081806123655750805b6123815760405162461bcd60e51b8152600401610e059061435c565b6000831161238e57600080fd5b6040516370a0823160e01b8152306004820152849084906001600160a01b038316906370a082319060240160206040518083038186803b1580156123d157600080fd5b505afa1580156123e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240991906143da565b101561246f5760405162461bcd60e51b815260206004820152602f60248201527f576974686472617756323a20436f6e747261637420646f6573206e6f74206f7760448201526e6e20656e6f75676820746f6b656e7360881b6064820152608401610e05565b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018690529082169063a9059cbb90604401602060405180830381600087803b1580156124bd57600080fd5b505af11580156124d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de091906143f3565b6001600160a01b03821633141561254e5760405162461bcd60e51b815260206004820152601a60248201527f455243373231413a20617070726f766520746f2063616c6c65720000000000006044820152606401610e05565b6001600160a01b0382166000908152600b602052604090205460ff16156126295760405162461bcd60e51b815260206004820152607d60248201527f45524337323152657374726963746564417070726f76616c3a204f706572617460448201527f6f72206164647265737320686173206265656e2072657374726963746564206260648201527f7920636f6e7472616374206f776e657220616e64206973206e6f7420616c6c6f60848201527f77656420746f206265206d61726b656420666f7220617070726f76616c00000060a482015260c401610e05565b336000818152600a602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600080546001600160a01b03163390811491906126b1906122c1565b905081806126bc5750805b6126d85760405162461bcd60e51b8152600401610e059061435c565b6001600160a01b0383166127545760405162461bcd60e51b815260206004820152603c60248201527f576974686472617761626c6556323a206e6577204552432d3230207061796f7560448201527f742063616e6e6f7420626520746865207a65726f2061646472657373000000006064820152608401610e05565b600f546001600160a01b03848116911614156127d85760405162461bcd60e51b815260206004820152603b60248201527f576974686472617761626c6556323a206e6577204552432d3230207061796f7560448201527f742069732073616d652061732063757272656e74207061796f757400000000006064820152608401610e05565b5050600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b0316339081149190612818906122c1565b905081806128235750805b61283f5760405162461bcd60e51b8152600401610e059061435c565b61194860198585613c91565b600080546001600160a01b0316339081149190612867906122c1565b905081806128725750805b61288e5760405162461bcd60e51b8152600401610e059061435c565b5050601555565b6128a08484846130e5565b6128ac84848484613713565b61166f5760405162461bcd60e51b8152600401610e0590614410565b600080546001600160a01b03163390811491906128e4906122c1565b905081806128ef5750805b61290b5760405162461bcd60e51b8152600401610e059061435c565b50506012805460ff19169055565b6002546001600160a01b031633146129735760405162461bcd60e51b815260206004820152601c60248201527f4f776e61626c653a2063616c6c6572206973206e6f742052414d5050000000006044820152606401610e05565b6002546001600160a01b03828116911614156129ed5760405162461bcd60e51b815260206004820152603360248201527f576974686472617761626c6556323a204e65772052616d7070206164647265736044820152721cc81b5d5cdd08189948191a5999995c995b9d606a1b6064820152608401610e05565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b0316339081149190612a2b906122c1565b90508180612a365750805b612a525760405162461bcd60e51b8152600401610e059061435c565b50506017805460ff19169055565b60606000612a6c612ca5565b90506000612a78613820565b90506000825111612a985760405180602001604052806000815250612ac5565b81612aa28561382f565b82604051602001612ab593929190614463565b6040516020818303038152906040525b949350505050565b6000612adc6003546000190190565b610d7090600161422c565b600080546001600160a01b0316339081149190612b03906122c1565b90508180612b0e5750805b612b2a5760405162461bcd60e51b8152600401610e059061435c565b50506001600160a01b03166000908152600d60205260409020805460ff19169055565b60188054612b5a906142d0565b80601f0160208091040260200160405190810160405280929190818152602001828054612b86906142d0565b8015612bd35780601f10612ba857610100808354040283529160200191612bd3565b820191906000526020600020905b815481529060010190602001808311612bb657829003601f168201915b505050505081565b6000612c04826001600160a01b03166000908152600d602052604090205460ff16151560011490565b612c865760405162461bcd60e51b815260206004820152604760248201527f54686973204552432d323020636f6e7472616374206973206e6f74206170707260448201527f6f76656420746f206d616b65207061796d656e7473206f6e207468697320636f6064820152666e74726163742160c81b608482015260a401610e05565b506001600160a01b03166000908152600d602052604090206001015490565b606060188054610f67906142d0565b600080546001600160a01b0316339081149190612cd0906122c1565b90508180612cdb5750805b612cf75760405162461bcd60e51b8152600401610e059061435c565b50506001600160a01b03929092166000908152600d60205260409020805460ff191691151591909117815560010155565b6002546001600160a01b03163314612d825760405162461bcd60e51b815260206004820152601c60248201527f4f776e61626c653a2063616c6c6572206973206e6f742052414d5050000000006044820152606401610e05565b60004711612d8f57600080fd5b611f13613685565b6000546001600160a01b03163314612dc15760405162461bcd60e51b8152600401610e05906143a5565b6001600160a01b038116612e095760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610e05565b612e12816122c1565b612e725760405162461bcd60e51b815260206004820152602b60248201527f546869732061646472657373206973206e6f7420696e20796f7572207465616d60448201526a1031bab93932b73a363c9760a91b6064820152608401610e05565b6001600160a01b03166000908152600160205260409020805460ff19169055565b60198054612b5a906142d0565b6000546001600160a01b03163314612eca5760405162461bcd60e51b8152600401610e05906143a5565b6001600160a01b038116612f2f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e05565b61200381613635565b60006001821015612f9d5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74206d7573742062652067726561746572207468616e206f7220656044820152687175616c20746f203160b81b6064820152608401610e05565b601b5482612faa85613467565b612fb4919061422c565b11159392505050565b600080546001600160a01b0316339081149190612fd9906122c1565b90508180612fe45750805b6130005760405162461bcd60e51b8152600401610e059061435c565b60018310156130515760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207365742063617020746f206c657373207468616e20310000006044820152606401610e05565b5050601655565b6112618383836040518060200160405280600081525061392d565b600081600111158015610ddc5750506003541190565b60008281526009602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006130f082613505565b80519091506000906001600160a01b0316336001600160a01b0316148061312757503361311c84610fea565b6001600160a01b0316145b80613139575081516131399033610ca4565b9050806131a35760405162461bcd60e51b815260206004820152603260248201527f455243373231413a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610e05565b846001600160a01b031682600001516001600160a01b0316146132175760405162461bcd60e51b815260206004820152602660248201527f455243373231413a207472616e736665722066726f6d20696e636f72726563746044820152651037bbb732b960d11b6064820152608401610e05565b6001600160a01b03841661327b5760405162461bcd60e51b815260206004820152602560248201527f455243373231413a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610e05565b61328b6000848460000151613089565b6001600160a01b03851660009081526008602052604081208054600192906132bd9084906001600160801b03166144a6565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b03861660009081526008602052604081208054600194509092613309918591166144ce565b82546001600160801b039182166101009390930a9283029190920219909116179055506040805180820182526001600160a01b03808716825267ffffffffffffffff428116602080850191825260008981526007909152948520935184549151909216600160a01b026001600160e01b0319909116919092161717905561339184600161422c565b6000818152600760205260409020549091506001600160a01b0316613421576133b981613073565b156134215760408051808201825284516001600160a01b03908116825260208087015167ffffffffffffffff9081168285019081526000878152600790935294909120925183549451909116600160a01b026001600160e01b03199094169116179190911790555b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611de0565b60006001600160a01b0382166134d95760405162461bcd60e51b815260206004820152603160248201527f455243373231413a206e756d626572206d696e74656420717565727920666f7260448201527020746865207a65726f206164647265737360781b6064820152608401610e05565b506001600160a01b0316600090815260086020526040902054600160801b90046001600160801b031690565b6040805180820190915260008082526020820152818060011115801561352c575060035481105b156135d5576000818152600760209081526040918290208251808401909352546001600160a01b038116808452600160a01b90910467ffffffffffffffff16918301919091521561357e579392505050565b50600019016000818152600760209081526040918290208251808401909352546001600160a01b038116808452600160a01b90910467ffffffffffffffff1691830191909152156135d0579392505050565b61357e565b60405162461bcd60e51b815260206004820152602f60248201527f455243373231413a20756e61626c6520746f2064657465726d696e652074686560448201526e1037bbb732b91037b3103a37b5b2b760891b6064820152608401610e05565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b4760005b601154811015610f5457613701600e82815481106136a9576136a96144f9565b9060005260206000200160009054906101000a90046001600160a01b03166064601084815481106136dc576136dc6144f9565b9060005260206000200154856136f2919061430b565b6136fc9190614525565b613bfb565b8061370b81614341565b915050613689565b60006001600160a01b0384163b1561381557604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613757903390899088908890600401614539565b602060405180830381600087803b15801561377157600080fd5b505af19250505080156137a1575060408051601f3d908101601f1916820190925261379e9181019061456c565b60015b6137fb573d8080156137cf576040519150601f19603f3d011682016040523d82523d6000602084013e6137d4565b606091505b5080516137f35760405162461bcd60e51b8152600401610e0590614410565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612ac5565b506001949350505050565b606060198054610f67906142d0565b6060816138535750506040805180820190915260018152600360fc1b602082015290565b8160005b811561387d578061386781614341565b91506138769050600a83614525565b9150613857565b60008167ffffffffffffffff81111561389857613898613f9b565b6040519080825280601f01601f1916602001820160405280156138c2576020820181803683370190505b5090505b8415612ac5576138d760018361432a565b91506138e4600a86614589565b6138ef90603061422c565b60f81b818381518110613904576139046144f9565b60200101906001600160f81b031916908160001a905350613926600a86614525565b94506138c6565b6003546001600160a01b0385166139905760405162461bcd60e51b815260206004820152602160248201527f455243373231413a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610e05565b61399981613073565b156139e65760405162461bcd60e51b815260206004820152601d60248201527f455243373231413a20746f6b656e20616c7265616479206d696e7465640000006044820152606401610e05565b82613a4857600454841115613a485760405162461bcd60e51b815260206004820152602260248201527f455243373231413a207175616e7469747920746f206d696e7420746f6f2068696044820152610ced60f31b6064820152608401610e05565b6001600160a01b0385166000908152600860209081526040918290208251808401845290546001600160801b038082168352600160801b9091041691810191909152815180830190925280519091908190613aa49088906144ce565b6001600160801b0316815260200185613abd5786613ac0565b60005b8360200151613acf91906144ce565b6001600160801b039081169091526001600160a01b0380891660008181526008602090815260408083208751978301518716600160801b0297909616969096179094558451808601865291825267ffffffffffffffff4281168386019081528883526007909552948120915182549451909516600160a01b026001600160e01b031990941694909216939093179190911790915582905b86811015613bef5760405182906001600160a01b038a16906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4613bb36000898488613713565b613bcf5760405162461bcd60e51b8152600401610e0590614410565b81613bd981614341565b9250508080613be790614341565b915050613b66565b50600355505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613c48576040519150601f19603f3d011682016040523d82523d6000602084013e613c4d565b606091505b50509050806112615760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b6044820152606401610e05565b828054613c9d906142d0565b90600052602060002090601f016020900481019282613cbf5760008555613d05565b82601f10613cd85782800160ff19823516178555613d05565b82800160010185558215613d05579182015b82811115613d05578235825591602001919060010190613cea565b5061185a9291505b8082111561185a5760008155600101613d0d565b6001600160e01b03198116811461200357600080fd5b600060208284031215613d4957600080fd5b8135613d5481613d21565b9392505050565b80356001600160a01b0381168114613d7257600080fd5b919050565b600060208284031215613d8957600080fd5b613d5482613d5b565b60008060408385031215613da557600080fd5b613dae83613d5b565b946020939093013593505050565b60005b83811015613dd7578181015183820152602001613dbf565b8381111561166f5750506000910152565b60008151808452613e00816020860160208601613dbc565b601f01601f19169290920160200192915050565b602081526000613d546020830184613de8565b600060208284031215613e3957600080fd5b5035919050565b600080600060608486031215613e5557600080fd5b613e5e84613d5b565b9250613e6c60208501613d5b565b9150604084013590509250925092565b60008060408385031215613e8f57600080fd5b82359150613e9f60208401613d5b565b90509250929050565b60008060208385031215613ebb57600080fd5b823567ffffffffffffffff80821115613ed357600080fd5b818501915085601f830112613ee757600080fd5b813581811115613ef657600080fd5b866020828501011115613f0857600080fd5b60209290920196919550909350505050565b600080600060608486031215613f2f57600080fd5b613f3884613d5b565b925060208401359150613f4d60408501613d5b565b90509250925092565b801515811461200357600080fd5b60008060408385031215613f7757600080fd5b613f8083613d5b565b91506020830135613f9081613f56565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215613fc757600080fd5b613fd085613d5b565b9350613fde60208601613d5b565b925060408501359150606085013567ffffffffffffffff8082111561400257600080fd5b818701915087601f83011261401657600080fd5b81358181111561402857614028613f9b565b604051601f8201601f19908116603f0116810190838211818310171561405057614050613f9b565b816040528281528a602084870101111561406957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000606084860312156140a257600080fd5b6140ab84613d5b565b925060208401356140bb81613f56565b929592945050506040919091013590565b600080604083850312156140df57600080fd5b6140e883613d5b565b9150613e9f60208401613d5b565b6020808252602b908201527f4f6e6c79206d696e74696e672077697468204552432d323020746f6b656e732060408201526a34b99032b730b13632b21760a91b606082015260800190565b6020808252602e908201527f43616e6e6f74206d696e74206d6f7265207468616e206d6178206d696e74207060408201526d32b9103a3930b739b0b1ba34b7b760911b606082015260800190565b6020808252601e908201527f4d696e74696e67206973206e6f74206f70656e207269676874206e6f77210000604082015260600190565b60208082526030908201527f57616c6c65742061646472657373206973206f76657220746865206d6178696d60408201526f756d20616c6c6f776564206d696e747360801b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561423f5761423f614216565b500190565b60208082526024908201527f43616e6e6f74206d696e74206f76657220737570706c7920636170206f6620316040820152630303030360e41b606082015260800190565b60208082526028908201527f56616c75652062656c6f77207265717569726564206d696e742066656520666f6040820152671c88185b5bdd5b9d60c21b606082015260800190565b600181811c908216806142e457607f821691505b6020821081141561430557634e487b7160e01b600052602260045260246000fd5b50919050565b600081600019048311821515161561432557614325614216565b500290565b60008282101561433c5761433c614216565b500390565b600060001982141561435557614355614216565b5060010190565b60208082526029908201527f5465616d3a2063616c6c6572206973206e6f7420746865206f776e6572206f726040820152681034b7102a32b0b69760b91b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156143ec57600080fd5b5051919050565b60006020828403121561440557600080fd5b8151613d5481613f56565b60208082526033908201527f455243373231413a207472616e7366657220746f206e6f6e204552433732315260408201527232b1b2b4bb32b91034b6b83632b6b2b73a32b960691b606082015260800190565b60008451614475818460208901613dbc565b845190830190614489818360208901613dbc565b845191019061449c818360208801613dbc565b0195945050505050565b60006001600160801b03838116908316818110156144c6576144c6614216565b039392505050565b60006001600160801b038083168185168083038211156144f0576144f0614216565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000826145345761453461450f565b500490565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113ab90830184613de8565b60006020828403121561457e57600080fd5b8151613d5481613d21565b6000826145985761459861450f565b50069056fea264697066735822122014d0dd70933c897e0b216540dc66bec7528ae181b8d118d2ef05d9301073436164736f6c63430008090033