2 txs
2 calls
constructor
constructor(address _lpAddress)
functions
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
cards
viewfunction cards(uint256) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
earned
viewfunction earned(address account) 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)
lastUpdateTime
viewfunction lastUpdateTime(address) view returns (uint256)
maxStake
viewfunction maxStake() view returns (uint256)
nftAddresses
viewfunction nftAddresses(uint256) view returns (address)
owner
viewfunction owner() view returns (address)
points
viewfunction points(address) view returns (uint256)
stakeStartTime
viewfunction stakeStartTime() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
token
viewfunction token() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
WITHDRAW_ROLE
viewfunction WITHDRAW_ROLE() view returns (bytes32)
addCard
nonpayablefunction addCard(uint256 amount, uint256 pointsNeed, address nftAddress)
exit
nonpayablefunction exit()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
redeem
nonpayablefunction redeem(uint256 cardID)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMaxStake
nonpayablefunction setMaxStake(uint256 _maxStake)
setStakeStartTime
nonpayablefunction setStakeStartTime(uint256 _stakeStartTime)
stake
nonpayablefunction stake(uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 amount)
withdrawPoint
nonpayablefunction withdrawPoint(address account) returns (uint256)
events
CardAdded
event CardAdded(uint256 card, uint256 points)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Redeemed
event Redeemed(address indexed user, uint256 amount)
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)
Staked
event Staked(address indexed user, uint256 amount)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
WithdrawPoint
event WithdrawPoint(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405260146006553480156200001657600080fd5b506040516200385f3803806200385f83398181016040528101906200003c919062000419565b80806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200009e62000092620000ba60201b60201c565b620000c260201b60201c565b620000b36000801b336200018860201b60201c565b50620004b2565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200019f8282620001d060201b6200198c1760201c565b620001cb8160056000858152602001908152602001600020620002c260201b62001a6d1790919060201c565b505050565b620001e28282620002fa60201b60201c565b620002be5760016004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000263620000ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620002f2836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200036560201b60201c565b905092915050565b60006004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620003798383620003df60201b60201c565b620003d4578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620003d9565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081519050620004138162000498565b92915050565b60006020828403121562000432576200043162000493565b5b6000620004428482850162000402565b91505092915050565b6000620004588262000473565b9050919050565b60006200046c826200044b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620004a3816200045f565b8114620004af57600080fd5b50565b61339d80620004c26000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c80638dc107681161010f578063d547741f116100a2578063e9fad8ee11610071578063e9fad8ee146105c5578063ea1b28e0146105cf578063f2fde38b146105ed578063fc0c546a14610609576101e4565b8063d547741f14610553578063db006a751461056f578063e02023a11461058b578063e4db2230146105a9576101e4565b8063a694fc3a116100de578063a694fc3a146104bb578063c79d5a49146104d7578063ca15c87314610507578063cc1b63d514610537576101e4565b80638dc107681461040d5780639010d07c1461043d57806391d148541461046d578063a217fddf1461049d576101e4565b80632f2ff15d1161018757806370a082311161015657806370a0823114610397578063715018a6146103c75780637419f190146103d15780638da5cb5b146103ef576101e4565b80632f2ff15d14610313578063358b81661461032f57806336568abe1461035f5780636fc148371461037b576101e4565b8063248a9ca3116101c3578063248a9ca31461026757806324ec5a78146102975780632ce9aead146102c75780632e1a7d4d146102f7576101e4565b80628cc262146101e957806301ffc9a71461021957806318160ddd14610249575b600080fd5b61020360048036038101906101fe9190612662565b610627565b6040516102109190612d04565b60405180910390f35b610233600480360381019061022e9190612769565b610772565b6040516102409190612b51565b60405180910390f35b6102516107ec565b60405161025e9190612d04565b60405180910390f35b610281600480360381019061027c91906126bc565b6107f6565b60405161028e9190612b6c565b60405180910390f35b6102b160048036038101906102ac9190612796565b610816565b6040516102be9190612ad6565b60405180910390f35b6102e160048036038101906102dc9190612662565b610849565b6040516102ee9190612d04565b60405180910390f35b610311600480360381019061030c9190612796565b610861565b005b61032d600480360381019061032891906126e9565b6109c5565b005b61034960048036038101906103449190612662565b6109e6565b6040516103569190612d04565b60405180910390f35b610379600480360381019061037491906126e9565b6109fe565b005b61039560048036038101906103909190612796565b610a81565b005b6103b160048036038101906103ac9190612662565b610b07565b6040516103be9190612d04565b60405180910390f35b6103cf610b50565b005b6103d9610bd8565b6040516103e69190612d04565b60405180910390f35b6103f7610bde565b6040516104049190612ad6565b60405180910390f35b61042760048036038101906104229190612796565b610c08565b6040516104349190612d04565b60405180910390f35b61045760048036038101906104529190612729565b610c20565b6040516104649190612ad6565b60405180910390f35b610487600480360381019061048291906126e9565b610c4f565b6040516104949190612b51565b60405180910390f35b6104a5610cba565b6040516104b29190612b6c565b60405180910390f35b6104d560048036038101906104d09190612796565b610cc1565b005b6104f160048036038101906104ec9190612662565b610ea5565b6040516104fe9190612d04565b60405180910390f35b610521600480360381019061051c91906126bc565b611078565b60405161052e9190612d04565b60405180910390f35b610551600480360381019061054c9190612796565b61109c565b005b61056d600480360381019061056891906126e9565b611122565b005b61058960048036038101906105849190612796565b611143565b005b61059361166c565b6040516105a09190612b6c565b60405180910390f35b6105c360048036038101906105be91906127f0565b611690565b005b6105cd611857565b005b6105d761186a565b6040516105e49190612d04565b60405180910390f35b61060760048036038101906106029190612662565b611870565b005b610611611968565b60405161061e9190612b87565b60405180910390f35b600080429050806007541061064057600091505061076d565b6000600754600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610692576007546106d3565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b905061076861071a6201518061070c6106eb88610b07565b6106fe8688611a9d90919063ffffffff16565b611ab390919063ffffffff16565b611ac990919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611adf90919063ffffffff16565b925050505b919050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e557506107e482611af5565b5b9050919050565b6000600154905090565b600060046000838152602001908152602001600020600101549050919050565b600c6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915090505481565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109275761089f81610627565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000821161096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096190612c64565b60405180910390fd5b61097382611b6f565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040516109b99190612d04565b60405180910390a25050565b6109ce826107f6565b6109d781611cd0565b6109e18383611ce4565b505050565b600a6020528060005260406000206000915090505481565b610a06611d18565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6a90612ce4565b60405180910390fd5b610a7d8282611d20565b5050565b610a89611d18565b73ffffffffffffffffffffffffffffffffffffffff16610aa7610bde565b73ffffffffffffffffffffffffffffffffffffffff1614610afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af490612c84565b60405180910390fd5b8060068190555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b58611d18565b73ffffffffffffffffffffffffffffffffffffffff16610b76610bde565b73ffffffffffffffffffffffffffffffffffffffff1614610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390612c84565b60405180910390fd5b610bd66000611d54565b565b60075481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b6020528060005260406000206000915090505481565b6000610c478260056000868152602001908152602001600020611e1a90919063ffffffff16565b905092915050565b60006004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d8757610cff81610627565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600754421015610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc390612ca4565b60405180910390fd5b60006006541115610e4a57670de0b6b3a7640000600654610ded9190612df6565b610e08610df933610b07565b84611adf90919063ffffffff16565b1115610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090612cc4565b60405180910390fd5b5b610e5382611e34565b3373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d83604051610e999190612d04565b60405180910390a25050565b600081600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f6d57610ee581610627565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec610f9781611cd0565b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167ed21e1803608fb798bdaeb51a8526e4f250c8c4a40433269c394a884750d8e8826040516110659190612d04565b60405180910390a2809350505050919050565b600061109560056000848152602001908152602001600020611f97565b9050919050565b6110a4611d18565b73ffffffffffffffffffffffffffffffffffffffff166110c2610bde565b73ffffffffffffffffffffffffffffffffffffffff1614611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612c84565b60405180910390fd5b8060078190555050565b61112b826107f6565b61113481611cd0565b61113e8383611d20565b505050565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146112095761118181610627565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600b6000848152602001908152602001600020541415611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612c44565b60405180910390fd5b600b600083815260200190815260200160002054600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156112f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ec90612be4565b60405180910390fd5b600c600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663869f7594836040518263ffffffff1660e01b81526004016113619190612d04565b60206040518083038186803b15801561137957600080fd5b505afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b191906127c3565b600c600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bd85b039846040518263ffffffff1660e01b815260040161141d9190612d04565b60206040518083038186803b15801561143557600080fd5b505afa158015611449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146d91906127c3565b106114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a490612c24565b60405180910390fd5b611512600b600084815260200190815260200160002054600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9d90919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600c600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933856040518363ffffffff1660e01b81526004016115c5929190612b28565b602060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161791906127c3565b90503373ffffffffffffffffffffffffffffffffffffffff167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b93698260405161165f9190612d04565b60405180910390a2505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b611698611d18565b73ffffffffffffffffffffffffffffffffffffffff166116b6610bde565b73ffffffffffffffffffffffffffffffffffffffff161461170c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170390612c84565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663780900dc856040518263ffffffff1660e01b81526004016117479190612d04565b602060405180830381600087803b15801561176157600080fd5b505af1158015611775573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179991906127c3565b9050670de0b6b3a7640000836117af9190612df6565b600b60008381526020019081526020016000208190555081600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f62399d91d89d6e694d41e47f3e6010c0e0b4ec78ecdddb1c02d0e321780859b08184604051611849929190612d1f565b60405180910390a150505050565b61186861186333610b07565b610861565b565b60065481565b611878611d18565b73ffffffffffffffffffffffffffffffffffffffff16611896610bde565b73ffffffffffffffffffffffffffffffffffffffff16146118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e390612c84565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561195c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195390612c04565b60405180910390fd5b61196581611d54565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119968282610c4f565b611a695760016004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a0e611d18565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611a95836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611fac565b905092915050565b60008183611aab9190612e50565b905092915050565b60008183611ac19190612df6565b905092915050565b60008183611ad79190612dc5565b905092915050565b60008183611aed9190612d6f565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b685750611b678261201c565b5b9050919050565b611b8481600154611a9d90919063ffffffff16565b600181905550611bdc81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611c7a929190612b28565b602060405180830381600087803b158015611c9457600080fd5b505af1158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc919061268f565b5050565b611ce181611cdc611d18565b612086565b50565b611cee828261198c565b611d138160056000858152602001908152602001600020611a6d90919063ffffffff16565b505050565b600033905090565b611d2a8282612123565b611d4f816005600085815260200190815260200160002061220590919063ffffffff16565b505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611e298360000183612235565b60001c905092915050565b611e4981600154611adf90919063ffffffff16565b600181905550611ea181600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611adf90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401611f4193929190612af1565b602060405180830381600087803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f93919061268f565b5050565b6000611fa582600001612260565b9050919050565b6000611fb88383612271565b612011578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612016565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6120908282610c4f565b61211f576120b58173ffffffffffffffffffffffffffffffffffffffff166014612294565b6120c38360001c6020612294565b6040516020016120d4929190612a9c565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121169190612ba2565b60405180910390fd5b5050565b61212d8282610c4f565b156122015760006004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506121a6611d18565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061222d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6124d0565b905092915050565b600082600001828154811061224d5761224c613022565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b6060600060028360026122a79190612df6565b6122b19190612d6f565b67ffffffffffffffff8111156122ca576122c9613051565b5b6040519080825280601f01601f1916602001820160405280156122fc5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061233457612333613022565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061239857612397613022565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026123d89190612df6565b6123e29190612d6f565b90505b6001811115612482577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061242457612423613022565b5b1a60f81b82828151811061243b5761243a613022565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061247b90612f6b565b90506123e5565b50600084146124c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124bd90612bc4565b60405180910390fd5b8091505092915050565b600080836001016000848152602001908152602001600020549050600081146125d85760006001826125029190612e50565b905060006001866000018054905061251a9190612e50565b905081811461258957600086600001828154811061253b5761253a613022565b5b906000526020600020015490508087600001848154811061255f5761255e613022565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061259d5761259c612ff3565b5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506125de565b60009150505b92915050565b6000813590506125f3816132f4565b92915050565b6000815190506126088161330b565b92915050565b60008135905061261d81613322565b92915050565b60008135905061263281613339565b92915050565b60008135905061264781613350565b92915050565b60008151905061265c81613350565b92915050565b60006020828403121561267857612677613080565b5b6000612686848285016125e4565b91505092915050565b6000602082840312156126a5576126a4613080565b5b60006126b3848285016125f9565b91505092915050565b6000602082840312156126d2576126d1613080565b5b60006126e08482850161260e565b91505092915050565b60008060408385031215612700576126ff613080565b5b600061270e8582860161260e565b925050602061271f858286016125e4565b9150509250929050565b600080604083850312156127405761273f613080565b5b600061274e8582860161260e565b925050602061275f85828601612638565b9150509250929050565b60006020828403121561277f5761277e613080565b5b600061278d84828501612623565b91505092915050565b6000602082840312156127ac576127ab613080565b5b60006127ba84828501612638565b91505092915050565b6000602082840312156127d9576127d8613080565b5b60006127e78482850161264d565b91505092915050565b60008060006060848603121561280957612808613080565b5b600061281786828701612638565b935050602061282886828701612638565b9250506040612839868287016125e4565b9150509250925092565b61284c81612e84565b82525050565b61285b81612e96565b82525050565b61286a81612ea2565b82525050565b61287981612f02565b82525050565b600061288a82612d48565b6128948185612d53565b93506128a4818560208601612f38565b6128ad81613085565b840191505092915050565b60006128c382612d48565b6128cd8185612d64565b93506128dd818560208601612f38565b80840191505092915050565b60006128f6602083612d53565b915061290182613096565b602082019050919050565b6000612919602483612d53565b9150612924826130bf565b604082019050919050565b600061293c602683612d53565b91506129478261310e565b604082019050919050565b600061295f601083612d53565b915061296a8261315d565b602082019050919050565b6000612982600e83612d53565b915061298d82613186565b602082019050919050565b60006129a5601183612d53565b91506129b0826131af565b602082019050919050565b60006129c8602083612d53565b91506129d3826131d8565b602082019050919050565b60006129eb600e83612d53565b91506129f682613201565b602082019050919050565b6000612a0e601b83612d53565b9150612a198261322a565b602082019050919050565b6000612a31601783612d64565b9150612a3c82613253565b601782019050919050565b6000612a54601183612d64565b9150612a5f8261327c565b601182019050919050565b6000612a77602f83612d53565b9150612a82826132a5565b604082019050919050565b612a9681612ef8565b82525050565b6000612aa782612a24565b9150612ab382856128b8565b9150612abe82612a47565b9150612aca82846128b8565b91508190509392505050565b6000602082019050612aeb6000830184612843565b92915050565b6000606082019050612b066000830186612843565b612b136020830185612843565b612b206040830184612a8d565b949350505050565b6000604082019050612b3d6000830185612843565b612b4a6020830184612a8d565b9392505050565b6000602082019050612b666000830184612852565b92915050565b6000602082019050612b816000830184612861565b92915050565b6000602082019050612b9c6000830184612870565b92915050565b60006020820190508181036000830152612bbc818461287f565b905092915050565b60006020820190508181036000830152612bdd816128e9565b9050919050565b60006020820190508181036000830152612bfd8161290c565b9050919050565b60006020820190508181036000830152612c1d8161292f565b9050919050565b60006020820190508181036000830152612c3d81612952565b9050919050565b60006020820190508181036000830152612c5d81612975565b9050919050565b60006020820190508181036000830152612c7d81612998565b9050919050565b60006020820190508181036000830152612c9d816129bb565b9050919050565b60006020820190508181036000830152612cbd816129de565b9050919050565b60006020820190508181036000830152612cdd81612a01565b9050919050565b60006020820190508181036000830152612cfd81612a6a565b9050919050565b6000602082019050612d196000830184612a8d565b92915050565b6000604082019050612d346000830185612a8d565b612d416020830184612a8d565b9392505050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000612d7a82612ef8565b9150612d8583612ef8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612dba57612db9612f95565b5b828201905092915050565b6000612dd082612ef8565b9150612ddb83612ef8565b925082612deb57612dea612fc4565b5b828204905092915050565b6000612e0182612ef8565b9150612e0c83612ef8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e4557612e44612f95565b5b828202905092915050565b6000612e5b82612ef8565b9150612e6683612ef8565b925082821015612e7957612e78612f95565b5b828203905092915050565b6000612e8f82612ed8565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000612f0d82612f14565b9050919050565b6000612f1f82612f26565b9050919050565b6000612f3182612ed8565b9050919050565b60005b83811015612f56578082015181840152602081019050612f3b565b83811115612f65576000848401525b50505050565b6000612f7682612ef8565b91506000821415612f8a57612f89612f95565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f4e6f7420656e6f75676820706f696e747320746f2072656465656d20666f722060008201527f6361726400000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4d6178206361726473206d696e74656400000000000000000000000000000000600082015250565b7f43617264206e6f7420666f756e64000000000000000000000000000000000000600082015250565b7f43616e6e6f742077697468647261772030000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f7374616b65206e6f74206f70656e000000000000000000000000000000000000600082015250565b7f43616e6e6f74207374616b65206d6f726520554e492d5632204c500000000000600082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6132fd81612e84565b811461330857600080fd5b50565b61331481612e96565b811461331f57600080fd5b50565b61332b81612ea2565b811461333657600080fd5b50565b61334281612eac565b811461334d57600080fd5b50565b61335981612ef8565b811461336457600080fd5b5056fea2646970667358221220a285d6382eba8aa5f6f8d1c4a818d4e68ca0ddd8b85afeb28f4a23de640b6a5664736f6c63430008070033000000000000000000000000b892a4b35f227f27e4b58cc20691b3c671d0bec8