0 txs
0 calls
constructor
constructor()
functions
accountUsedInSeason1
viewfunction accountUsedInSeason1(address) view returns (bool)
allowListMerkleRoot
viewfunction allowListMerkleRoot() view returns (bytes32)
boxes
viewfunction boxes(uint256) view returns (address boxContract, uint256 price, uint256 maxCount, uint256 purchased, uint256 accountLimit)
checkAllowList
viewfunction checkAllowList() view returns (bool)
claimEnabled
viewfunction claimEnabled() view returns (bool)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DELEGATE_CASH_CONTRACT
viewfunction DELEGATE_CASH_CONTRACT() view returns (address)
DEPLOYER_ROLE
viewfunction DEPLOYER_ROLE() view returns (bytes32)
encryptor
viewfunction encryptor() view returns (address)
getPromoteTokenUsedInClaim
viewfunction getPromoteTokenUsedInClaim(uint256[] tokenIds) view returns (bool[])
getPurchasedBoxCount
viewfunction getPurchasedBoxCount(uint256[] boxTypes) view returns (tuple[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isAllowed
viewfunction isAllowed(address account, bytes32[] merkleProof) view returns (bool)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
paymentReceiver
viewfunction paymentReceiver() view returns (address)
paymentToken
viewfunction paymentToken() view returns (address)
promoteToken
viewfunction promoteToken() view returns (address)
promoteTokenUsedInClaim
viewfunction promoteTokenUsedInClaim(uint256) view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
purchaseLimited
viewfunction purchaseLimited() view returns (bool)
RESERVE_MINTER_ROLE
viewfunction RESERVE_MINTER_ROLE() view returns (bytes32)
shopEnabled
viewfunction shopEnabled() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
WARM_WALLET_CONTRACT
viewfunction WARM_WALLET_CONTRACT() view returns (address)
buyBox
nonpayablefunction buyBox(bytes32[] merkleProof, bytes signature, uint256 blockNumberLimit, uint256[] boxCountList, bool promoted)
claimBox
nonpayablefunction claimBox(uint256[] tokenIds)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address adminAddress, address operatorAddress, address promoteTokenAddress, address reservedBoxMinterAddress, address _encryptor, address _paymentReceiver, address _paymentToken, address _warmWalletContract, address _delegateCashContract)
mintReservedBox
nonpayablefunction mintReservedBox(address to, uint256 majesticBoxCount, uint256 boosterBasicBoxCount, uint256 boosterPremiumBoxCount, uint256 boosterOmegaBoxCount, uint256 foundersBoxCount)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAllowList
nonpayablefunction setAllowList(bool use, bytes32 merkleRoot)
setBox
nonpayablefunction setBox(uint256[] boxTypeList, uint256[] maxCountList, uint256[] accountLimitList, uint256[] priceList, address majesticBoxContract, address boosterBoxContract, address foundersBoxContract)
setPurchaseLimit
nonpayablefunction setPurchaseLimit(bool value)
setShopEnabled
nonpayablefunction setShopEnabled(bool shop, bool claim)
updateEncryptor
nonpayablefunction updateEncryptor(address _encryptor)
updatePaymentToken
nonpayablefunction updatePaymentToken(address _paymentReceiver, address _paymentToken)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
BoxMinted
event BoxMinted(address indexed owner, address boxContract, uint256 start, uint256 end, uint256 boxType, bool promoted, bool reserved)
Initialized
event Initialized(uint8 version)
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)
Upgraded
event Upgraded(address indexed implementation)
errors
ZeroAddressCheck
error ZeroAddressCheck()
creation bytecode
0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b6200203e1760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b6080516142836200018860003960008181610d5f01528181610d9f015281816113b1015281816113f1015261148001526142836000f3fe60806040526004361061023b5760003560e01c8063670164151161012e578063c5d7bd67116100ab578063e454fa7d1161006f578063e454fa7d14610786578063ec0a2af8146107a6578063ecd00261146107c6578063f5b541a6146107fa578063f5e95acb1461081c57600080fd5b8063c5d7bd67146106bd578063cb37f3b2146106ee578063d07ce7b61461070f578063d547741f14610746578063d5b1e9c81461076657600080fd5b80639bb906e0116100f25780639bb906e014610610578063a217fddf14610627578063a40cfcff1461063c578063a7ca8c7d1461065c578063b25e86221461069057600080fd5b8063670164151461056157806368404efc146105815780636b1c802f146105a35780638f4b3c02146105d057806391d14854146105f057600080fd5b80633659cfe6116101bc5780634f1ef286116101805780634f1ef286146104d857806352d1902d146104eb57806358c58681146105005780635c764c0414610520578063626e61bc1461054057600080fd5b80633659cfe6146103d557806339be1683146103f557806342e2d4e31461041557806348531614146104365780634ed3faf21461045157600080fd5b80632866ed21116102035780632866ed211461032e5780632cd5859e1461034e5780632f2ff15d146103745780633013ce291461039457806336568abe146103b557600080fd5b806301ffc9a71461024057806306d5bba7146102755780630f1a1dbe14610297578063211339b9146102b7578063248a9ca3146102f0575b600080fd5b34801561024c57600080fd5b5061026061025b366004613655565b61083c565b60405190151581526020015b60405180910390f35b34801561028157600080fd5b5061029561029036600461369d565b610873565b005b3480156102a357600080fd5b506102956102b236600461371d565b6108d7565b3480156102c357600080fd5b5061012e546102d8906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b3480156102fc57600080fd5b5061032061030b3660046137c3565b60009081526066602052604090206001015490565b60405190815260200161026c565b34801561033a57600080fd5b506101365461026090610100900460ff1681565b34801561035a57600080fd5b506000546102d8906201000090046001600160a01b031681565b34801561038057600080fd5b5061029561038f3660046137fc565b610cad565b3480156103a057600080fd5b50610131546102d8906001600160a01b031681565b3480156103c157600080fd5b506102956103d03660046137fc565b610cd7565b3480156103e157600080fd5b506102956103f0366004613821565b610d55565b34801561040157600080fd5b50610295610410366004613883565b610e31565b34801561042157600080fd5b50610130546102d8906001600160a01b031681565b34801561044257600080fd5b50610136546102609060ff1681565b34801561045d57600080fd5b506104a661046c3660046137c3565b61013360205260009081526040902080546001820154600283015460038401546004909401546001600160a01b0390931693919290919085565b604080516001600160a01b0390961686526020860194909452928401919091526060830152608082015260a00161026c565b6102956104e6366004613965565b6113a7565b3480156104f757600080fd5b50610320611473565b34801561050c57600080fd5b5061029561051b366004613a0d565b611526565b34801561052c57600080fd5b5061029561053b366004613821565b61157b565b34801561054c57600080fd5b50610136546102609062010000900460ff1681565b34801561056d57600080fd5b5061029561057c366004613a2a565b61162a565b34801561058d57600080fd5b5061013654610260906301000000900460ff1681565b3480156105af57600080fd5b506105c36105be366004613a76565b6116b8565b60405161026c9190613ab8565b3480156105dc57600080fd5b506102606105eb366004613b11565b611803565b3480156105fc57600080fd5b5061026061060b3660046137fc565b611856565b34801561061c57600080fd5b506103206101325481565b34801561063357600080fd5b50610320600081565b34801561064857600080fd5b50610295610657366004613b66565b611881565b34801561066857600080fd5b506103207f82ce2ced7fc86cde9b16f1f3a5508a82078c42c54a7cf0af011ce529199a18bb81565b34801561069c57600080fd5b506106b06106ab366004613a76565b6118d9565b60405161026c9190613b92565b3480156106c957600080fd5b506102606106d8366004613821565b6101356020526000908152604090205460ff1681565b3480156106fa57600080fd5b5061012f546102d8906001600160a01b031681565b34801561071b57600080fd5b506102d861072a3660046137c3565b610134602052600090815260409020546001600160a01b031681565b34801561075257600080fd5b506102956107613660046137fc565b6119cd565b34801561077257600080fd5b50610295610781366004613bd8565b6119f2565b34801561079257600080fd5b506001546102d8906001600160a01b031681565b3480156107b257600080fd5b506102956107c1366004613c06565b611afc565b3480156107d257600080fd5b506103207ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c81565b34801561080657600080fd5b506103206000805160206141e783398151915281565b34801561082857600080fd5b50610295610837366004613cfd565b611e41565b60006001600160e01b03198216637965db0b60e01b148061086d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000805160206141e783398151915261088c8133611856565b6108b15760405162461bcd60e51b81526004016108a890613db9565b60405180910390fd5b50610136805461ffff191692151561ff0019169290921761010091151591909102179055565b6108df61204d565b61013654610100900460ff166109375760405162461bcd60e51b815260206004820152601d60248201527f436c61696d426f7820686173206e6f74206265656e20656e61626c656400000060448201526064016108a8565b600081511161097f5760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a59081d1bdad95b9259081b1a5cdd60621b60448201526064016108a8565b6000815167ffffffffffffffff81111561099b5761099b6136d6565b6040519080825280602002602001820160405280156109c4578160200160208202803683370190505b5082519091506000805b8215610c9c576000805b84811015610c7b5761012e5487516000918291610a18916001600160a01b0316908b9086908110610a0b57610a0b613df0565b60200260200101516120a6565b9150915081610a7d5760405162461bcd60e51b815260206004820152602b60248201527f4163636f756e7420646f65736e2774206861766520616c6c2070726f6d6f746560448201526a20746f6b656e204e46547360a81b60648201526084016108a8565b6001600160a01b038616610a8f578095505b806001600160a01b0316866001600160a01b031603610c21576001600160a01b038116610b0d5760405162461bcd60e51b815260206004820152602660248201527f546f6b656e206f776e65722073686f756c64206e6f74206265207a65726f206160448201526564647265737360d01b60648201526084016108a8565b60006001600160a01b031661013460008b8681518110610b2f57610b2f613df0565b6020908102919091018101518252810191909152604001600020546001600160a01b031614610bbc5760405162461bcd60e51b815260206004820152603360248201527f4f6e65206f662070726f6d6f746520746f6b656e20746f6b656e4964732068616044820152721cc8185b1c9958591e481899595b881d5cd959606a1b60648201526084016108a8565b8061013460008b8681518110610bd457610bd4613df0565b6020026020010151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380610c1990613e1c565b945050610c66565b888381518110610c3357610c33613df0565b6020026020010151888681518110610c4d57610c4d613df0565b602090810291909101015284610c6281613e1c565b9550505b50508080610c7390613e1c565b9150506109d8565b50610c8a83826001600061227b565b509293508392915060009050806109ce565b50505050610caa600160fc55565b50565b600082815260666020526040902060010154610cc8816123ac565b610cd283836123b6565b505050565b6001600160a01b0381163314610d475760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108a8565b610d51828261243c565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d9d5760405162461bcd60e51b81526004016108a890613e35565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610de66000805160206141c7833981519152546001600160a01b031690565b6001600160a01b031614610e0c5760405162461bcd60e51b81526004016108a890613e81565b610e15816124a3565b60408051600080825260208201909252610caa918391906124ea565b610e3961204d565b83431115610e895760405162461bcd60e51b815260206004820152601760248201527f5472616e73616374696f6e20686173206578706972656400000000000000000060448201526064016108a8565b60048214610ed25760405162461bcd60e51b8152602060048201526016602482015275125b9d985b1a5908189bde0818dbdd5b9d081b1a5cdd60521b60448201526064016108a8565b600183836003818110610ee757610ee7613df0565b9050602002013584846002818110610f0157610f01613df0565b9050602002013585856001818110610f1b57610f1b613df0565b9050602002013586866000818110610f3557610f35613df0565b90506020020135610f469190613ecd565b610f509190613ecd565b610f5a9190613ecd565b1015610fb95760405162461bcd60e51b815260206004820152602860248201527f546f74616c20626f7820636f756e742073686f756c642062652067726561746560448201526772207468616e203160c01b60648201526084016108a8565b6101365460ff1661100c5760405162461bcd60e51b815260206004820152601b60248201527f427579426f7820686173206e6f74206265656e20656e61626c6564000000000060448201526064016108a8565b61101a868686868686612655565b61105a5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b60448201526064016108a8565b610136546301000000900460ff16156110e457336000908152610135602052604090205460ff16156110e45760405162461bcd60e51b815260206004820152602d60248201527f4163636f756e742068617320616c72656164792070617274696369706174656460448201526c20696e20746869732073616c6560981b60648201526084016108a8565b6101365462010000900460ff161561115957611101338989611803565b6111595760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206164647265737320686173206e6f74206265656e20616c6c6f6044820152621dd95960ea1b60648201526084016108a8565b60006111a46040518060400160405280600c81526020016b09ac2d4cae6e8d2c64084def60a31b81525060018686600081811061119857611198613df0565b90506020020135612723565b905060006111ea60405180604001604052806011815260200170084dedee6e8cae4408482a692864084def607b1b81525060168787600181811061119857611198613df0565b9050600061123260405180604001604052806013815260200172084dedee6e8cae440a0a48a9a92aa9a4084def606b1b81525060158888600281811061119857611198613df0565b9050600061127860405180604001604052806011815260200170084dedee6e8cae4409e9a8a8e824084def607b1b81525060148989600381811061119857611198613df0565b9050600081836112888688613ecd565b6112929190613ecd565b61129c9190613ecd565b116112e95760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e7420616d6f756e74206f6620626f7865730000000060448201526064016108a8565b61013154611357906001600160a01b03163361012f546001600160a01b03166113136014866127eb565b61131e6015886127eb565b61132960168a6127eb565b61133460018c6127eb565b61133e9190613ecd565b6113489190613ecd565b6113529190613ecd565b61281a565b33600081815261013560205260408120805460ff19166001179055611380919086908890612874565b61138f338484848960006129d3565b5050505061139d600160fc55565b5050505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036113ef5760405162461bcd60e51b81526004016108a890613e35565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114386000805160206141c7833981519152546001600160a01b031690565b6001600160a01b03161461145e5760405162461bcd60e51b81526004016108a890613e81565b611467826124a3565b610d51828260016124ea565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115135760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a8565b506000805160206141c783398151915290565b6000805160206141e783398151915261153f8133611856565b61155b5760405162461bcd60e51b81526004016108a890613db9565b50610136805491151563010000000263ff00000019909216919091179055565b6000805160206141e78339815191526115948133611856565b6115b05760405162461bcd60e51b81526004016108a890613db9565b6001600160a01b0382166116065760405162461bcd60e51b815260206004820152601b60248201527f5a65726f20616464726573732063616e6e6f742062652075736564000000000060448201526064016108a8565b5061013080546001600160a01b0319166001600160a01b0392909216919091179055565b7f82ce2ced7fc86cde9b16f1f3a5508a82078c42c54a7cf0af011ce529199a18bb6116558133611856565b6116715760405162461bcd60e51b81526004016108a890613db9565b61167961204d565b611687878760006001612874565b61169787868686600060016129d3565b6116a587836000600161227b565b6116af600160fc55565b50505050505050565b606060008267ffffffffffffffff8111156116d5576116d56136d6565b60405190808252806020026020018201604052801561172a57816020015b61171760405180606001604052806000815260200160008152602001600081525090565b8152602001906001900390816116f35790505b50905060005b838110156117fb57600085858381811061174c5761174c613df0565b90506020020135905061013360008281526020019081526020016000206003015483838151811061177f5761177f613df0565b602002602001015160400181815250506101336000828152602001908152602001600020600201548383815181106117b9576117b9613df0565b60200260200101516020018181525050808383815181106117dc576117dc613df0565b60209081029190910101515250806117f381613e1c565b915050611730565b509392505050565b610132546040516bffffffffffffffffffffffff19606086901b16602082015260009161184c918591859160340160405160208183030381529060405280519060200120612dc4565b90505b9392505050565b60009182526066602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000805160206141e783398151915261189a8133611856565b6118b65760405162461bcd60e51b81526004016108a890613db9565b506101368054921515620100000262ff0000199093169290921790915561013255565b606060008267ffffffffffffffff8111156118f6576118f66136d6565b60405190808252806020026020018201604052801561191f578160200160208202803683370190505b50905060005b838110156117fb5760006101348187878581811061194557611945613df0565b60209081029290920135835250810191909152604001600020546001600160a01b03161461199657600182828151811061198157611981613df0565b911515602092830291909101909101526119bb565b60008282815181106119aa576119aa613df0565b911515602092830291909101909101525b806119c581613e1c565b915050611925565b6000828152606660205260409020600101546119e8816123ac565b610cd2838361243c565b6000805160206141e7833981519152611a0b8133611856565b611a275760405162461bcd60e51b81526004016108a890613db9565b6001600160a01b038316611a7d5760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207061796d656e74207265636569766572000000000000000060448201526064016108a8565b6001600160a01b038216611acb5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103830bcb6b2b73a103a37b5b2b760591b60448201526064016108a8565b5061012f80546001600160a01b039384166001600160a01b0319918216179091556101318054929093169116179055565b6000805160206141e7833981519152611b158133611856565b611b315760405162461bcd60e51b81526004016108a890613db9565b8a8914611b805760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206172726179206c656e677468206174206d6178436f756e7460448201526064016108a8565b8a8714611bdb5760405162461bcd60e51b8152602060048201526024808201527f496e76616c6964206172726179206c656e677468206174206163636f756e744c6044820152631a5b5a5d60e21b60648201526084016108a8565b8a8514611c2a5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206172726179206c656e67746820617420707269636500000060448201526064016108a8565b60005b8b811015611e325760018d8d83818110611c4957611c49613df0565b9050602002013503611cae578461013360008f8f85818110611c6d57611c6d613df0565b90506020020135815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550611d3b565b601e8d8d83818110611cc257611cc2613df0565b9050602002013503611ce6578261013360008f8f85818110611c6d57611c6d613df0565b8361013360008f8f85818110611cfe57611cfe613df0565b90506020020135815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b868682818110611d4d57611d4d613df0565b9050602002013561013360008f8f85818110611d6b57611d6b613df0565b905060200201358152602001908152602001600020600101819055508a8a82818110611d9957611d99613df0565b9050602002013561013360008f8f85818110611db757611db7613df0565b90506020020135815260200190815260200160002060020181905550888882818110611de557611de5613df0565b9050602002013561013360008f8f85818110611e0357611e03613df0565b905060200201358152602001908152602001600020600401819055508080611e2a90613e1c565b915050611c2d565b50505050505050505050505050565b600054610100900460ff1615808015611e615750600054600160ff909116105b80611e7b5750303b158015611e7b575060005460ff166001145b611ede5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108a8565b6000805460ff191660011790558015611f01576000805461ff0019166101001790555b61012f80546001600160a01b03199081166001600160a01b03888116919091179092556101318054821687841617905561012e805482168b84161790556101308054909116918816919091179055610136805463ffffffff19166301010001179055611f6b612dde565b611f758383612e0f565b611f8060008b612eab565b611f986000805160206141e78339815191528a612eab565b611fc27f82ce2ced7fc86cde9b16f1f3a5508a82078c42c54a7cf0af011ce529199a18bb88612eab565b611fec7ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c33612eab565b8015612032576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b03163b151590565b600260fc540361209f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108a8565b600260fc55565b6000806000846001600160a01b0316636352211e856040518263ffffffff1660e01b81526004016120d991815260200190565b602060405180830381865afa1580156120f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211a9190613ee0565b90506001600160a01b038116612143576040516399676b1160e01b815260040160405180910390fd5b336001600160a01b03821614806121e657506000546040516307ca74b760e21b81526001600160a01b038781166004830152602482018790526201000090920490911690631f29d2dc90604401602060405180830381865afa1580156121ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d19190613ee0565b6001600160a01b0316336001600160a01b0316145b8061226f5750600154604051631574d39f60e31b81523360048201526001600160a01b0383811660248301528781166044830152606482018790529091169063aba69cf890608401602060405180830381865afa15801561224b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226f9190613efd565b925090505b9250929050565b821561239f57601e60009081526101336020527ff1a3db9a79cd016adee65e5daf8b6502a23f170e3010ebc22bd2da4749a5c17a546040516334686fad60e21b81526001600160a01b0387811660048301526024820187905284151560448301528392169063d1a1beb49060640160408051808303816000875af1158015612307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232b9190613f1a565b601e60008190526101336020527ff1a3db9a79cd016adee65e5daf8b6502a23f170e3010ebc22bd2da4749a5c17a546040519395509193506001600160a01b03808a169360008051602061422e833981519152936123949392169187918791908b908b90613f3e565b60405180910390a250505b50505050565b600160fc55565b610caa8133612eb5565b6123c08282611856565b610d515760008281526066602090815260408083206001600160a01b03851684529091529020805460ff191660011790556123f83390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6124468282611856565b15610d515760008281526066602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c6124ce8133611856565b610d515760405162461bcd60e51b81526004016108a890613db9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561251d57610cd283612f0e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612577575060408051601f3d908101601f1916820190925261257491810190613f75565b60015b6125da5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108a8565b6000805160206141c783398151915281146126495760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108a8565b50610cd2838383612faa565b6000803386868686604051602001612671959493929190613f8e565b6040516020818303038152906040528051906020012090506000806126cc838b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fcf92505050565b909250905060008160048111156126e5576126e5613fe5565b1480156127005750610130546001600160a01b038381169116145b156127115760019350505050612719565b600093505050505b9695505050505050565b60008082116127345750600061184f565b61013360008481526020019081526020016000206004015482111584604051602001612760919061401f565b6040516020818303038152906040529061278d5760405162461bcd60e51b81526004016108a89190614076565b5060008381526101336020526040902060028101546003909101546127b3908490613ecd565b11156127e45760008381526101336020526040902060038101546002909101546127dd91906140a9565b905061184f565b5092915050565b60008082116127fc5750600061086d565b6000838152610133602052604090206001015461184f9083906140bc565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261239f908590613011565b821561239f57600160009081526101336020527f2268e5b55252839d7cb4baadda5cc1ac7a7ffea49b6689cd90f3df5e995ceb2e546040516334686fad60e21b81526001600160a01b0387811660048301526024820187905284151560448301528392169063d1a1beb49060640160408051808303816000875af1158015612900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129249190613f1a565b915091508261297157600160009081526101336020527f2268e5b55252839d7cb4baadda5cc1ac7a7ffea49b6689cd90f3df5e995ceb31805487929061296b908490613ecd565b90915550505b600160008190526101336020527f2268e5b55252839d7cb4baadda5cc1ac7a7ffea49b6689cd90f3df5e995ceb2e54604051339260008051602061422e83398151915292612394926001600160a01b039091169187918791908b908b90613f3e565b6000836129e08688613ecd565b6129ea9190613ecd565b905080156116af57601660009081526101336020527febc5e1065ce2d539f3667d3595ce6115645954aba42189f9cf04d60352567151546040516334686fad60e21b81526001600160a01b038a811660048301526024820185905285151560448301528392169063d1a1beb49060640160408051808303816000875af1158015612a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a9c9190613f1a565b909250905082612aac83836140a9565b612ab7906001613ecd565b14612b145760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420616d6f756e74206f6620426f6f7374657220626f78206973604482015266081b5a5b9d195960ca1b60648201526084016108a8565b8715612be15783612b6357601660009081526101336020527febc5e1065ce2d539f3667d3595ce6115645954aba42189f9cf04d6035256715480548a9290612b5d908490613ecd565b90915550505b60166000526101336020527febc5e1065ce2d539f3667d3595ce6115645954aba42189f9cf04d6035256715154339060008051602061422e833981519152906001600160a01b0316846001612bb88d83613ecd565b612bc291906140a9565b60168a8a604051612bd896959493929190613f3e565b60405180910390a25b8615612cc25783612c3057601560009081526101336020527f32997d22972e1417579e071d4f690ed7c347e7a4ddebd3ed7156211d3b1d3a768054899290612c2a908490613ecd565b90915550505b60156000526101336020527f32997d22972e1417579e071d4f690ed7c347e7a4ddebd3ed7156211d3b1d3a7354339060008051602061422e833981519152906001600160a01b0316612c828b86613ecd565b60018b612c8f8e89613ecd565b612c999190613ecd565b612ca391906140a9565b60158a8a604051612cb996959493929190613f3e565b60405180910390a25b8515612db95783612d1157601460009081526101336020527f3c57a83313455c0fc7a6a0ed3ebb6d6ab30a1c70f74c388f9d4951c6db3518738054889290612d0b908490613ecd565b90915550505b60146000526101336020527f3c57a83313455c0fc7a6a0ed3ebb6d6ab30a1c70f74c388f9d4951c6db35187054339060008051602061422e833981519152906001600160a01b031689612d648c87613ecd565b612d6e9190613ecd565b60018a8c612d7c8f8a613ecd565b612d869190613ecd565b612d909190613ecd565b612d9a91906140a9565b60148a8a604051612db096959493929190613f3e565b60405180910390a25b505050505050505050565b600082612dd28686856130e6565b1490505b949350505050565b600054610100900460ff16612e055760405162461bcd60e51b81526004016108a8906140d3565b612e0d613132565b565b600054610100900460ff16612e365760405162461bcd60e51b81526004016108a8906140d3565b6001600160a01b0382161580612e5357506001600160a01b038116155b15612e71576040516399676b1160e01b815260040160405180910390fd5b6000805462010000600160b01b031916620100006001600160a01b0394851602179055600180546001600160a01b03191691909216179055565b610d5182826123b6565b612ebf8282611856565b610d5157612ecc81613159565b612ed783602061316b565b604051602001612ee892919061411e565b60408051601f198184030181529082905262461bcd60e51b82526108a891600401614076565b6001600160a01b0381163b612f7b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108a8565b6000805160206141c783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612fb383613307565b600082511180612fc05750805b15610cd25761239f8383613347565b60008082516041036130055760208301516040840151606085015160001a612ff98782858561336c565b94509450505050612274565b50600090506002612274565b6000613066826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166134309092919063ffffffff16565b90508051600014806130875750808060200190518101906130879190613efd565b610cd25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108a8565b600081815b84811015613129576131158287878481811061310957613109613df0565b9050602002013561343f565b91508061312181613e1c565b9150506130eb565b50949350505050565b600054610100900460ff166123a55760405162461bcd60e51b81526004016108a8906140d3565b606061086d6001600160a01b03831660145b6060600061317a8360026140bc565b613185906002613ecd565b67ffffffffffffffff81111561319d5761319d6136d6565b6040519080825280601f01601f1916602001820160405280156131c7576020820181803683370190505b509050600360fc1b816000815181106131e2576131e2613df0565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061321157613211613df0565b60200101906001600160f81b031916908160001a90535060006132358460026140bc565b613240906001613ecd565b90505b60018111156132b8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061327457613274613df0565b1a60f81b82828151811061328a5761328a613df0565b60200101906001600160f81b031916908160001a90535060049490941c936132b181614193565b9050613243565b50831561184f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108a8565b61331081612f0e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061184f83836040518060600160405280602781526020016142076027913961346e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133a35750600090506003613427565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133f7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661342057600060019250925050613427565b9150600090505b94509492505050565b606061184c84846000856134dc565b600081831061345b57600082815260208490526040902061184f565b600083815260208390526040902061184f565b6060600080856001600160a01b03168560405161348b91906141aa565b600060405180830381855af49150503d80600081146134c6576040519150601f19603f3d011682016040523d82523d6000602084013e6134cb565b606091505b5091509150612719868383876135b7565b60608247101561353d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108a8565b600080866001600160a01b0316858760405161355991906141aa565b60006040518083038185875af1925050503d8060008114613596576040519150601f19603f3d011682016040523d82523d6000602084013e61359b565b606091505b50915091506135ac878383876135b7565b979650505050505050565b6060831561362657825160000361361f576001600160a01b0385163b61361f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108a8565b5081612dd6565b612dd6838381511561363b5781518083602001fd5b8060405162461bcd60e51b81526004016108a89190614076565b60006020828403121561366757600080fd5b81356001600160e01b03198116811461184f57600080fd5b8015158114610caa57600080fd5b80356136988161367f565b919050565b600080604083850312156136b057600080fd5b82356136bb8161367f565b915060208301356136cb8161367f565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613715576137156136d6565b604052919050565b6000602080838503121561373057600080fd5b823567ffffffffffffffff8082111561374857600080fd5b818501915085601f83011261375c57600080fd5b81358181111561376e5761376e6136d6565b8060051b915061377f8483016136ec565b818152918301840191848101908884111561379957600080fd5b938501935b838510156137b75784358252938501939085019061379e565b98975050505050505050565b6000602082840312156137d557600080fd5b5035919050565b6001600160a01b0381168114610caa57600080fd5b8035613698816137dc565b6000806040838503121561380f57600080fd5b8235915060208301356136cb816137dc565b60006020828403121561383357600080fd5b813561184f816137dc565b60008083601f84011261385057600080fd5b50813567ffffffffffffffff81111561386857600080fd5b6020830191508360208260051b850101111561227457600080fd5b60008060008060008060008060a0898b03121561389f57600080fd5b883567ffffffffffffffff808211156138b757600080fd5b6138c38c838d0161383e565b909a50985060208b01359150808211156138dc57600080fd5b818b0191508b601f8301126138f057600080fd5b8135818111156138ff57600080fd5b8c602082850101111561391157600080fd5b6020830198508097505060408b0135955060608b013591508082111561393657600080fd5b506139438b828c0161383e565b9094509250613956905060808a0161368d565b90509295985092959890939650565b6000806040838503121561397857600080fd5b8235613983816137dc565b915060208381013567ffffffffffffffff808211156139a157600080fd5b818601915086601f8301126139b557600080fd5b8135818111156139c7576139c76136d6565b6139d9601f8201601f191685016136ec565b915080825287848285010111156139ef57600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215613a1f57600080fd5b813561184f8161367f565b60008060008060008060c08789031215613a4357600080fd5b8635613a4e816137dc565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b60008060208385031215613a8957600080fd5b823567ffffffffffffffff811115613aa057600080fd5b613aac8582860161383e565b90969095509350505050565b602080825282518282018190526000919060409081850190868401855b82811015613b045781518051855286810151878601528501518585015260609093019290850190600101613ad5565b5091979650505050505050565b600080600060408486031215613b2657600080fd5b8335613b31816137dc565b9250602084013567ffffffffffffffff811115613b4d57600080fd5b613b598682870161383e565b9497909650939450505050565b60008060408385031215613b7957600080fd5b8235613b848161367f565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b81811015613bcc578351151583529284019291840191600101613bae565b50909695505050505050565b60008060408385031215613beb57600080fd5b8235613bf6816137dc565b915060208301356136cb816137dc565b600080600080600080600080600080600060e08c8e031215613c2757600080fd5b67ffffffffffffffff808d351115613c3e57600080fd5b613c4b8e8e358f0161383e565b909c509a5060208d0135811015613c6157600080fd5b613c718e60208f01358f0161383e565b909a50985060408d0135811015613c8757600080fd5b613c978e60408f01358f0161383e565b909850965060608d0135811015613cad57600080fd5b50613cbe8d60608e01358e0161383e565b9095509350613ccf60808d016137f1565b9250613cdd60a08d016137f1565b9150613ceb60c08d016137f1565b90509295989b509295989b9093969950565b60008060008060008060008060006101208a8c031215613d1c57600080fd5b8935613d27816137dc565b985060208a0135613d37816137dc565b975060408a0135613d47816137dc565b965060608a0135613d57816137dc565b955060808a0135613d67816137dc565b945060a08a0135613d77816137dc565b935060c08a0135613d87816137dc565b925060e08a0135613d97816137dc565b91506101008a0135613da8816137dc565b809150509295985092959850929598565b6020808252601f908201527f43616c6c657220646f6573206e6f742068617665207065726d697373696f6e00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613e2e57613e2e613e06565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8082018082111561086d5761086d613e06565b600060208284031215613ef257600080fd5b815161184f816137dc565b600060208284031215613f0f57600080fd5b815161184f8161367f565b60008060408385031215613f2d57600080fd5b505080516020909101519092909150565b6001600160a01b0396909616865260208601949094526040850192909252606084015215156080830152151560a082015260c00190565b600060208284031215613f8757600080fd5b5051919050565b6001600160a01b038616815260208101859052608060408201819052810183905260006001600160fb1b03841115613fc557600080fd5b8360051b808660a08501379215156060830152500160a001949350505050565b634e487b7160e01b600052602160045260246000fd5b60005b83811015614016578181015183820152602001613ffe565b50506000910152565b60008251614031818460208701613ffb565b7f2063616e6e6f74207075726368617365206d6f7265207468616e2074686520619201918252506c1b1b1bdd1d1959081b1a5b5a5d609a1b6020820152602d01919050565b6020815260008251806020840152614095816040850160208701613ffb565b601f01601f19169190910160400192915050565b8181038181111561086d5761086d613e06565b808202811582820484141761086d5761086d613e06565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614156816017850160208801613ffb565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614187816028840160208801613ffb565b01602801949350505050565b6000816141a2576141a2613e06565b506000190190565b600082516141bc818460208701613ffb565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564c2ecce86b9fe22044f8dae8b3b5d38734243cca0d3f91cbe36887c897b04c59fa2646970667358221220217822a143853d2fd76381a5278006935cac2bca927b319803ffc35ba14546ae64736f6c63430008120033