0 txs
0 calls
constructor
constructor(string name, string symbol, address m, address t)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
BURNER_ROLE
viewfunction BURNER_ROLE() view returns (bytes32)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
eqvToken
viewfunction eqvToken() view returns (address)
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)
LIMITED_MINTER_ROLE
viewfunction LIMITED_MINTER_ROLE() view returns (bytes32)
minter
viewfunction minter() view returns (address)
mintLimitRemaining
viewfunction mintLimitRemaining() view returns (uint256)
name
viewfunction name() view returns (string)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
TOKEN_ADMIN_ROLE
viewfunction TOKEN_ADMIN_ROLE() view returns (bytes32)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
batchBurn
nonpayablefunction batchBurn(tuple[] ops)
batchMint
nonpayablefunction batchMint(tuple[] ops)
batchRedeem
nonpayablefunction batchRedeem(tuple[] ops)
burnFrom
nonpayablefunction burnFrom(address from, uint256 amount)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
mint
nonpayablefunction mint(address to, uint256 amount)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(address sale, tuple mintData, string receiver)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMintLimit
nonpayablefunction setMintLimit(uint256 newLimit)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
unpause
nonpayablefunction unpause()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
MintLimitChanged
event MintLimitChanged(uint256 newLimit)
PacksBought
event PacksBought(address indexed buyer, string receiver, uint256 indexed primaryClubId, uint256 numPacks, uint256 cost)
Paused
event Paused(address account)
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 value)
Unpaused
event Unpaused(address account)
errors
InvalidPackSaleContract
error InvalidPackSaleContract(address sale)
MintLimitExceeded
error MintLimitExceeded(address operator, uint256 attempt, uint256 limit)
NotAllowedToBurn
error NotAllowedToBurn(address operator, address owner)
NotAllowedToMint
error NotAllowedToMint(address operator)
PackMintDataInvalid
error PackMintDataInvalid(address sale, (uint256 primaryClubId, uint256 numPacks, uint256 cost, uint256 smcMint, (uint256 clubId, uint256 numShares)[] shares, uint256[] soldOut) mintData)
RedeemExceedsBalance
error RedeemExceedsBalance(uint256 cost, uint256 balance)
TransferIsNotPossible
error TransferIsNotPossible(address from, address to, uint256 amount)
creation bytecode
0x60c060405234801561001057600080fd5b506040516132d13803806132d183398101604081905261002f91610284565b8383600361003d838261039b565b50600461004a828261039b565b50506007805460ff191690555061006260003361007c565b6001600160a01b039182166080521660a052506104599050565b61008682826100a3565b600082815260066020526040902061009e9082610146565b505050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff166101425760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191660011790556101013390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600061015b836001600160a01b038416610164565b90505b92915050565b60008181526001830160205260408120546101ab5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561015e565b50600061015e565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101da57600080fd5b81516001600160401b038111156101f3576101f36101b3565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610221576102216101b3565b60405281815283820160200185101561023957600080fd5b60005b828110156102585760208186018101518383018201520161023c565b506000918101602001919091529392505050565b6001600160a01b038116811461028157600080fd5b50565b6000806000806080858703121561029a57600080fd5b84516001600160401b038111156102b057600080fd5b6102bc878288016101c9565b602087015190955090506001600160401b038111156102da57600080fd5b6102e6878288016101c9565b93505060408501516102f78161026c565b60608601519092506103088161026c565b939692955090935050565b600181811c9082168061032757607f821691505b60208210810361034757634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561009e57806000526020600020601f840160051c810160208510156103745750805b601f840160051c820191505b818110156103945760008155600101610380565b5050505050565b81516001600160401b038111156103b4576103b46101b3565b6103c8816103c28454610313565b8461034d565b6020601f8211600181146103fc57600083156103e45750848201515b600019600385901b1c1916600184901b178455610394565b600084815260208120601f198516915b8281101561042c578785015182556020948501946001909201910161040c565b508482101561044a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60805160a051612e3761049a600039600081816102f50152610cad0152600081816102a301528181610a8a01528181611a520152611a810152612e376000f3fe608060405234801561001057600080fd5b506004361061025c5760003560e01c806370a0823111610145578063a217fddf116100bd578063ca15c8731161008c578063d75a9def11610071578063d75a9def14610555578063dd62ed3e1461057c578063e79cbc09146105b557600080fd5b8063ca15c8731461052f578063d547741f1461054257600080fd5b8063a217fddf146104ee578063a457c2d7146104f6578063a9059cbb14610509578063b5def2001461051c57600080fd5b80639096dde1116101145780639386e197116100f95780639386e197146104c057806395d89b41146104d35780639e6a1d7d146104db57600080fd5b80639096dde11461047e57806391d148541461048757600080fd5b806370a082311461042757806379cc6790146104505780638456cb59146104635780639010d07c1461046b57600080fd5b8063282c51f3116101d857806336568abe116101a75780633f4ba83a1161018c5780633f4ba83a1461040157806340c10f19146104095780635c975abb1461041c57600080fd5b806336568abe146103db57806339509351146103ee57600080fd5b8063282c51f3146103745780632d8ac3c31461039b5780632f2ff15d146103ae578063313ce567146103c157600080fd5b80630a2f791f1161022f57806318160ddd1161021457806318160ddd1461032c57806323b872dd1461033e578063248a9ca31461035157600080fd5b80630a2f791f146102f05780630ace038e1461031757600080fd5b806301ffc9a71461026157806306fdde0314610289578063075461721461029e578063095ea7b3146102dd575b600080fd5b61027461026f36600461239d565b6105dc565b60405190151581526020015b60405180910390f35b610291610620565b6040516102809190612417565b6102c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610280565b6102746102eb36600461243f565b6106b2565b6102c57f000000000000000000000000000000000000000000000000000000000000000081565b61032a6103253660046125cb565b6106ca565b005b6002545b604051908152602001610280565b61027461034c36600461261c565b61083f565b61033061035f36600461265d565b60009081526005602052604090206001015490565b6103307f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61032a6103a93660046127fe565b610863565b61032a6103bc366004612999565b610c84565b6103c9610ca9565b60405160ff9091168152602001610280565b61032a6103e9366004612999565b610d32565b6102746103fc36600461243f565b610dbe565b61032a610dfd565b61032a61041736600461243f565b610e13565b60075460ff16610274565b6103306104353660046129c9565b6001600160a01b031660009081526020819052604090205490565b61032a61045e36600461243f565b610eb8565b61032a610f5d565b6102c56104793660046129e6565b610f70565b61033060085481565b610274610495366004612999565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61032a6104ce3660046125cb565b610f8f565b61029161115c565b61032a6104e936600461265d565b61116b565b610330600081565b61027461050436600461243f565b6111d1565b61027461051736600461243f565b61127b565b61032a61052a366004612a08565b611289565b61033061053d36600461265d565b611376565b61032a610550366004612999565b61138d565b6103307f9e262e26e9d5bf97da5c389e15529a31bb2b13d89967a4f6eab01792567d5fd681565b61033061058a366004612abb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6103307ffb92f065d498d551be618d09ce11373b6f774f3c8d64cdf849113b5a9117027e81565b60006001600160e01b031982167f5a05180f00000000000000000000000000000000000000000000000000000000148061061a575061061a826113b2565b92915050565b60606003805461062f90612ae9565b80601f016020809104026020016040519081016040528092919081815260200182805461065b90612ae9565b80156106a85780601f1061067d576101008083540402835291602001916106a8565b820191906000526020600020905b81548152906001019060200180831161068b57829003601f168201915b5050505050905090565b6000336106c0818585611419565b5060019392505050565b3360009081527f9713dc85e5a6bbbf6ff8d3212df2e380f554a876a66da8c5ade276ede692b7d0602052604081205460ff168061073557503360009081527f847f481f687befb06ed3511f1a8dcef57e83007c0147ae5047583d7056170937602052604090205460ff165b905060005b825181101561083a5781158015610780575082818151811061075e5761075e612b23565b6020026020010151600001516001600160a01b0316336001600160a01b031614155b156107ee573383828151811061079857610798612b23565b6020908102919091010151516040517f081b82100000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b61083283828151811061080357610803612b23565b60200260200101516000015184838151811061082157610821612b23565b602002602001015160200151611571565b60010161073a565b505050565b60003361084d8582856116e6565b610858858585611778565b506001949350505050565b61086b611970565b6000805b82518110156109f05761089e83828151811061088d5761088d612b23565b6020026020010151600001516119c5565b8281815181106108b0576108b0612b23565b6020026020010151600001516001600160a01b0316630cc49b028483815181106108dc576108dc612b23565b6020026020010151602001516040518263ffffffff1660e01b81526004016109049190612c14565b602060405180830381865afa158015610921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190612c27565b6109b95782818151811061095b5761095b612b23565b60200260200101516000015183828151811061097957610979612b23565b6020026020010151602001516040517f8f7956d00000000000000000000000000000000000000000000000000000000081526004016107e5929190612c49565b8281815181106109cb576109cb612b23565b60200260200101516020015160400151826109e69190612c81565b915060010161086f565b503360008181526020819052604090205480831115610a45576040517f41b918f700000000000000000000000000000000000000000000000000000000815260048101849052602481018290526044016107e5565b610a4f8284611571565b60005b8451811015610c7d5760005b858281518110610a7057610a70612b23565b6020026020010151602001516080015151811015610bae577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636726816f878481518110610ac957610ac9612b23565b602002602001015160200151608001518381518110610aea57610aea612b23565b602002602001015160000151888581518110610b0857610b08612b23565b602002602001015160200151608001518481518110610b2957610b29612b23565b602002602001015160200151898681518110610b4757610b47612b23565b6020026020010151604001516040518463ffffffff1660e01b8152600401610b7193929190612c94565b600060405180830381600087803b158015610b8b57600080fd5b505af1158015610b9f573d6000803e3d6000fd5b50505050806001019050610a5e565b50848181518110610bc157610bc1612b23565b60200260200101516020015160000151836001600160a01b03167f45623825c4a824708ba911f81929dad82b539ad18d303009f6af54dade1286d5878481518110610c0e57610c0e612b23565b602002602001015160400151888581518110610c2c57610c2c612b23565b60200260200101516020015160200151898681518110610c4e57610c4e612b23565b60200260200101516020015160400151604051610c6d93929190612cbc565b60405180910390a3600101610a52565b5050505050565b600082815260056020526040902060010154610c9f81611b98565b61083a8383611ba2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190612ce1565b905090565b6001600160a01b0381163314610db05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016107e5565b610dba8282611bc4565b5050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906106c09082908690610df8908790612c81565b611419565b6000610e0881611b98565b610e10611be6565b50565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610e2a5790505090508281600081518110610e6757610e67612b23565b6020026020010151600001906001600160a01b031690816001600160a01b0316815250508181600081518110610e9f57610e9f612b23565b6020026020010151602001818152505061083a81610f8f565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610ecf5790505090508281600081518110610f0c57610f0c612b23565b6020026020010151600001906001600160a01b031690816001600160a01b0316815250508181600081518110610f4457610f44612b23565b6020026020010151602001818152505061083a816106ca565b6000610f6881611b98565b610e10611c38565b6000828152600660205260408120610f889083611c75565b9392505050565b6000805b8251811015610fcf57828181518110610fae57610fae612b23565b60200260200101516020015182610fc59190612c81565b9150600101610f93565b503360009081527f9713dc85e5a6bbbf6ff8d3212df2e380f554a876a66da8c5ade276ede692b7d0602052604090205460ff16611104573360009081527fc0b518686abc55aa7f05b3642cc582b1a5f91c74136d0ae20c8929d67021bfeb602052604090205460ff16611070576040517f82b3806d0000000000000000000000000000000000000000000000000000000081523360048201526024016107e5565b600854808211156110bd576040517f11322a9c00000000000000000000000000000000000000000000000000000000815233600482015260248101839052604481018290526064016107e5565b6110c78282612d04565b60088190556040518181529091507f9ae30a041b5f2244849dc754c675b09aef4ad230b48995476fd6e6415d1fe8ab9060200160405180910390a1505b60005b825181101561083a5761115483828151811061112557611125612b23565b60200260200101516000015184838151811061114357611143612b23565b602002602001015160200151611c81565b600101611107565b60606004805461062f90612ae9565b7f9e262e26e9d5bf97da5c389e15529a31bb2b13d89967a4f6eab01792567d5fd661119581611b98565b60088290556040518281527f9ae30a041b5f2244849dc754c675b09aef4ad230b48995476fd6e6415d1fe8ab9060200160405180910390a15050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561126e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016107e5565b6108588286868403611419565b6000336106c0818585611778565b604080516001808252818301909252600091816020015b6112a861233c565b8152602001906001900390816112a057905050905084816000815181106112d1576112d1612b23565b60209081029190910101516001600160a01b0390911690526112f284612d17565b8160008151811061130557611305612b23565b60200260200101516020018190525082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061135e5761135e612b23565b602002602001015160400181905250610c7d81610863565b600081815260066020526040812061061a90611d4c565b6000828152600560205260409020600101546113a881611b98565b61083a8383611bc4565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061061a57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b031983161461061a565b6001600160a01b0383166114945760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016107e5565b6001600160a01b0382166115105760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016107e5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166115ed5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107e5565b6115f982600083611d56565b6001600160a01b038216600090815260208190526040902054818110156116885760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016107e5565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461177257818110156117655760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107e5565b6117728484848403611419565b50505050565b6001600160a01b0383166117f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107e5565b6001600160a01b0382166118705760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107e5565b61187b838383611d56565b6001600160a01b0383166000908152602081905260409020548181101561190a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016107e5565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611772565b60075460ff16156119c35760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107e5565b565b806001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a279190612c27565b15611a5057604051635eca4b5560e11b81526001600160a01b03821660048201526024016107e5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391d148547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d53913936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b019190612d23565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b0384166024820152604401602060405180830381865afa158015611b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b709190612c27565b610e1057604051635eca4b5560e11b81526001600160a01b03821660048201526024016107e5565b610e108133611dc7565b611bac8282611e3c565b600082815260066020526040902061083a9082611ede565b611bce8282611ef3565b600082815260066020526040902061083a9082611f76565b611bee611f8b565b6007805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b611c40611970565b6007805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c1b3390565b6000610f888383611fdd565b6001600160a01b038216611cd75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107e5565b611ce360008383611d56565b8060026000828254611cf59190612c81565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600061061a825490565b6001600160a01b03831615801590611d7657506001600160a01b03821615155b1561083a576040517fc130746f0000000000000000000000000000000000000000000000000000000081526001600160a01b03808516600483015283166024820152604481018290526064016107e5565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff16610dba57611dfa81612007565b611e05836020612019565b604051602001611e16929190612d3c565b60408051601f198184030181529082905262461bcd60e51b82526107e591600401612417565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff16610dba5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611e9a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610f88836001600160a01b0384166121fa565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff1615610dba5760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610f88836001600160a01b038416612249565b60075460ff166119c35760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107e5565b6000826000018281548110611ff457611ff4612b23565b9060005260206000200154905092915050565b606061061a6001600160a01b03831660145b60606000612028836002612dbd565b612033906002612c81565b67ffffffffffffffff81111561204b5761204b61246b565b6040519080825280601f01601f191660200182016040528015612075576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106120ac576120ac612b23565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106120f7576120f7612b23565b60200101906001600160f81b031916908160001a905350600061211b846002612dbd565b612126906001612c81565b90505b60018111156121ab577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061216757612167612b23565b1a60f81b82828151811061217d5761217d612b23565b60200101906001600160f81b031916908160001a90535060049490941c936121a481612dd4565b9050612129565b508315610f885760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107e5565b60008181526001830160205260408120546122415750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561061a565b50600061061a565b6000818152600183016020526040812054801561233257600061226d600183612d04565b855490915060009061228190600190612d04565b90508181146122e65760008660000182815481106122a1576122a1612b23565b90600052602060002001549050808760000184815481106122c4576122c4612b23565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122f7576122f7612deb565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061061a565b600091505061061a565b604051806060016040528060006001600160a01b031681526020016123906040518060c001604052806000815260200160008152602001600081526020016000815260200160608152602001606081525090565b8152602001606081525090565b6000602082840312156123af57600080fd5b81356001600160e01b031981168114610f8857600080fd5b60005b838110156123e25781810151838201526020016123ca565b50506000910152565b600081518084526124038160208601602086016123c7565b601f01601f19169290920160200192915050565b602081526000610f8860208301846123eb565b6001600160a01b0381168114610e1057600080fd5b6000806040838503121561245257600080fd5b823561245d8161242a565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156124a4576124a461246b565b60405290565b60405160c0810167ffffffffffffffff811182821017156124a4576124a461246b565b6040516060810167ffffffffffffffff811182821017156124a4576124a461246b565b604051601f8201601f1916810167ffffffffffffffff811182821017156125195761251961246b565b604052919050565b600067ffffffffffffffff82111561253b5761253b61246b565b5060051b60200190565b600061255861255384612521565b6124f0565b838152905060208101600684901b83018581111561257557600080fd5b835b818110156125c157600060408289031215612590578081fd5b612598612481565b905081356125a58161242a565b8152602082810135818301529084529290920191604001612577565b5050509392505050565b6000602082840312156125dd57600080fd5b813567ffffffffffffffff8111156125f457600080fd5b8201601f8101841361260557600080fd5b61261484823560208401612545565b949350505050565b60008060006060848603121561263157600080fd5b833561263c8161242a565b9250602084013561264c8161242a565b929592945050506040919091013590565b60006020828403121561266f57600080fd5b5035919050565b600082601f83011261268757600080fd5b813561269561255382612521565b8082825260208201915060208360061b8601019250858311156126b757600080fd5b602085015b838110156126fa57604081880312156126d457600080fd5b6126dc612481565b813581526020808301358183015290845292909201916040016126bc565b5095945050505050565b600082601f83011261271557600080fd5b813561272361255382612521565b8082825260208201915060208360051b86010192508583111561274557600080fd5b602085015b838110156126fa57803583526020928301920161274a565b600060c0828403121561277457600080fd5b61277c6124aa565b823581526020808401359082015260408084013590820152606080840135908201529050608082013567ffffffffffffffff8111156127ba57600080fd5b6127c684828501612676565b60808301525060a082013567ffffffffffffffff8111156127e657600080fd5b6127f284828501612704565b60a08301525092915050565b60006020828403121561281057600080fd5b813567ffffffffffffffff81111561282757600080fd5b8201601f8101841361283857600080fd5b803561284661255382612521565b8082825260208201915060208360051b85010192508683111561286857600080fd5b602084015b8381101561298e57803567ffffffffffffffff81111561288c57600080fd5b85016060818a03601f190112156128a257600080fd5b6128aa6124cd565b60208201356128b88161242a565b8152604082013567ffffffffffffffff8111156128d457600080fd5b6128e38b602083860101612762565b602083015250606082013567ffffffffffffffff81111561290357600080fd5b60208184010192505089601f83011261291b57600080fd5b813567ffffffffffffffff8111156129355761293561246b565b612948601f8201601f19166020016124f0565b8181528b602083860101111561295d57600080fd5b816020850160208301376000602083830101528060408401525050808552505060208301925060208101905061286d565b509695505050505050565b600080604083850312156129ac57600080fd5b8235915060208301356129be8161242a565b809150509250929050565b6000602082840312156129db57600080fd5b8135610f888161242a565b600080604083850312156129f957600080fd5b50508035926020909101359150565b60008060008060608587031215612a1e57600080fd5b8435612a298161242a565b9350602085013567ffffffffffffffff811115612a4557600080fd5b850160c08188031215612a5757600080fd5b9250604085013567ffffffffffffffff811115612a7357600080fd5b8501601f81018713612a8457600080fd5b803567ffffffffffffffff811115612a9b57600080fd5b876020828401011115612aad57600080fd5b949793965060200194505050565b60008060408385031215612ace57600080fd5b8235612ad98161242a565b915060208301356129be8161242a565b600181811c90821680612afd57607f821691505b602082108103612b1d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020840193506020830160005b82811015612b6b578151865260209586019590910190600101612b4d565b5093949350505050565b600060c0830182518452602083015160208501526040830151604085015260608301516060850152608083015160c0608086015281815180845260e087019150602083019350600092505b80831015612bf0578351805183526020810151602084015250604082019150602084019350600183019250612bc0565b5060a0850151925085810360a0870152612c0a8184612b39565b9695505050505050565b602081526000610f886020830184612b75565b600060208284031215612c3957600080fd5b81518015158114610f8857600080fd5b6001600160a01b03831681526040602082015260006126146040830184612b75565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061a5761061a612c6b565b838152826020820152606060408201526000612cb360608301846123eb565b95945050505050565b606081526000612ccf60608301866123eb565b60208301949094525060400152919050565b600060208284031215612cf357600080fd5b815160ff81168114610f8857600080fd5b8181038181111561061a5761061a612c6b565b600061061a3683612762565b600060208284031215612d3557600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d748160178501602088016123c7565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612db18160288401602088016123c7565b01602801949350505050565b808202811582820484141761061a5761061a612c6b565b600081612de357612de3612c6b565b506000190190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220f57a108c355161df6ee8f8057f51549c3445650a256635e0864da57f4336d50864736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000096ad44031a939738ab30138a73029d36e02fc2b20000000000000000000000003c499c542cef5e3811e1192ce70d8cc03d5c33590000000000000000000000000000000000000000000000000000000000000014536f63636572766572736520566f75636865727300000000000000000000000000000000000000000000000000000000000000000000000000000000000000035356560000000000000000000000000000000000000000000000000000000000