22 txs
32 calls
constructor
constructor(uint256 subscriptionId, bytes32 keyHash, address vrfCoordinator)
functions
budget
viewfunction budget() view returns (uint256)
calculateWinAmount
viewfunction calculateWinAmount(uint256 amount, uint256 modulo, uint256 odds) view returns (uint256 winAmount)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
houseEdge
viewfunction houseEdge() view returns (uint256)
maxBetRepetition
viewfunction maxBetRepetition() view returns (uint8)
maxPercWin
viewfunction maxPercWin() view returns (uint256)
maxWin
viewfunction maxWin() view returns (uint256)
minBet
viewfunction minBet() view returns (uint256)
owner
viewfunction owner() view returns (address)
referrerEarnings
viewfunction referrerEarnings(address) view returns (uint256)
referrerEdge
viewfunction referrerEdge() view returns (uint256)
requestToBet
viewfunction requestToBet(uint256) view returns (address gambler, uint256 betAmount, uint256 winAmount, uint256 prediction, uint256 rollDirection, uint256 modulo, uint256 timestamp, address referrer, uint256 userSeed)
s_callbackGasLimit
viewfunction s_callbackGasLimit() view returns (uint32)
s_keyHash
viewfunction s_keyHash() view returns (bytes32)
s_numWords
viewfunction s_numWords() view returns (uint32)
s_requestConfirmations
viewfunction s_requestConfirmations() view returns (uint16)
s_subscriptionId
viewfunction s_subscriptionId() view returns (uint256)
s_vrfCoordinator
viewfunction s_vrfCoordinator() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
userReferrer
viewfunction userReferrer(address) view returns (address refAddress, uint256 edge)
acceptOwnership
nonpayablefunction acceptOwnership()
bet
payablefunction bet(uint256[4] _betParams, bytes32 _userSeed, address _referrer, uint8 _betRepetition) payable
emergencyRefund
nonpayablefunction emergencyRefund(uint256 requestId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
rawFulfillRandomWords
nonpayablefunction rawFulfillRandomWords(uint256 requestId, uint256[] randomWords)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCallbackGasLimit
nonpayablefunction setCallbackGasLimit(uint32 callbackGasLimit)
setCoordinator
nonpayablefunction setCoordinator(address _vrfCoordinator)
setHouseEdgePerc
nonpayablefunction setHouseEdgePerc(uint256 _perc)
setKeyHash
nonpayablefunction setKeyHash(bytes32 keyHash)
setMaxBetRepetition
nonpayablefunction setMaxBetRepetition(uint8 _value)
setMaxPercWin
nonpayablefunction setMaxPercWin(uint256 _perc)
setMinBet
nonpayablefunction setMinBet(uint256 _value)
setReferrerEdgePerc
nonpayablefunction setReferrerEdgePerc(uint256 _perc)
setRequestConfirmations
nonpayablefunction setRequestConfirmations(uint16 requestConfirmations)
setSubscriptionId
nonpayablefunction setSubscriptionId(uint256 subscriptionId)
setUserReferrer
nonpayablefunction setUserReferrer(address _user, address _referrer, uint256 _perc)
transferOwnership
nonpayablefunction transferOwnership(address to)
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
BetPlaced
event BetPlaced(uint256 indexed requestId, address indexed gambler, (address gambler, uint256 betAmount, uint256 winAmount, uint256 prediction, uint256 rollDirection, uint256 modulo, uint256 timestamp, address referrer, uint256 userSeed) betInfo)
BetResult
event BetResult(uint256 indexed requestId, address indexed gambler, uint256 result, uint256 payout, bool win)
CoordinatorSet
event CoordinatorSet(address vrfCoordinator)
OwnershipTransferred
event OwnershipTransferred(address indexed from, address indexed to)
OwnershipTransferRequested
event OwnershipTransferRequested(address indexed from, address indexed to)
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)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
OnlyCoordinatorCanFulfill
error OnlyCoordinatorCanFulfill(address have, address want)
OnlyOwnerOrCoordinator
error OnlyOwnerOrCoordinator(address have, address owner, address coordinator)
ZeroAddress
error ZeroAddress()
creation bytecode
0x6080604052600680546001600160501b03191666010003000186a0179055670de0b6b3a76400006007556101f46008556103b66009556032600a908155600b805460ff1916909117905534801561005557600080fd5b50604051612650380380612650833981016040819052610074916102bf565b8033806000816100cb5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b03848116919091179091558116156100fb576100fb81610166565b5050506001600160a01b0381166101255760405163d92e233d60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b039290921691909117905561015660006101513390565b61020f565b5050600491909155600555610305565b336001600160a01b038216036101be5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016100c2565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60008281526003602090815260408083206001600160a01b038516845290915281205460ff166102b55760008381526003602090815260408083206001600160a01b03861684529091529020805460ff1916600117905561026d3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102b9565b5060005b92915050565b6000806000606084860312156102d457600080fd5b83516020850151604086015191945092506001600160a01b03811681146102fa57600080fd5b809150509250925092565b61233c806103146000396000f3fe6080604052600436106102555760003560e01c806391d1485411610139578063c5b4e937116100b6578063d7d59b111161007a578063d7d59b11146107c8578063e229df5c146107e8578063eb3ba72f14610808578063ed01bf2914610835578063f2fde38b14610848578063f88ea2c91461086857600080fd5b8063c5b4e9371461073f578063c6a73fc71461075c578063cca7273b1461077c578063d547741f14610792578063d667dcd7146107b257600080fd5b80639eccacf6116100fd5780639eccacf6146106b7578063a217fddf146106d7578063a4eb718c146106ec578063bdd102e51461070c578063c1e0d2361461071f57600080fd5b806391d14854146105f95780639619367d14610619578063967dd7801461062f578063972b07111461066b578063985447101461069757600080fd5b8063697a391c116101d2578063867be09b11610196578063867be09b146105315780638824f5a71461055157806388ea41b9146105715780638ac00021146105915780638da5cb5b146105a75780638ea98117146105d957600080fd5b8063697a391c1461046757806370e5deb91461048757806379ba5097146104a75780637c3fcc38146104bc57806382a365241461051b57600080fd5b80632e1a7d4d116102195780632e1a7d4d1461032b5780632f2ff15d1461034b57806336568abe1461036b5780633d4dd9db1461038b57806345bb327b1461045157600080fd5b806301ffc9a7146102615780630a514da91461029657806316d190e3146102b85780631fe543e3146102db578063248a9ca3146102fb57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061028161027c366004611e86565b61089e565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102b66102b1366004611eb7565b6108d5565b005b3480156102c457600080fd5b506102cd61092c565b60405190815260200161028d565b3480156102e757600080fd5b506102b66102f6366004611ed0565b610954565b34801561030757600080fd5b506102cd610316366004611eb7565b60009081526003602052604090206001015490565b34801561033757600080fd5b506102b6610346366004611eb7565b6109a4565b34801561035757600080fd5b506102b6610366366004611f6d565b610a41565b34801561037757600080fd5b506102b6610386366004611f6d565b610a6c565b34801561039757600080fd5b506103fe6103a6366004611eb7565b600e602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460078801546008909801546001600160a01b03978816989697959694959394929391929091169089565b604080516001600160a01b039a8b16815260208101999099528801969096526060870194909452608086019290925260a085015260c084015290921660e08201526101008101919091526101200161028d565b34801561045d57600080fd5b506102cd60055481565b34801561047357600080fd5b506102b6610482366004611f99565b610a9f565b34801561049357600080fd5b506102b66104a2366004611eb7565b610b34565b3480156104b357600080fd5b506102b6610d01565b3480156104c857600080fd5b506104fc6104d7366004611fd6565b600c60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b03909316835260208301919091520161028d565b34801561052757600080fd5b506102cd600a5481565b34801561053d57600080fd5b506102b661054c366004612002565b610dab565b34801561055d57600080fd5b506102b661056c36600461201d565b610de8565b34801561057d57600080fd5b506102b661058c366004611eb7565b610e33565b34801561059d57600080fd5b506102cd60045481565b3480156105b357600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161028d565b3480156105e557600080fd5b506102b66105f4366004611fd6565b610e5f565b34801561060557600080fd5b50610281610614366004611f6d565b610f51565b34801561062557600080fd5b506102cd60075481565b34801561063b57600080fd5b50600654610656906601000000000000900463ffffffff1681565b60405163ffffffff909116815260200161028d565b34801561067757600080fd5b50600b546106859060ff1681565b60405160ff909116815260200161028d565b3480156106a357600080fd5b506102b66106b2366004611eb7565b610f7c565b3480156106c357600080fd5b506002546105c1906001600160a01b031681565b3480156106e357600080fd5b506102cd600081565b3480156106f857600080fd5b506102b6610707366004612041565b610fa8565b6102b661071a36600461207d565b610feb565b34801561072b57600080fd5b506102b661073a366004611eb7565b611691565b34801561074b57600080fd5b506006546106569063ffffffff1681565b34801561076857600080fd5b506102b6610777366004611eb7565b6116bd565b34801561078857600080fd5b506102cd60085481565b34801561079e57600080fd5b506102b66107ad366004611f6d565b61170b565b3480156107be57600080fd5b506102cd60095481565b3480156107d457600080fd5b506102b66107e3366004611eb7565b611730565b3480156107f457600080fd5b506102cd610803366004612121565b61177e565b34801561081457600080fd5b506102cd610823366004611fd6565b600d6020526000908152604090205481565b34801561084157600080fd5b50476102cd565b34801561085457600080fd5b506102b6610863366004611fd6565b611842565b34801561087457600080fd5b5060065461088b90640100000000900461ffff1681565b60405161ffff909116815260200161028d565b60006001600160e01b03198216637965db0b60e01b14806108cf57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6108e0600033610f51565b6109055760405162461bcd60e51b81526004016108fc9061214d565b60405180910390fd5b6127108111156109275760405162461bcd60e51b81526004016108fc9061217b565b600a55565b600061271060085461093b4790565b61094591906121c0565b61094f91906121ed565b905090565b6002546001600160a01b031633146109945760025460405163073e64fd60e21b81523360048201526001600160a01b0390911660248201526044016108fc565b61099f838383611856565b505050565b6109af600033610f51565b6109cb5760405162461bcd60e51b81526004016108fc9061214d565b80471015610a105760405162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b60448201526064016108fc565b604051339082156108fc029083906000818181858888f19350505050158015610a3d573d6000803e3d6000fd5b5050565b600082815260036020526040902060010154610a5c81611bd3565b610a668383611bdd565b50505050565b6001600160a01b0381163314610a955760405163334bd91960e11b815260040160405180910390fd5b61099f8282611c71565b610aaa600033610f51565b610ac65760405162461bcd60e51b81526004016108fc9061214d565b612710811115610ae85760405162461bcd60e51b81526004016108fc9061217b565b6040805180820182526001600160a01b03938416815260208082019384529484166000908152600c9095529320925183546001600160a01b031916921691909117825551600190910155565b610b3f600033610f51565b610b5b5760405162461bcd60e51b81526004016108fc9061214d565b6000818152600e602090815260409182902082516101208101845281546001600160a01b039081168083526001840154948301949094526002830154948201949094526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015490931660e084015260080154610100830152610c195760405162461bcd60e51b815260206004820152600d60248201526c18995d081b9bdd08199bdd5b99609a1b60448201526064016108fc565b60c0810151610c2a90610e10612201565b4211610c695760405162461bcd60e51b815260206004820152600e60248201526d18995d081d1bdbc81c9958d95b9d60921b60448201526064016108fc565b805160208201516040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610ca6573d6000803e3d6000fd5b50506000908152600e6020526040812080546001600160a01b03199081168255600182018390556002820183905560038201839055600482018390556005820183905560068201839055600782018054909116905560080155565b6001546001600160a01b03163314610d545760405162461bcd60e51b815260206004820152601660248201527526bab9ba10313290383937b837b9b2b21037bbb732b960511b60448201526064016108fc565b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b610db6600033610f51565b610dd25760405162461bcd60e51b81526004016108fc9061214d565b600b805460ff191660ff92909216919091179055565b610df3600033610f51565b610e0f5760405162461bcd60e51b81526004016108fc9061214d565b6006805461ffff9092166401000000000265ffff0000000019909216919091179055565b610e3e600033610f51565b610e5a5760405162461bcd60e51b81526004016108fc9061214d565b600755565b6000546001600160a01b03163314801590610e8557506002546001600160a01b03163314155b15610ed65733610e9d6000546001600160a01b031690565b60025460405163061db9c160e01b81526001600160a01b03938416600482015291831660248301529190911660448201526064016108fc565b6001600160a01b038116610efd5760405163d92e233d60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd1a6a14209a385a964d036e404cb5cfb71f4000cdb03c9366292430787261be69060200160405180910390a150565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610f87600033610f51565b610fa35760405162461bcd60e51b81526004016108fc9061214d565b600555565b610fb3600033610f51565b610fcf5760405162461bcd60e51b81526004016108fc9061214d565b6006805463ffffffff191663ffffffff92909216919091179055565b33321461102e5760405162461bcd60e51b81526020600482015260116024820152706e6f20696e6469726563742063616c6c7360781b60448201526064016108fc565b8351602085015160408601516060870151600160ff86161080159061105c5750600b5460ff90811690861611155b6110a85760405162461bcd60e51b815260206004820152601860248201527f696e76616c69642072657065746974696f6e20636f756e74000000000000000060448201526064016108fc565b3460006110b860ff8816856121c0565b90508082146111095760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e74206d69736d6174636820666f722072657065746974696f6e730060448201526064016108fc565b6007548410156111505760405162461bcd60e51b815260206004820152601260248201527162657420616d6f756e7420746f6f206c6f7760701b60448201526064016108fc565b84158061115d5750846001145b6111b55760405162461bcd60e51b815260206004820152602360248201527f696e76616c696420726f6c6c756e646572206f7220726f6c6c6f7665722076616044820152626c756560e81b60648201526084016108fc565b600183116111f65760405162461bcd60e51b815260206004820152600e60248201526d696e76616c6964206d6f64756c6f60901b60448201526064016108fc565b336001600160a01b0389160361124e5760405162461bcd60e51b815260206004820152601860248201527f696e76616c69642072656665727265722061646472657373000000000000000060448201526064016108fc565b336000908152600c60205260409020546001600160a01b03166112d15760408051808201909152806001600160a01b038a161561128b578961128d565b335b6001600160a01b039081168252600a54602092830152336000908152600c835260409020835181546001600160a01b03191692169190911781559101516001909101555b6000856000036112ed576112e685858961177e565b905061130b565b6113088585896112fe60018361222a565b610803919061222a565b90505b600085821161131b576000611325565b611325868361222a565b905061132f61092c565b81111561137e5760405162461bcd60e51b815260206004820152601d60248201527f70726f6669742065786365656473206d61782077696e20616d6f756e7400000060448201526064016108fc565b8a60005b8a60ff16811015611681576002546040805160c081018252600554815260045460208083019190915260065461ffff6401000000008204168385015263ffffffff8082166060850152660100000000000090910416608083015282519081019092526000808352926001600160a01b031691639b1c385e919060a082019061140990611cde565b8152506040518263ffffffff1660e01b8152600401611428919061223d565b6020604051808303816000875af1158015611447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146b91906122d9565b905060006114798385612201565b9050604051806101200160405280336001600160a01b031681526020018b81526020018781526020018d81526020018c81526020018a8152602001428152602001600c6000336001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a90046001600160a01b03166001600160a01b0316815260200182815250600e600084815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201518160070160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506101008201518160080155905050336001600160a01b0316827ff626100837037d8c3617225e14d690b8dd3de7814f64dfce68b9d7f465ee092c600e600086815260200190815260200160002060405161166f919081546001600160a01b03908116825260018301546020830152600283015460408301526003830154606083015260048301546080830152600583015460a0830152600683015460c083015260078301541660e08201526008909101546101008201526101200190565b60405180910390a35050600101611382565b5050505050505050505050505050565b61169c600033610f51565b6116b85760405162461bcd60e51b81526004016108fc9061214d565b600455565b6116c8600033610f51565b6116e45760405162461bcd60e51b81526004016108fc9061214d565b6127108111156117065760405162461bcd60e51b81526004016108fc9061217b565b600855565b60008281526003602052604090206001015461172681611bd3565b610a668383611c71565b61173b600033610f51565b6117575760405162461bcd60e51b81526004016108fc9061214d565b6127108111156117795760405162461bcd60e51b81526004016108fc9061217b565b600955565b336000908152600c6020526040812060010154600954829161179f91612201565b90508260001080156117b15750838311155b6117fd5760405162461bcd60e51b815260206004820152601c60248201527f77696e2070726f626162696c697479206f7574206f662072616e67650000000060448201526064016108fc565b600061271061180c83886121c0565b61181691906121ed565b90508385611824838961222a565b61182e91906121c0565b61183891906121ed565b9695505050505050565b61184a611d4f565b61185381611da4565b50565b6000838152600e602090815260409182902082516101208101845281546001600160a01b039081168083526001840154948301949094526002830154948201949094526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015490931660e0840152600801546101008301526119145760405162461bcd60e51b815260206004820152600d60248201526c18995d081b9bdd08199bdd5b99609a1b60448201526064016108fc565b60008160a001518261010001518585600081811061193457611934612214565b905060200201356119459190612201565b61194f91906122f2565b90506000826080015160001461196b5782606001518211611974565b82606001518211155b905060008161198457600061198a565b83604001515b90508015611b225783516040516000916001600160a01b03169083908381818185875af1925050503d80600081146119de576040519150601f19603f3d011682016040523d82523d6000602084013e6119e3565b606091505b5050905080611a265760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b60448201526064016108fc565b60e08501516001600160a01b031615611b205784516001600160a01b03166000908152600c602090815260408220600101549087015161271091611a69916121c0565b611a7391906121ed565b9050600081118015611a855750804710155b15611b1e5760008660e001516001600160a01b03168260405160006040518083038185875af1925050503d8060008114611adb576040519150601f19603f3d011682016040523d82523d6000602084013e611ae0565b606091505b505090508015611b1c5760e08701516001600160a01b03166000908152600d602052604081208054849290611b16908490612201565b90915550505b505b505b505b835160408051858152602081018490528415158183015290516001600160a01b039092169189917f27812a8a723537940281509031069955c8f39548529272052f76d7ebfd94742a919081900360600190a350505060009384525050600e602052506040812080546001600160a01b03199081168255600182018390556002820183905560038201839055600482018390556005820183905560068201839055600782018054909116905560080155565b6118538133611e4d565b6000611be98383610f51565b611c695760008381526003602090815260408083206001600160a01b03861684529091529020805460ff19166001179055611c213390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016108cf565b5060006108cf565b6000611c7d8383610f51565b15611c695760008381526003602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016108cf565b60607f92fd13387c7fe7befbc38d303d6468778fb9731bc4583f17d92989c6fcfdeaaa82604051602401611d1791511515815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915292915050565b6000546001600160a01b03163314611da25760405162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b60448201526064016108fc565b565b336001600160a01b03821603611dfc5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016108fc565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b611e578282610f51565b610a3d5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016108fc565b600060208284031215611e9857600080fd5b81356001600160e01b031981168114611eb057600080fd5b9392505050565b600060208284031215611ec957600080fd5b5035919050565b600080600060408486031215611ee557600080fd5b83359250602084013567ffffffffffffffff811115611f0357600080fd5b8401601f81018613611f1457600080fd5b803567ffffffffffffffff811115611f2b57600080fd5b8660208260051b8401011115611f4057600080fd5b939660209190910195509293505050565b80356001600160a01b0381168114611f6857600080fd5b919050565b60008060408385031215611f8057600080fd5b82359150611f9060208401611f51565b90509250929050565b600080600060608486031215611fae57600080fd5b611fb784611f51565b9250611fc560208501611f51565b929592945050506040919091013590565b600060208284031215611fe857600080fd5b611eb082611f51565b803560ff81168114611f6857600080fd5b60006020828403121561201457600080fd5b611eb082611ff1565b60006020828403121561202f57600080fd5b813561ffff81168114611eb057600080fd5b60006020828403121561205357600080fd5b813563ffffffff81168114611eb057600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060008060e0858703121561209357600080fd5b85601f8601126120a257600080fd5b6040516080810181811067ffffffffffffffff821117156120c5576120c5612067565b6040528060808701888111156120da57600080fd5b875b818110156120f45780358352602092830192016120dc565b509195505035925061210860a08601611f51565b915061211660c08601611ff1565b905092959194509250565b60008060006060848603121561213657600080fd5b505081359360208301359350604090920135919050565b6020808252601490820152736d75737420686176652061646d696e20726f6c6560601b604082015260600190565b6020808252601590820152747573652070657263656e7461676520706f696e747360581b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108cf576108cf6121aa565b634e487b7160e01b600052601260045260246000fd5b6000826121fc576121fc6121d7565b500490565b808201808211156108cf576108cf6121aa565b634e487b7160e01b600052603260045260246000fd5b818103818111156108cf576108cf6121aa565b60208152815160208201526020820151604082015261ffff604083015116606082015263ffffffff606083015116608082015263ffffffff60808301511660a0820152600060a083015160c08084015280518060e085015260005b818110156122b6576020818401810151610100878401015201612298565b5060006101008286010152610100601f19601f8301168501019250505092915050565b6000602082840312156122eb57600080fd5b5051919050565b600082612301576123016121d7565b50069056fea2646970667358221220a0dbaacc3e30051d214c48f3547c200d005e0a2a48abc25149bdc4521cc5e67b64736f6c634300081a0033b146844460a44cf4a0e2674646f868ffe3be07f32bc007e803e5ad6a1cf5948e00b81b5a830cb0a4009fbd8904de511e28631e62ce5ad231373d3cdad373ccab000000000000000000000000d5d517abe5cf79b7e95ec98db0f0277788aff634