0 txs
128.2k calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
contractURI
purefunction contractURI() pure returns (string)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getMintEndTime
viewfunction getMintEndTime() view returns (uint256)
getMintStartTime
viewfunction getMintStartTime() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
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)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
royaltyInfo
viewfunction royaltyInfo(uint256 tokenId, uint256 salePrice) view returns (address receiver, uint256 royaltyAmount)
scriptURI
viewfunction scriptURI() view returns (string[])
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
version
purefunction version() pure returns (string)
approve
nonpayablefunction approve(address to, uint256 tokenId)
bulkMint
nonpayablefunction bulkMint(tuple[] data)
burn
nonpayablefunction burn(uint256 tokenId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _rr)
mint
nonpayablefunction mint(uint256 passId, bytes signature)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
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)
setBaseURI
nonpayablefunction setBaseURI(string newBaseTokenURI)
setMintEndTime
nonpayablefunction setMintEndTime(uint256 timestamp)
setMintStartTime
nonpayablefunction setMintStartTime(uint256 timestamp)
setRoyalty
nonpayablefunction setRoyalty(uint256 amount)
setRoyaltyContract
nonpayablefunction setRoyaltyContract(address newAddress)
setScriptURI
nonpayablefunction setScriptURI(string[] newScriptURI)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
MintEndUpdated
event MintEndUpdated(uint256 timestamp)
MintStartUpdated
event MintStartUpdated(uint256 timestamp)
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)
RoyaltyContractUpdated
event RoyaltyContractUpdated(address indexed newAddress)
RoyaltyUpdated
event RoyaltyUpdated(uint256 value)
ScriptUpdate
event ScriptUpdate(string[])
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Upgraded
event Upgraded(address indexed implementation)
errors
AtLeastOneAdminNeeded
error AtLeastOneAdminNeeded()
InvalidMintingSignature
error InvalidMintingSignature()
MintingEnded
error MintingEnded()
MintingNotStarted
error MintingNotStarted()
NotApprovedOrOwner
error NotApprovedOrOwner()
PassIdUsed
error PassIdUsed()
TokenNotExists
error TokenNotExists()
creation bytecode
0x60a06040523060805234801561001457600080fd5b50608051613d1461004c60003960008181610cbc01528181610cfc01528181610ef301528181610f330152610fc20152613d146000f3fe60806040526004361061025c5760003560e01c806355f804b311610144578063c87b56dd116100b6578063d5b3621b1161007a578063d5b3621b1461072b578063d9aa187c1461074b578063db7fd4081461076b578063e3d61eb31461078b578063e8a3d485146107ab578063e985e9c5146107c057600080fd5b8063c87b56dd14610693578063ca15c873146106b3578063d0f72a71146106d3578063d5391393146106e9578063d547741f1461070b57600080fd5b806391d148541161010857806391d14854146105e957806395d89b4114610609578063a217fddf1461061e578063a22cb46514610633578063b88d4fde14610653578063c4d66de81461067357600080fd5b806355f804b3146105545780636352211e1461057457806370a08231146105945780638da5cb5b146105b45780639010d07c146105c957600080fd5b80632f2ff15d116101dd57806342842e0e116101a157806342842e0e1461049757806342966c68146104b75780634bb30912146104d75780634f1ef286146104f957806352d1902d1461050c57806354fd4d501461052157600080fd5b80632f2ff15d146103f757806333d98fd91461041757806336568abe146104375780633659cfe6146104575780634209a2e11461047757600080fd5b806318160ddd1161022457806318160ddd1461033257806323b872dd14610352578063248a9ca3146103725780632a55205a146103a25780632b9fcb96146103e157600080fd5b806301ffc9a71461026157806306fdde0314610296578063081812fc146102b8578063095ea7b3146102f057806317f3749514610312575b600080fd5b34801561026d57600080fd5b5061028161027c366004613003565b61080a565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab610854565b60405161028d9190613070565b3480156102c457600080fd5b506102d86102d3366004613083565b6108e6565b6040516001600160a01b03909116815260200161028d565b3480156102fc57600080fd5b5061031061030b3660046130b8565b61090e565b005b34801561031e57600080fd5b5061031061032d366004613083565b610a28565b34801561033e57600080fd5b50610196545b60405190815260200161028d565b34801561035e57600080fd5b5061031061036d3660046130e2565b610a4d565b34801561037e57600080fd5b5061034461038d366004613083565b60009081526097602052604090206001015490565b3480156103ae57600080fd5b506103c26103bd36600461311e565b610a7f565b604080516001600160a01b03909316835260208301919091520161028d565b3480156103ed57600080fd5b5061019454610344565b34801561040357600080fd5b50610310610412366004613140565b610ae0565b34801561042357600080fd5b50610310610432366004613163565b610b05565b34801561044357600080fd5b50610310610452366004613140565b610c38565b34801561046357600080fd5b506103106104723660046131d7565b610cb2565b34801561048357600080fd5b50610310610492366004613083565b610d91565b3480156104a357600080fd5b506103106104b23660046130e2565b610db2565b3480156104c357600080fd5b506103106104d2366004613083565b610dcd565b3480156104e357600080fd5b506104ec610e10565b60405161028d91906131f2565b610310610507366004613311565b610ee9565b34801561051857600080fd5b50610344610fb5565b34801561052d57600080fd5b5060408051808201909152600a81526929b6b0b93a21b0ba2b1960b11b60208201526102ab565b34801561056057600080fd5b5061031061056f36600461339f565b611068565b34801561058057600080fd5b506102d861058f366004613083565b611094565b3480156105a057600080fd5b506103446105af3660046131d7565b6110f4565b3480156105c057600080fd5b506102d861117a565b3480156105d557600080fd5b506102d86105e436600461311e565b61118b565b3480156105f557600080fd5b50610281610604366004613140565b6111aa565b34801561061557600080fd5b506102ab6111d5565b34801561062a57600080fd5b50610344600081565b34801561063f57600080fd5b5061031061064e3660046133e0565b6111e4565b34801561065f57600080fd5b5061031061066e36600461341c565b6111ef565b34801561067f57600080fd5b5061031061068e3660046131d7565b611221565b34801561069f57600080fd5b506102ab6106ae366004613083565b6113bd565b3480156106bf57600080fd5b506103446106ce366004613083565b611476565b3480156106df57600080fd5b5061019554610344565b3480156106f557600080fd5b50610344600080516020613cbf83398151915281565b34801561071757600080fd5b50610310610726366004613140565b61148d565b34801561073757600080fd5b50610310610746366004613083565b6114e7565b34801561075757600080fd5b506103106107663660046131d7565b611508565b34801561077757600080fd5b50610310610786366004613483565b611529565b34801561079757600080fd5b506103106107a63660046134ce565b611606565b3480156107b757600080fd5b506102ab61165d565b3480156107cc57600080fd5b506102816107db3660046135a5565b6001600160a01b0391821660009081526101016020908152604080832093909416825291909152205460ff1690565b6000610815826116d3565b806108245750610824826116f8565b8061083f575063a86517a160e01b6001600160e01b03198316145b8061084e575061084e8261170e565b92915050565b606060fc8054610863906135cf565b80601f016020809104026020016040519081016040528092919081815260200182805461088f906135cf565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b60006108f18261174e565b50600090815261010060205260409020546001600160a01b031690565b600061091982611094565b9050806001600160a01b0316836001600160a01b03160361098b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806109a757506109a781336107db565b610a195760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610982565b610a23838361179e565b505050565b600080516020613cbf833981519152610a408161180d565b610a4982611817565b5050565b610a58335b82611850565b610a745760405162461bcd60e51b815260040161098290613603565b610a238383836118d0565b600080610a8b84611a35565b610aa757604051626f708760e21b815260040160405180910390fd5b610193546001600160a01b0316915061271083610ac360fb5490565b610acd9190613666565b610ad7919061367d565b90509250929050565b600082815260976020526040902060010154610afb8161180d565b610a238383611a52565b61019454421015610b29576040516369183ba160e11b815260040160405180910390fd5b600061019554118015610b3e57506101955442115b15610b5c57604051633d20ce7960e21b815260040160405180910390fd5b600080516020613cbf833981519152610b748161180d565b60005b82811015610c1f57610ba3848483818110610b9457610b9461369f565b90506040020160200135611a35565b15610bc1576040516314c57b3760e31b815260040160405180910390fd5b610c0d848483818110610bd657610bd661369f565b610bec92602060409092020190810191506131d7565b858584818110610bfe57610bfe61369f565b90506040020160200135611a74565b80610c17816136b5565b915050610b77565b5061019654610c2f9083906136ce565b61019655505050565b6001600160a01b0381163314610ca85760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610982565b610a498282611a8e565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610cfa5760405162461bcd60e51b8152600401610982906136e1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d43600080516020613c78833981519152546001600160a01b031690565b6001600160a01b031614610d695760405162461bcd60e51b81526004016109829061372d565b610d7281611ab0565b60408051600080825260208201909252610d8e91839190611abb565b50565b600080516020613cbf833981519152610da98161180d565b610a4982611c26565b610a23838383604051806020016040528060008152506111ef565b610dd633610a52565b610df35760405163390cdd9b60e21b815260040160405180910390fd5b600161019654610e039190613779565b61019655610d8e81611ca9565b60606000805480602002602001604051908101604052809291908181526020016000905b82821015610ee0578382906000526020600020018054610e53906135cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7f906135cf565b8015610ecc5780601f10610ea157610100808354040283529160200191610ecc565b820191906000526020600020905b815481529060010190602001808311610eaf57829003601f168201915b505050505081526020019060010190610e34565b50505050905090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f315760405162461bcd60e51b8152600401610982906136e1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f7a600080516020613c78833981519152546001600160a01b031690565b6001600160a01b031614610fa05760405162461bcd60e51b81526004016109829061372d565b610fa982611ab0565b610a4982826001611abb565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110555760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610982565b50600080516020613c7883398151915290565b600080516020613cbf8339815191526110808161180d565b61019261108e8385836137da565b50505050565b600081815260fe60205260408120546001600160a01b03168061084e5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610982565b60006001600160a01b03821661115e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610982565b506001600160a01b0316600090815260ff602052604090205490565b6000611186818061118b565b905090565b600082815260c9602052604081206111a39083611d3f565b9392505050565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060fd8054610863906135cf565b610a49338383611d4b565b6111f93383611850565b6112155760405162461bcd60e51b815260040161098290613603565b61108e84848484611e1a565b603254610100900460ff16158080156112415750603254600160ff909116105b8061125b5750303b15801561125b575060325460ff166001145b6112be5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610982565b6032805460ff1916600117905580156112e1576032805461ff0019166101001790555b61132d6040518060400160405280600f81526020016e14db585c9d10d85d0814995dd85c99608a1b8152506040518060400160405280600381526020016229a1a960e91b815250611e4d565b611335611e7e565b61133d611e7e565b611348600033611ea7565b611360600080516020613cbf83398151915233611ea7565b61136982611eb1565b6113746103e8611c26565b8015610a49576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606113c882611a35565b6113e457604051626f708760e21b815260040160405180910390fd5b60006113ee611f08565b80519091501561142a578061140284611f18565b60405160200161141392919061389a565b604051602081830303815290604052915050919050565b604051806060016040528060258152602001613c536025913961144c46611f18565b611454611faa565b61145d86611f18565b60405160200161141394939291906138d6565b50919050565b600081815260c96020526040812061084e90611fb7565b6000828152609760205260409020600101546114a88161180d565b821580156114bf57506114bb6000611476565b6001145b156114dd5760405163043375f160e51b815260040160405180910390fd5b610a238383611a8e565b600080516020613cbf8339815191526114ff8161180d565b610a4982611fc1565b600080516020613cbf8339815191526115208161180d565b610a4982611eb1565b6101945442101561154d576040516369183ba160e11b815260040160405180910390fd5b60006101955411801561156257506101955442115b1561158057604051633d20ce7960e21b815260040160405180910390fd5b61158983611a35565b156115a7576040516314c57b3760e31b815260040160405180910390fd5b6115c4600080516020613cbf833981519152610604858585611ffa565b6115e1576040516341e4762760e11b815260040160405180910390fd5b6115eb3384611a74565b61019680549060006115fc836136b5565b9190505550505050565b61160f81611ab0565b8051611622906000906020840190612f30565b507f9538911740e5519a40db77fb5f637de0d56cdd804318d81ae270cc24fbd8479e8160405161165291906131f2565b60405180910390a150565b6060604051806060016040528060258152602001613c53602591396040518060400160405280601a81526020017f636f6e74726163742f736d6172746361745f6e66742e6a736f6e0000000000008152506040516020016116bf929190613945565b604051602081830303815290604052905090565b60006001600160e01b03198216635a05180f60e01b148061084e575061084e826120ba565b6001600160e01b03191663152a902d60e11b1490565b60006001600160e01b031982166380ac58cd60e01b148061173f57506001600160e01b03198216635b5e139f60e01b145b8061084e575061084e826116f8565b61175781611a35565b610d8e5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610982565b60008181526101006020526040902080546001600160a01b0319166001600160a01b03841690811790915581906117d482611094565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610d8e81336120ef565b6040518181527f485f8fbebe3467888e99da9cacbdbe8e8ff5b688b83c04afe9d61340e70d0ae19060200160405180910390a161019555565b60008061185c83611094565b9050806001600160a01b0316846001600160a01b031614806118a457506001600160a01b038082166000908152610101602090815260408083209388168352929052205460ff165b806118c85750836001600160a01b03166118bd846108e6565b6001600160a01b0316145b949350505050565b826001600160a01b03166118e382611094565b6001600160a01b0316146119095760405162461bcd60e51b815260040161098290613974565b6001600160a01b03821661196b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610982565b826001600160a01b031661197e82611094565b6001600160a01b0316146119a45760405162461bcd60e51b815260040161098290613974565b60008181526101006020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260ff855283862080546000190190559087168086528386208054600101905586865260fe90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600090815260fe60205260409020546001600160a01b0316151590565b611a5c8282612148565b600082815260c960205260409020610a2390826121ce565b610a498282604051806020016040528060008152506121e3565b611a988282612216565b600082815260c960205260409020610a23908261227d565b6000610a498161180d565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611aee57610a2383612292565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b48575060408051601f3d908101601f19168201909252611b45918101906139b9565b60015b611bab5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610982565b600080516020613c788339815191528114611c1a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610982565b50610a2383838361232e565b612710811115611c715760405162461bcd60e51b8152602060048201526016602482015275526f79616c7479206d6f72652074686174203130302560501b6044820152606401610982565b6040518181527f244ea8d7627f5a08f4299862bd5a45752842c183aee5b0fb0d1e4887bfa605b39060200160405180910390a160fb55565b6000611cb482611094565b9050611cbf82611094565b60008381526101006020908152604080832080546001600160a01b03199081169091556001600160a01b03851680855260ff8452828520805460001901905587855260fe909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006111a38383612353565b816001600160a01b0316836001600160a01b031603611dac5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610982565b6001600160a01b0383811660008181526101016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611e258484846118d0565b611e318484848461237d565b61108e5760405162461bcd60e51b8152600401610982906139d2565b603254610100900460ff16611e745760405162461bcd60e51b815260040161098290613a24565b610a49828261247e565b603254610100900460ff16611ea55760405162461bcd60e51b815260040161098290613a24565b565b610a498282611a52565b6040516001600160a01b038216907f0b6f951a64dbce89dc77dd9afdc83f939b55287cdf239c09bd12d565ff4a20c790600090a261019380546001600160a01b0319166001600160a01b0392909216919091179055565b60606101928054610863906135cf565b60606000611f25836124be565b60010190506000816001600160401b03811115611f4457611f44613254565b6040519080825280601f01601f191660200182016040528015611f6e576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611f7857509392505050565b6060611186306014612596565b600061084e825490565b6040518181527f516a468928449c9ae8efea976ba0c7ea3173cbab8e3033adc9354d531777dba09060200160405180910390a161019455565b60006118c883838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516bffffffffffffffffffffffff1930606090811b8216602084015233901b166034820152604881018990526120b492506068019050604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b90612731565b60006001600160e01b03198216637965db0b60e01b148061084e57506301ffc9a760e01b6001600160e01b031983161461084e565b6120f982826111aa565b610a495761210681612755565b612111836020612767565b604051602001612122929190613a6f565b60408051601f198184030181529082905262461bcd60e51b825261098291600401613070565b61215282826111aa565b610a495760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561218a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006111a3836001600160a01b0384166128b3565b6121ed8383612902565b6121fa600084848461237d565b610a235760405162461bcd60e51b8152600401610982906139d2565b61222082826111aa565b15610a495760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006111a3836001600160a01b038416612a6f565b6001600160a01b0381163b6122ff5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610982565b600080516020613c7883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61233783612b62565b6000825111806123445750805b15610a235761108e8383612ba2565b600082600001828154811061236a5761236a61369f565b9060005260206000200154905092915050565b60006001600160a01b0384163b1561247357604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906123c1903390899088908890600401613ae4565b6020604051808303816000875af19250505080156123fc575060408051601f3d908101601f191682019092526123f991810190613b17565b60015b612459573d80801561242a576040519150601f19603f3d011682016040523d82523d6000602084013e61242f565b606091505b5080516000036124515760405162461bcd60e51b8152600401610982906139d2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118c8565b506001949350505050565b603254610100900460ff166124a55760405162461bcd60e51b815260040161098290613a24565b60fc6124b18382613b34565b5060fd610a238282613b34565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106124fd5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612529576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061254757662386f26fc10000830492506010015b6305f5e100831061255f576305f5e100830492506008015b612710831061257357612710830492506004015b60648310612585576064830492506002015b600a831061084e5760010192915050565b606060006125a5836002613666565b6125b09060026136ce565b6001600160401b038111156125c7576125c7613254565b6040519080825280601f01601f1916602001820160405280156125f1576020820181803683370190505b509050600360fc1b8160008151811061260c5761260c61369f565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061263b5761263b61369f565b60200101906001600160f81b031916908160001a905350600061265f846002613666565b61266a9060016136ce565b90505b60018111156126e2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061269e5761269e61369f565b1a60f81b8282815181106126b4576126b461369f565b60200101906001600160f81b031916908160001a90535060049490941c936126db81613bf3565b905061266d565b5083156111a35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610982565b60008060006127408585612bc7565b9150915061274d81612c0c565b509392505050565b606061084e6001600160a01b03831660145b60606000612776836002613666565b6127819060026136ce565b6001600160401b0381111561279857612798613254565b6040519080825280601f01601f1916602001820160405280156127c2576020820181803683370190505b509050600360fc1b816000815181106127dd576127dd61369f565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061280c5761280c61369f565b60200101906001600160f81b031916908160001a9053506000612830846002613666565b61283b9060016136ce565b90505b60018111156126e2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061286f5761286f61369f565b1a60f81b8282815181106128855761288561369f565b60200101906001600160f81b031916908160001a90535060049490941c936128ac81613bf3565b905061283e565b60008181526001830160205260408120546128fa5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561084e565b50600061084e565b6001600160a01b0382166129585760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610982565b61296181611a35565b156129ae5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610982565b6129b781611a35565b15612a045760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610982565b6001600160a01b038216600081815260ff602090815260408083208054600101905584835260fe90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526001830160205260408120548015612b58576000612a93600183613779565b8554909150600090612aa790600190613779565b9050818114612b0c576000866000018281548110612ac757612ac761369f565b9060005260206000200154905080876000018481548110612aea57612aea61369f565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612b1d57612b1d613c0a565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061084e565b600091505061084e565b612b6b81612292565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606111a38383604051806060016040528060278152602001613c9860279139612d56565b6000808251604103612bfd5760208301516040840151606085015160001a612bf187828585612dce565b94509450505050612c05565b506000905060025b9250929050565b6000816004811115612c2057612c20613c20565b03612c285750565b6001816004811115612c3c57612c3c613c20565b03612c895760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610982565b6002816004811115612c9d57612c9d613c20565b03612cea5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610982565b6003816004811115612cfe57612cfe613c20565b03610d8e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610982565b6060600080856001600160a01b031685604051612d739190613c36565b600060405180830381855af49150503d8060008114612dae576040519150601f19603f3d011682016040523d82523d6000602084013e612db3565b606091505b5091509150612dc486838387612e92565b9695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612e055750600090506003612e89565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612e59573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612e8257600060019250925050612e89565b9150600090505b94509492505050565b60608315612f01578251600003612efa576001600160a01b0385163b612efa5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610982565b50816118c8565b6118c88383815115612f165781518083602001fd5b8060405162461bcd60e51b81526004016109829190613070565b828054828255906000526020600020908101928215612f76579160200282015b82811115612f765782518290612f669082613b34565b5091602001919060010190612f50565b50612f82929150612f86565b5090565b80821115612f82576000612f9a8282612fa3565b50600101612f86565b508054612faf906135cf565b6000825580601f10612fbf575050565b601f016020900490600052602060002090810190610d8e91905b80821115612f825760008155600101612fd9565b6001600160e01b031981168114610d8e57600080fd5b60006020828403121561301557600080fd5b81356111a381612fed565b60005b8381101561303b578181015183820152602001613023565b50506000910152565b6000815180845261305c816020860160208601613020565b601f01601f19169290920160200192915050565b6020815260006111a36020830184613044565b60006020828403121561309557600080fd5b5035919050565b80356001600160a01b03811681146130b357600080fd5b919050565b600080604083850312156130cb57600080fd5b6130d48361309c565b946020939093013593505050565b6000806000606084860312156130f757600080fd5b6131008461309c565b925061310e6020850161309c565b9150604084013590509250925092565b6000806040838503121561313157600080fd5b50508035926020909101359150565b6000806040838503121561315357600080fd5b82359150610ad76020840161309c565b6000806020838503121561317657600080fd5b82356001600160401b038082111561318d57600080fd5b818501915085601f8301126131a157600080fd5b8135818111156131b057600080fd5b8660208260061b85010111156131c557600080fd5b60209290920196919550909350505050565b6000602082840312156131e957600080fd5b6111a38261309c565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561324757603f19888603018452613235858351613044565b94509285019290850190600101613219565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561329257613292613254565b604052919050565b60006001600160401b038311156132b3576132b3613254565b6132c6601f8401601f191660200161326a565b90508281528383830111156132da57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261330257600080fd5b6111a38383356020850161329a565b6000806040838503121561332457600080fd5b61332d8361309c565b915060208301356001600160401b0381111561334857600080fd5b613354858286016132f1565b9150509250929050565b60008083601f84011261337057600080fd5b5081356001600160401b0381111561338757600080fd5b602083019150836020828501011115612c0557600080fd5b600080602083850312156133b257600080fd5b82356001600160401b038111156133c857600080fd5b6133d48582860161335e565b90969095509350505050565b600080604083850312156133f357600080fd5b6133fc8361309c565b91506020830135801515811461341157600080fd5b809150509250929050565b6000806000806080858703121561343257600080fd5b61343b8561309c565b93506134496020860161309c565b92506040850135915060608501356001600160401b0381111561346b57600080fd5b613477878288016132f1565b91505092959194509250565b60008060006040848603121561349857600080fd5b8335925060208401356001600160401b038111156134b557600080fd5b6134c18682870161335e565b9497909650939450505050565b600060208083850312156134e157600080fd5b82356001600160401b03808211156134f857600080fd5b818501915085601f83011261350c57600080fd5b81358181111561351e5761351e613254565b8060051b61352d85820161326a565b918252838101850191858101908984111561354757600080fd5b86860192505b83831015613598578235858111156135655760008081fd5b8601603f81018b136135775760008081fd5b6135888b898301356040840161329a565b835250918601919086019061354d565b9998505050505050505050565b600080604083850312156135b857600080fd5b6135c18361309c565b9150610ad76020840161309c565b600181811c908216806135e357607f821691505b60208210810361147057634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761084e5761084e613650565b60008261369a57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600182016136c7576136c7613650565b5060010190565b8082018082111561084e5761084e613650565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8181038181111561084e5761084e613650565b601f821115610a2357600081815260208120601f850160051c810160208610156137b35750805b601f850160051c820191505b818110156137d2578281556001016137bf565b505050505050565b6001600160401b038311156137f1576137f1613254565b613805836137ff83546135cf565b8361378c565b6000601f84116001811461383957600085156138215750838201355b600019600387901b1c1916600186901b178355613893565b600083815260209020601f19861690835b8281101561386a578685013582556020948501946001909201910161384a565b50868210156138875760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600083516138ac818460208801613020565b602f60f81b90830190815283516138ca816001840160208801613020565b01600101949350505050565b600085516138e8818460208a01613020565b8551908301906138fc818360208a01613020565b602f60f81b9101818152855190919061391c816001850160208a01613020565b60019201918201528351613937816002840160208801613020565b016002019695505050505050565b60008351613957818460208801613020565b83519083019061396b818360208801613020565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6000602082840312156139cb57600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613aa7816017850160208801613020565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613ad8816028840160208801613020565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612dc490830184613044565b600060208284031215613b2957600080fd5b81516111a381612fed565b81516001600160401b03811115613b4d57613b4d613254565b613b6181613b5b84546135cf565b8461378c565b602080601f831160018114613b965760008415613b7e5750858301515b600019600386901b1c1916600185901b1785556137d2565b600085815260208120601f198616915b82811015613bc557888601518255948401946001909101908401613ba6565b5085821015613be35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600081613c0257613c02613650565b506000190190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008251613c48818460208701613020565b919091019291505056fe68747470733a2f2f7265736f75726365732e736d617274746f6b656e6c6162732e636f6d2f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212201df9fb34ac2fa8d1919c9cf6eb2ec9a4ec34eb9a79c94465c331eacdbfea8e1b64736f6c63430008130033