13 txs
176 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
claimed
viewfunction claimed(uint256) view returns (uint256)
claimedAmount
viewfunction claimedAmount() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
explicitOwnershipOf
viewfunction explicitOwnershipOf(uint256 tokenId) view returns (tuple ownership)
explicitOwnershipsOf
viewfunction explicitOwnershipsOf(uint256[] tokenIds) view returns (tuple[])
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
maxSupply
viewfunction maxSupply() view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
royaltyInfo
viewfunction royaltyInfo(uint256 tokenId, uint256 salePrice) view returns (address receiver, uint256 amount)
SETTER_ROLE
viewfunction SETTER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokensOfOwner
viewfunction tokensOfOwner(address owner) view returns (uint256[])
tokensOfOwnerIn
viewfunction tokensOfOwnerIn(address owner, uint256 start, uint256 stop) view returns (uint256[])
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256 result)
approve
payablefunction approve(address to, uint256 tokenId) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
mint
nonpayablefunction mint(address to, uint256 _amount)
ownerMint
nonpayablefunction ownerMint(address _transferAddress, uint256 _amount)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeTransferFrom
payablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) payable
safeTransferFrom
payablefunction safeTransferFrom(address from, address to, uint256 tokenId) payable
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string uri)
setClaimed
nonpayablefunction setClaimed(uint256 tokenId, uint256 amount)
setClaimedAmount
nonpayablefunction setClaimedAmount(uint256 amount)
setDefaultRoyaltyReceiver
nonpayablefunction setDefaultRoyaltyReceiver(address receiver)
setMaxSupply
nonpayablefunction setMaxSupply(uint256 _maxSupply)
transferFrom
payablefunction transferFrom(address from, address to, uint256 tokenId) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ConsecutiveTransfer
event ConsecutiveTransfer(uint256 indexed fromTokenId, uint256 toTokenId, address indexed from, address indexed to)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
ERC2981InvalidDefaultRoyalty
error ERC2981InvalidDefaultRoyalty(uint256 numerator, uint256 denominator)
ERC2981InvalidDefaultRoyaltyReceiver
error ERC2981InvalidDefaultRoyaltyReceiver(address receiver)
ERC2981InvalidTokenRoyalty
error ERC2981InvalidTokenRoyalty(uint256 tokenId, uint256 numerator, uint256 denominator)
ERC2981InvalidTokenRoyaltyReceiver
error ERC2981InvalidTokenRoyaltyReceiver(uint256 tokenId, address receiver)
InvalidQueryRange
error InvalidQueryRange()
MintERC2309QuantityExceedsLimit
error MintERC2309QuantityExceedsLimit()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
NotCompatibleWithSpotMints
error NotCompatibleWithSpotMints()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
OwnershipNotInitializedForExtraData
error OwnershipNotInitializedForExtraData()
SequentialMintExceedsLimit
error SequentialMintExceedsLimit()
SequentialUpToTooSmall
error SequentialUpToTooSmall()
SpotMintTokenIdTooSmall
error SpotMintTokenIdTooSmall()
TokenAlreadyExists
error TokenAlreadyExists()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
URIQueryForNonexistentToken
error URIQueryForNonexistentToken()
creation bytecode
0x60806040526101f4600d553480156200001757600080fd5b5060008051602062002cee8339815191526040518060400160405280601881526020017f5069637475726520626f6f6b20617574686f7220506975690000000000000000815250604051806040016040528060048152602001630504241560e41b81525081600290816200008c9190620004aa565b5060036200009b8282620004aa565b50600160005550506001600160a01b038116620000d357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000de8162000257565b50620000fc60008051602062002cee8339815191526103e8620002a9565b6200011d6000731d1b1e30a9d15dba662f85119122e1d65109043462000350565b506200012b60003362000350565b5062000148600060008051602062002cee83398151915262000350565b506200017860008051602062002d0e833981519152731d1b1e30a9d15dba662f85119122e1d65109043462000350565b50620001a860008051602062002cce833981519152731d1b1e30a9d15dba662f85119122e1d65109043462000350565b50620001c460008051602062002d0e8339815191523362000350565b50620001e060008051602062002cce8339815191523362000350565b506200020b60008051602062002d0e83398151915260008051602062002cee83398151915262000350565b506200023660008051602062002cce83398151915260008051602062002cee83398151915262000350565b506200025160008051602062002cee83398151915262000257565b62000576565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b038216811015620002ea57604051636f483d0960e01b81526001600160601b038316600482015260248101829052604401620000ca565b6001600160a01b0383166200031657604051635b6cc80560e11b815260006004820152602401620000ca565b50604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600955565b6000828152600b602090815260408083206001600160a01b038516845290915281205460ff16620003f9576000838152600b602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620003b03390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620003fd565b5060005b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200042e57607f821691505b6020821081036200044f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004a5576000816000526020600020601f850160051c81016020861015620004805750805b601f850160051c820191505b81811015620004a1578281556001016200048c565b5050505b505050565b81516001600160401b03811115620004c657620004c662000403565b620004de81620004d7845462000419565b8462000455565b602080601f831160018114620005165760008415620004fd5750858301515b600019600386901b1c1916600185901b178555620004a1565b600085815260208120601f198616915b82811015620005475788860151825594840194600190910190840162000526565b5085821015620005665787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61274880620005866000396000f3fe6080604052600436106102465760003560e01c806375b238fc11610139578063b88d4fde116100b6578063d5abeb011161007a578063d5abeb01146106d3578063dbe7e3bd146106e9578063e9291c6314610716578063e985e9c514610736578063e9b044871461077f578063f2fde38b1461079f57600080fd5b8063b88d4fde1461061f578063c23dc68f14610632578063c87b56dd1461065f578063d53913931461067f578063d547741f146106b357600080fd5b80639668ceb8116100fd5780639668ceb8146105a757806399a2557a146105bd578063a2011b3f146105dd578063a217fddf14610512578063a22cb465146105ff57600080fd5b806375b238fc146105125780638462151c146105275780638da5cb5b1461055457806391d148541461057257806395d89b411461059257600080fd5b80633ebc82c5116101c75780635bbb21771161018b5780635bbb2177146104705780636352211e1461049d5780636f8b44b0146104bd57806370a08231146104dd578063715018a6146104fd57600080fd5b80633ebc82c5146103dd57806340c10f19146103fd57806342842e0e1461041d578063484b973c1461043057806355f804b31461045057600080fd5b806323b872dd1161020e57806323b872dd1461031b578063248a9ca31461032e5780632a55205a1461035e5780632f2ff15d1461039d57806336568abe146103bd57600080fd5b806301ffc9a71461024b57806306fdde0314610280578063081812fc146102a2578063095ea7b3146102da57806318160ddd146102ef575b600080fd5b34801561025757600080fd5b5061026b610266366004611da1565b6107bf565b60405190151581526020015b60405180910390f35b34801561028c57600080fd5b506102956107ee565b6040516102779190611e0e565b3480156102ae57600080fd5b506102c26102bd366004611e21565b610880565b6040516001600160a01b039091168152602001610277565b6102ed6102e8366004611e51565b6108bb565b005b3480156102fb57600080fd5b5061030d600154600054036000190190565b604051908152602001610277565b6102ed610329366004611e7b565b6108cb565b34801561033a57600080fd5b5061030d610349366004611e21565b6000908152600b602052604090206001015490565b34801561036a57600080fd5b5061037e610379366004611eb7565b610a30565b604080516001600160a01b039093168352602083019190915201610277565b3480156103a957600080fd5b506102ed6103b8366004611ed9565b610ab5565b3480156103c957600080fd5b506102ed6103d8366004611ed9565b610ad0565b3480156103e957600080fd5b506102ed6103f8366004611f05565b610b08565b34801561040957600080fd5b506102ed610418366004611e51565b610b6c565b6102ed61042b366004611e7b565b610c13565b34801561043c57600080fd5b506102ed61044b366004611e51565b610c2e565b34801561045c57600080fd5b506102ed61046b366004611fac565b610cb3565b34801561047c57600080fd5b5061049061048b366004611ff5565b610cd7565b60405161027791906120a7565b3480156104a957600080fd5b506102c26104b8366004611e21565b610d23565b3480156104c957600080fd5b506102ed6104d8366004611e21565b610d2e565b3480156104e957600080fd5b5061030d6104f8366004611f05565b610dbd565b34801561050957600080fd5b506102ed610e03565b34801561051e57600080fd5b5061030d600081565b34801561053357600080fd5b50610547610542366004611f05565b610e17565b60405161027791906120e9565b34801561056057600080fd5b50600c546001600160a01b03166102c2565b34801561057e57600080fd5b5061026b61058d366004611ed9565b610e3e565b34801561059e57600080fd5b50610295610e69565b3480156105b357600080fd5b5061030d600e5481565b3480156105c957600080fd5b506105476105d8366004612121565b610e78565b3480156105e957600080fd5b5061030d6000805160206126b383398151915281565b34801561060b57600080fd5b506102ed61061a366004612154565b610e8f565b6102ed61062d366004612190565b610efb565b34801561063e57600080fd5b5061065261064d366004611e21565b610f36565b604051610277919061220c565b34801561066b57600080fd5b5061029561067a366004611e21565b610f9a565b34801561068b57600080fd5b5061030d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b3480156106bf57600080fd5b506102ed6106ce366004611ed9565b61105d565b3480156106df57600080fd5b5061030d600d5481565b3480156106f557600080fd5b5061030d610704366004611e21565b600f6020526000908152604090205481565b34801561072257600080fd5b506102ed610731366004611eb7565b611072565b34801561074257600080fd5b5061026b61075136600461221a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561078b57600080fd5b506102ed61079a366004611e21565b6110e9565b3480156107ab57600080fd5b506102ed6107ba366004611f05565b611107565b60006107ca82611145565b806107d957506107d982611193565b806107e857506107e8826111b4565b92915050565b6060600280546107fd90612244565b80601f016020809104026020016040519081016040528092919081815260200182805461082990612244565b80156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050505050905090565b600061088b826111e9565b61089f5761089f6333d1c03960e21b611235565b506000908152600660205260409020546001600160a01b031690565b6108c78282600161123f565b5050565b60006108d6826112e2565b6001600160a01b0394851694909150811684146108fc576108fc62a1148160e81b611235565b60008281526006602052604090208054338082146001600160a01b038816909114176109405761092c8633610751565b61094057610940632ce44b5f60e11b611235565b801561094b57600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036109dd576001840160008181526004602052604081205490036109db5760005481146109db5760008181526004602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a480600003610a2757610a27633a954ecd60e21b611235565b50505050505050565b6000828152600a6020526040812080548291906001600160a01b03811690600160a01b90046001600160601b031681610a845750506009546001600160a01b03811690600160a01b90046001600160601b03165b6000612710610a9c6001600160601b03841689612294565b610aa691906122ab565b92989297509195505050505050565b6000610ac081611383565b610aca838361138d565b50505050565b6001600160a01b0381163314610af95760405163334bd91960e11b815260040160405180910390fd5b610b038282611421565b505050565b6000610b1381611383565b6001600160a01b038216610b605760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064015b60405180910390fd5b6108c7826103e861148e565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610b9681611383565b6000610ba9600154600054036000190190565b9050600083118015610bc65750600d54610bc384836122cd565b11155b610c095760405162461bcd60e51b8152602060048201526014602482015273496e76616c6964206d696e7420616d6f756e742160601b6044820152606401610b57565b610aca8484611531565b610b0383838360405180602001604052806000815250610efb565b610c3661154b565b6000610c49600154600054036000190190565b9050600082118015610c665750600d54610c6383836122cd565b11155b610ca95760405162461bcd60e51b8152602060048201526014602482015273496e76616c6964206d696e7420616d6f756e742160601b6044820152606401610b57565b610b038383611531565b6000805160206126b3833981519152610ccb81611383565b6010610b038382612330565b60408051828152600583901b8082016020019092526060915b8015610d1b57601f1980820191860101356000610d0c82610f36565b8484016020015250610cf09050565b509392505050565b60006107e8826112e2565b6000805160206126b3833981519152610d4681611383565b81610d58600154600054036000190190565b1115610db75760405162461bcd60e51b815260206004820152602860248201527f4e6577206d617820737570706c79206d757374206265203e3d2063757272656e6044820152677420737570706c7960c01b6064820152608401610b57565b50600d55565b60006001600160a01b038216610ddd57610ddd6323d3ad8160e21b611235565b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b610e0b61154b565b610e156000611578565b565b60005460609060019082828214610e3657610e338584846115ca565b90505b949350505050565b6000918252600b602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600380546107fd90612244565b6060610e858484846115ca565b90505b9392505050565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610f068484846108cb565b6001600160a01b0383163b15610aca57610f22848484846116d1565b610aca57610aca6368d2bf6b60e11b611235565b60408051608081018252600080825260208201819052918101829052606081019190915260018210610f9557600054821015610f95575b600082815260046020526040902054610f8c5760001990910190610f6d565b6107e8826117b3565b919050565b6060610fa5826111e9565b610fe85760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610b57565b6000828152600f6020526040812054900361105457611005611832565b61100e83611841565b60405180604001604052806005815260200164173539b7b760d91b81525060405160200161103e9392919061240c565b6040516020818303038152906040529050919050565b6107e8826118d4565b600061106881611383565b610aca8383611421565b6000805160206126b383398151915261108a81611383565b611093836111e9565b6110d65760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610b57565b506000918252600f602052604090912055565b6000805160206126b383398151915261110181611383565b50600e55565b61110f61154b565b6001600160a01b03811661113957604051631e4fbdf760e01b815260006004820152602401610b57565b61114281611578565b50565b60006301ffc9a760e01b6001600160e01b03198316148061117657506380ac58cd60e01b6001600160e01b03198316145b806107e85750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b03198216637965db0b60e01b14806107e857506107e8825b60006001600160e01b0319821663152a902d60e11b14806107e857506301ffc9a760e01b6001600160e01b03198316146107e8565b600081600111610f9557600054821015610f955760005b5060008281526004602052604081205490819003611228576112218361244f565b9250611200565b600160e01b161592915050565b8060005260046000fd5b600061124a83610d23565b90508180156112625750336001600160a01b03821614155b15611285576112718133610751565b611285576112856367d9dca160e11b611235565b60008381526006602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b60008160011161137357506000818152600460205260409020548060000361136057600054821061131d5761131d636f96cda160e11b611235565b5b5060001901600081815260046020526040902054801561131e57600160e01b811660000361134b57919050565b61135b636f96cda160e11b611235565b61131e565b600160e01b811660000361137357919050565b610f95636f96cda160e11b611235565b61114281336119b1565b60006113998383610e3e565b611419576000838152600b602090815260408083206001600160a01b03861684529091529020805460ff191660011790556113d13390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016107e8565b5060006107e8565b600061142d8383610e3e565b15611419576000838152600b602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016107e8565b6127106001600160601b0382168110156114cd57604051636f483d0960e01b81526001600160601b038316600482015260248101829052604401610b57565b6001600160a01b0383166114f757604051635b6cc80560e11b815260006004820152602401610b57565b50604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600955565b6108c78282604051806020016040528060008152506119ea565b600c546001600160a01b03163314610e155760405163118cdaa760e01b8152336004820152602401610b57565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60608183106115e3576115e3631960ccad60e11b611235565b60018310156115f157600192505b60005480808410611600578093505b600061160b87610dbd565b9050848610611618575060005b80156116c757808686031161162c57508484035b604080516001830160051b8101918290529450600061164a88610f36565b90506000816040015161165b575080515b60005b6116678a6117b3565b925060408301516000811461167f57600092506116a4565b83511561168b57835192505b8b831860601b6116a4576001820191508a8260051b8a01525b5060018a01995083604052888a14806116bc57508481145b1561165e5787525050505b5050509392505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611706903390899088908890600401612466565b6020604051808303816000875af1925050508015611741575060408051601f3d908101601f1916820190925261173e918101906124a3565b60015b611796573d80801561176f576040519150601f19603f3d011682016040523d82523d6000602084013e611774565b606091505b50805160000361178e5761178e6368d2bf6b60e11b611235565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6040805160808101825260008082526020820181905291810182905260608101919091526000828152600460205260409020546107e890604080516080810182526001600160a01b038316815260a083901c67ffffffffffffffff166020820152600160e01b831615159181019190915260e89190911c606082015290565b6060601080546107fd90612244565b6060600061184e83611a4e565b600101905060008167ffffffffffffffff81111561186e5761186e611f20565b6040519080825280601f01601f191660200182016040528015611898576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846118a257509392505050565b6000818152600f602090815260409182902054825180840190935260018352600360fc1b91830191909152600e54606092901561194e57600e5461192c9061191d846064612294565b61192791906122ab565b611841565b60405160200161193c91906124c0565b60405160208183030381529060405290505b61198961195a85611841565b611962611832565b83604051602001611975939291906124e5565b604051602081830303815290604052611b26565b604051602001611999919061266d565b60405160208183030381529060405292505050919050565b6119bb8282610e3e565b6108c75760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610b57565b6119f48383611b4c565b6001600160a01b0383163b15610b03576000548281035b611a1e60008683806001019450866116d1565b611a3257611a326368d2bf6b60e11b611235565b818110611a0b578160005414611a4757600080fd5b5050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a8d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ab9576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ad757662386f26fc10000830492506010015b6305f5e1008310611aef576305f5e100830492506008015b6127108310611b0357612710830492506004015b60648310611b15576064830492506002015b600a83106107e85760010192915050565b60606107e8826040518060600160405280604081526020016126d3604091396001611c0b565b6000805490829003611b6857611b6863b562e8dd60e01b611235565b60008181526004602090815260408083206001600160a01b0387164260a01b6001881460e11b17811790915580845260059092528220805468010000000000000001860201905590819003611bc657611bc6622e076360e81b611235565b818301825b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4818160010191508103611bcb575060005550505050565b60608351600003611c2b5750604080516020810190915260008152610e88565b600082611c5c57600385516004611c429190612294565b611c4d9060026122cd565b611c5791906122ab565b611c81565b600385516002611c6c91906122cd565b611c7691906122ab565b611c81906004612294565b905060008167ffffffffffffffff811115611c9e57611c9e611f20565b6040519080825280601f01601f191660200182016040528015611cc8576020820181803683370190505b50905060018501602082018788518901602081018051600082525b82841015611d3e576003840193508351603f8160121c168701518653600186019550603f81600c1c168701518653600186019550603f8160061c168701518653600186019550603f8116870151865350600185019450611ce3565b905250508515611d7f57600388510660018114611d625760028114611d7557611d7d565b603d6001830353603d6002830353611d7d565b603d60018303535b505b50909695505050505050565b6001600160e01b03198116811461114257600080fd5b600060208284031215611db357600080fd5b8135610e8881611d8b565b60005b83811015611dd9578181015183820152602001611dc1565b50506000910152565b60008151808452611dfa816020860160208601611dbe565b601f01601f19169290920160200192915050565b602081526000610e886020830184611de2565b600060208284031215611e3357600080fd5b5035919050565b80356001600160a01b0381168114610f9557600080fd5b60008060408385031215611e6457600080fd5b611e6d83611e3a565b946020939093013593505050565b600080600060608486031215611e9057600080fd5b611e9984611e3a565b9250611ea760208501611e3a565b9150604084013590509250925092565b60008060408385031215611eca57600080fd5b50508035926020909101359150565b60008060408385031215611eec57600080fd5b82359150611efc60208401611e3a565b90509250929050565b600060208284031215611f1757600080fd5b610e8882611e3a565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611f5157611f51611f20565b604051601f8501601f19908116603f01168101908282118183101715611f7957611f79611f20565b81604052809350858152868686011115611f9257600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215611fbe57600080fd5b813567ffffffffffffffff811115611fd557600080fd5b8201601f81018413611fe657600080fd5b610e3684823560208401611f36565b6000806020838503121561200857600080fd5b823567ffffffffffffffff8082111561202057600080fd5b818501915085601f83011261203457600080fd5b81358181111561204357600080fd5b8660208260051b850101111561205857600080fd5b60209290920196919550909350505050565b80516001600160a01b0316825260208082015167ffffffffffffffff169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b81811015611d7f576120d683855161206a565b92840192608092909201916001016120c3565b6020808252825182820181905260009190848201906040850190845b81811015611d7f57835183529284019291840191600101612105565b60008060006060848603121561213657600080fd5b61213f84611e3a565b95602085013595506040909401359392505050565b6000806040838503121561216757600080fd5b61217083611e3a565b91506020830135801515811461218557600080fd5b809150509250929050565b600080600080608085870312156121a657600080fd5b6121af85611e3a565b93506121bd60208601611e3a565b925060408501359150606085013567ffffffffffffffff8111156121e057600080fd5b8501601f810187136121f157600080fd5b61220087823560208401611f36565b91505092959194509250565b608081016107e8828461206a565b6000806040838503121561222d57600080fd5b61223683611e3a565b9150611efc60208401611e3a565b600181811c9082168061225857607f821691505b60208210810361227857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107e8576107e861227e565b6000826122c857634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156107e8576107e861227e565b601f821115610b03576000816000526020600020601f850160051c810160208610156123095750805b601f850160051c820191505b8181101561232857828155600101612315565b505050505050565b815167ffffffffffffffff81111561234a5761234a611f20565b61235e816123588454612244565b846122e0565b602080601f831160018114612393576000841561237b5750858301515b600019600386901b1c1916600185901b178555612328565b600085815260208120601f198616915b828110156123c2578886015182559484019460019091019084016123a3565b50858210156123e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008151612402818560208601611dbe565b9290920192915050565b6000845161241e818460208901611dbe565b845190830190612432818360208901611dbe565b8451910190612445818360208801611dbe565b0195945050505050565b60008161245e5761245e61227e565b506000190190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061249990830184611de2565b9695505050505050565b6000602082840312156124b557600080fd5b8151610e8881611d8b565b600082516124d2818460208701611dbe565b602560f81b920191825250600101919050565b607b60f81b81527f226e616d65223a20225069637475726520626f6f6b20617574686f722050697560018201526269202360e81b602182015260008451612533816024850160208901611dbe565b61088b60f21b6024918401918201527f226465736372697074696f6e223a20225069637475726520626f6f6b206175746026820152691a1bdc88141a5d5a488b60b21b6046820152691134b6b0b3b2911d101160b11b605082015284516125a181605a840160208901611dbe565b6126626126556126486126396126336125fc6125e16125cf605a898b0101637069756960e01b815260040190565b650b9c1b99c88b60d21b815260060190565b6e2261747472696275746573223a205b60881b8152600f0190565b7f7b202274726169745f74797065223a2022436c61696d6564222c202276616c7581526432911d101160d91b602082015260250190565b896123f0565b6222207d60e81b815260030190565b605d60f81b815260010190565b607d60f81b815260010190565b979650505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008152600082516126a581601d850160208701611dbe565b91909101601d019291505056fe61c92169ef077349011ff0b1383c894d86c5f0b41d986366b58a6cf31e93beda4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220aaaf65dc94331f71c13d7f605e4c2c210ce7907ce8bcc437b1584d268905f1ee64736f6c6343000818003361c92169ef077349011ff0b1383c894d86c5f0b41d986366b58a6cf31e93beda000000000000000000000000578d0b3cf7cf0fda1908fde2ddcd51487be97fd79f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6