11 txs
12 calls
constructor
constructor(address _items)
functions
getAllSellableItems
viewfunction getAllSellableItems() view returns (uint256[])
getBulkTokenRedemptionInfo
viewfunction getBulkTokenRedemptionInfo(uint256[] itemIds) view returns (tuple[])
getCurrentStock
viewfunction getCurrentStock(uint256 itemId) view returns (uint256)
getItemsInfo
viewfunction getItemsInfo(uint256[] itemIds) view returns (tuple[])
getTimeToNextRefill
viewfunction getTimeToNextRefill(uint256 itemId) view returns (uint256)
getTokenRedemptionInfo
viewfunction getTokenRedemptionInfo(uint256 itemId) view returns (tuple)
items
viewfunction items() view returns (address)
owner
viewfunction owner() view returns (address)
sellableItemIds
viewfunction sellableItemIds(uint256) view returns (uint256)
sellableItems
viewfunction sellableItems(uint256) view returns (uint256 cost, uint8 saleType, uint256 maxQuantity, uint256 quantitySold, uint256 lastRefreshTime, uint256 refreshPeriodInDays, bool isActive)
tokenRedemptions
viewfunction tokenRedemptions(uint256) view returns (address token, uint256 amount, bool isActive)
bulkPurchaseItems
payablefunction bulkPurchaseItems(uint256[] itemIds, uint256[] amounts) payable
bulkRedeemForToken
nonpayablefunction bulkRedeemForToken(uint256[] itemIds, uint256[] amounts)
deleteItems
nonpayablefunction deleteItems(uint256[] itemIds)
deleteTokenRedemptions
nonpayablefunction deleteTokenRedemptions(uint256[] itemIds)
purchaseItem
payablefunction purchaseItem(uint256 itemId, uint256 amount) payable returns (uint256)
redeemForToken
nonpayablefunction redeemForToken(uint256 itemId, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setBulkSellableItems
nonpayablefunction setBulkSellableItems(uint256[] itemIds, uint256[] costs, uint8[] saleTypes, uint256[] maxQuantities, uint256[] refreshPeriodInDays)
setBulkTokenRedemptions
nonpayablefunction setBulkTokenRedemptions(uint256[] itemIds, address[] tokens, uint256[] amounts)
setSellableItem
nonpayablefunction setSellableItem(uint256 itemId, uint256 cost, uint8 saleType, uint256 maxQuantity, uint256 refreshPeriodInDays)
setTokenRedemption
nonpayablefunction setTokenRedemption(uint256 itemId, address token, uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawERC20
nonpayablefunction withdrawERC20(address token, address to, uint256 amount)
withdrawETH
nonpayablefunction withdrawETH(address to, uint256 amount)
events
BulkItemsPurchased
event BulkItemsPurchased(address indexed buyer, uint256[] itemIds, uint256[] amounts, uint256 totalCost)
ItemPurchased
event ItemPurchased(address indexed buyer, uint256 indexed itemId, uint256 amount, uint256 totalCost)
ItemsDeleted
event ItemsDeleted(uint256[] itemIds)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SellableItemUpdated
event SellableItemUpdated(uint256 indexed itemId, uint256 cost, uint8 saleType, uint256 maxQuantity, uint256 refreshPeriodInDays)
TokenRedemptionsDeleted
event TokenRedemptionsDeleted(uint256[] itemIds)
TokenRedemptionSet
event TokenRedemptionSet(uint256 indexed itemId, address indexed token, uint256 amount)
TokensRedeemed
event TokensRedeemed(address indexed redeemer, uint256 indexed itemId, uint256 amount, uint256 totalTokenAmount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162002c6b38038062002c6b8339810160408190526200003491620000cd565b33806200005b57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b62000066816200007d565b50600180556001600160a01b0316608052620000ff565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620000e057600080fd5b81516001600160a01b0381168114620000f857600080fd5b9392505050565b608051612b4262000129600039600081816104a9015281816112450152611d4f0152612b426000f3fe60806040526004361061016a5760003560e01c80638921015a116100d1578063bd9b3bd91161008a578063e067569811610064578063e0675698146104f8578063e1f387851461050b578063e4a0833314610538578063f2fde38b1461055857600080fd5b8063bd9b3bd914610477578063c06fad0614610497578063d1b87a65146104cb57600080fd5b80638921015a146103025780638da5cb5b14610322578063a77d00f914610354578063a936640e146103c7578063af8160ee14610437578063bd109f391461045757600080fd5b806344004cc11161012357806344004cc11461024057806346c4740d146102605780634782f7791461028d57806349c2bcb0146102ad578063561dec5c146102cd578063715018a6146102ed57600080fd5b806303341e761461017657806316697935146101a957806317569cff146101cb5780632ad6681a146101ed57806334647f501461020d5780633d06a3001461022057600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101966101913660046121c9565b610578565b6040519081526020015b60405180910390f35b3480156101b557600080fd5b506101c96101c436600461222e565b6106b5565b005b3480156101d757600080fd5b506101e0610785565b6040516101a09190612270565b3480156101f957600080fd5b506101966102083660046121c9565b6107dd565b6101c961021b3660046122b4565b61098c565b34801561022c57600080fd5b506101c961023b366004612320565b610cfe565b34801561024c57600080fd5b506101c961025b36600461242d565b610df9565b34801561026c57600080fd5b5061028061027b36600461222e565b610e1a565b6040516101a09190612469565b34801561029957600080fd5b506101c96102a83660046124c4565b610ff8565b3480156102b957600080fd5b506101c96102c83660046122b4565b611099565b3480156102d957600080fd5b506101c96102e83660046124ee565b611159565b3480156102f957600080fd5b506101c96113db565b34801561030e57600080fd5b506101c961031d366004612510565b6113ef565b34801561032e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a0565b34801561036057600080fd5b506103b461036f3660046121c9565b60036020819052600091825260409091208054600182015460028301549383015460048401546005850154600690950154939560ff9384169590949293919290911687565b6040516101a0979695949392919061256d565b3480156103d357600080fd5b506104106103e23660046121c9565b6004602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016101a0565b34801561044357600080fd5b506101c961045236600461222e565b611505565b34801561046357600080fd5b506101c96104723660046125bb565b611683565b34801561048357600080fd5b506101c9610492366004612602565b6118dc565b3480156104a357600080fd5b5061033c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d757600080fd5b506104eb6104e63660046121c9565b61198b565b6040516101a09190612726565b6101966105063660046124ee565b61199c565b34801561051757600080fd5b5061052b61052636600461222e565b6119bd565b6040516101a09190612739565b34801561054457600080fd5b506101966105533660046121c9565b611a67565b34801561056457600080fd5b506101c961057336600461279d565b611a88565b6000818152600360209081526040808320815160e08101909252805482526001810154849383019060ff1660028111156105b4576105b4612535565b60028111156105c5576105c5612535565b81526002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff16151560a09091015260c0810151909150158061062a575060018160200151600281111561062757610627612535565b14155b80610637575060a0810151155b156106455750600092915050565b60008160a001516201518061065a91906127ce565b60a083015161066c90620151806127ce565b836080015161067b91906127e5565b610686906001612807565b61069091906127ce565b90508042106106a3575060009392505050565b6106ad428261281a565b949350505050565b6106bd611ac6565b806106e35760405162461bcd60e51b81526004016106da9061282d565b60405180910390fd5b60005b8181101561074757600460008484848181106107045761070461286e565b60209081029290920135835250810191909152604001600090812080546001600160a01b0319168155600180820192909255600201805460ff19169055016106e6565b507f2c43f3a0c00380ba7ad6b4de4322e2fd0bc7d74b1b4293d42957f60d8a2cfd8d82826040516107799291906128b6565b60405180910390a15050565b606060028054806020026020016040519081016040528092919081815260200182805480156107d357602002820191906000526020600020905b8154815260200190600101908083116107bf575b5050505050905090565b6000818152600360209081526040808320815160e08101909252805482526001810154849383019060ff16600281111561081957610819612535565b600281111561082a5761082a612535565b81526002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff16151560a09091015260c08101519091506108895760405162461bcd60e51b81526004016106da906128ca565b6000816020015160028111156108a1576108a1612535565b036108b0575060001992915050565b6001816020015160028111156108c8576108c8612535565b0361095b5760008160a00151620151806108e291906127ce565b6108ec90426127e5565b905060008260a001516201518061090391906127ce565b836080015161091291906127e5565b9050808211156109285750506040015192915050565b826060015183604001511161093e576000610952565b82606001518360400151610952919061281a565b95945050505050565b8060600151816040015111610971576000610985565b80606001518160400151610985919061281a565b9392505050565b610994611af3565b8281146109b35760405162461bcd60e51b81526004016106da906128f3565b82610a005760405162461bcd60e51b815260206004820152601f60248201527f4d757374207075726368617365206174206c65617374206f6e65206974656d0060448201526064016106da565b60008060005b85811015610b5c57600060036000898985818110610a2657610a2661286e565b9050602002013581526020019081526020016000206040518060e0016040529081600082015481526020016001820160009054906101000a900460ff166002811115610a7457610a74612535565b6002811115610a8557610a85612535565b81526002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff16151560a09091015260c0810151909150610ae45760405162461bcd60e51b81526004016106da906128ca565b6000868684818110610af857610af861286e565b9050602002013511610b1c5760405162461bcd60e51b81526004016106da9061292a565b8051600090878785818110610b3357610b3361286e565b90506020020135610b4491906127ce565b9050610b508186612807565b94505050600101610a06565b5081341015610ba55760405162461bcd60e51b8152602060048201526015602482015274125b9cdd59999a58da595b9d08115512081cd95b9d605a1b60448201526064016106da565b60005b85811015610c0057610bec878783818110610bc557610bc561286e565b90506020020135868684818110610bde57610bde61286e565b905060200201356001611b1d565b610bf69083612807565b9150600101610ba8565b50336001600160a01b03167fe0bd9360f4b37b7b8bc941cd3c5665a717855959790ab7a13f6773fb1cdd3c148787878787604051610c42959493929190612961565b60405180910390a26000610c56823461281a565b90508015610cec57604051600090339083908381818185875af1925050503d8060008114610ca0576040519150601f19603f3d011682016040523d82523d6000602084013e610ca5565b606091505b5050905080610cea5760405162461bcd60e51b8152602060048201526011602482015270115512081c99599d5b990819985a5b1959607a1b60448201526064016106da565b505b505050610cf860018055565b50505050565b610d06611ac6565b8887148015610d1457508885145b8015610d1f57508883145b8015610d2a57508881145b610d465760405162461bcd60e51b81526004016106da906128f3565b60005b89811015610dec57610de48b8b83818110610d6657610d6661286e565b905060200201358a8a84818110610d7f57610d7f61286e565b90506020020135898985818110610d9857610d9861286e565b9050602002016020810190610dad919061299b565b888886818110610dbf57610dbf61286e565b90506020020135878787818110610dd857610dd861286e565b90506020020135611683565b600101610d49565b5050505050505050505050565b610e01611ac6565b610e156001600160a01b0384168383611dfa565b505050565b606060008267ffffffffffffffff811115610e3757610e376129b6565b604051908082528060200260200182016040528015610e8e57816020015b610e7b604051806060016040528060008152602001600081526020016000151581525090565b815260200190600190039081610e555790505b50905060005b83811015610fee576000858583818110610eb057610eb061286e565b602090810292909201356000818152600384526040808220815160e08101909252805482526001810154939650919490935090919083019060ff166002811115610efc57610efc612535565b6002811115610f0d57610f0d612535565b81526002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff16151560a09091015260c0810151909150610f98576040518060600160405280600081526020016000815260200160001515815250848481518110610f8657610f8661286e565b60200260200101819052505050610fe6565b6040518060600160405280610fac846107dd565b8152602001610fba84610578565b815260200160011515815250848481518110610fd857610fd861286e565b602002602001018190525050505b600101610e94565b5090505b92915050565b611000611ac6565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461104d576040519150601f19603f3d011682016040523d82523d6000602084013e611052565b606091505b5050905080610e155760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016106da565b8281146110b85760405162461bcd60e51b81526004016106da906128f3565b826111055760405162461bcd60e51b815260206004820152601d60248201527f4d7573742072656465656d206174206c65617374206f6e65206974656d00000060448201526064016106da565b60005b838110156111525761114a8585838181106111255761112561286e565b9050602002013584848481811061113e5761113e61286e565b90506020020135611159565b600101611108565b5050505050565b611161611af3565b600081116111815760405162461bcd60e51b81526004016106da9061292a565b600082815260046020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515918101829052906112225760405162461bcd60e51b815260206004820152602960248201527f546f6b656e20726564656d7074696f6e206e6f742061637469766520666f722060448201526874686973206974656d60b81b60648201526084016106da565b60405163325e7d4f60e01b815233600482015260248101849052604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063325e7d4f90606401600060405180830381600087803b15801561129157600080fd5b505af11580156112a5573d6000803e3d6000fd5b5050505060008160200151836112bb91906127ce565b82516040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132b91906129cc565b10156113795760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e636500000000000060448201526064016106da565b815161138f906001600160a01b03163383611dfa565b6040805184815260208101839052859133917fbac106664789786e9447ad88f3982270e2061a36e65e191da1d7707d87e284ff910160405180910390a350506113d760018055565b5050565b6113e3611ac6565b6113ed6000611e4c565b565b6113f7611ac6565b6001600160a01b0382166114455760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b60448201526064016106da565b600081116114655760405162461bcd60e51b81526004016106da9061292a565b604080516060810182526001600160a01b038481168083526020808401868152600185870181815260008b815260048552889020965187546001600160a01b031916961695909517865590519085015591516002909301805460ff1916931515939093179092559151838152909185917f467a7fa8e9c3905cc461185e5a7639d8c6ef043f494a706cd7c25fe0bcc3cb61910160405180910390a3505050565b61150d611ac6565b8061152a5760405162461bcd60e51b81526004016106da9061282d565b60005b818110156116515760008383838181106115495761154961286e565b90506020020135905060005b6002548110156116015781600282815481106115735761157361286e565b9060005260206000200154036115f957600280546115939060019061281a565b815481106115a3576115a361286e565b9060005260206000200154600282815481106115c1576115c161286e565b60009182526020909120015560028054806115de576115de6129e5565b60019003818190600052602060002001600090559055611601565b600101611555565b50600090815260036020819052604082208281556001808201805460ff1990811690915560028301859055928201849055600482018490556005820193909355600601805490911690550161152d565b507fa9b2d6b135a3d7b701723dcfa7bb2209300cf5dd64d46bd29cec8ff713e6bebe82826040516107799291906128b6565b61168b611ac6565b600183600281111561169f5761169f612535565b1415806116ac5750600081115b6116f85760405162461bcd60e51b815260206004820152601a60248201527f5265667265736820706572696f64206d757374206265203e203000000000000060448201526064016106da565b6000600184600281111561170e5761170e612535565b1461171a576000611748565b61172782620151806127ce565b61173483620151806127ce565b61173e90426127e5565b61174891906127ce565b90506000805b60025481101561178d57876002828154811061176c5761176c61286e565b906000526020600020015403611785576001915061178d565b60010161174e565b50806117c957600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace018790555b6040518060e001604052808781526020018660028111156117ec576117ec612535565b81526020808201879052600060408084018290526060840187905260808401889052600160a09094018490528b82526003835290208351815590830151818301805492939192909160ff199091169083600281111561184d5761184d612535565b02179055506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0909201516006909101805460ff19169115159190911790555187907fef0e807ad0bf2259a7bb30922ac9a000a1b4cdd47af917ac21dc379d3379896e906118cb9089908990899089906129fb565b60405180910390a250505050505050565b6118e4611ac6565b84831480156118f257508481145b61190e5760405162461bcd60e51b81526004016106da906128f3565b60005b858110156119825761197a87878381811061192e5761192e61286e565b905060200201358686848181106119475761194761286e565b905060200201602081019061195c919061279d565b85858581811061196e5761196e61286e565b905060200201356113ef565b600101611911565b50505050505050565b61199361218f565b610ff282611e9c565b60006119a6611af3565b6119b283836000611b1d565b9050610ff260018055565b606060008267ffffffffffffffff8111156119da576119da6129b6565b604051908082528060200260200182016040528015611a1357816020015b611a0061218f565b8152602001906001900390816119f85790505b50905060005b83811015610fee57611a42858583818110611a3657611a3661286e565b90506020020135611e9c565b828281518110611a5457611a5461286e565b6020908102919091010152600101611a19565b60028181548110611a7757600080fd5b600091825260209091200154905081565b611a90611ac6565b6001600160a01b038116611aba57604051631e4fbdf760e01b8152600060048201526024016106da565b611ac381611e4c565b50565b6000546001600160a01b031633146113ed5760405163118cdaa760e01b81523360048201526024016106da565b600260015403611b1657604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6000808311611b3e5760405162461bcd60e51b81526004016106da9061292a565b6000848152600360205260409020600681015460ff16611b705760405162461bcd60e51b81526004016106da906128ca565b6000611b7b866107dd565b905084811015611bc25760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742073746f636b60701b60448201526064016106da565b8154600090611bd190876127ce565b905084611c285780341015611c285760405162461bcd60e51b815260206004820152601960248201527f496e636f72726563742045544820616d6f756e742073656e740000000000000060448201526064016106da565b60018084015460ff166002811115611c4257611c42612535565b03611ce4576000836005015462015180611c5c91906127ce565b611c6690426127e5565b90506000846005015462015180611c7d91906127ce565b8560040154611c8c91906127e5565b905080821115611cc357600385018890556005850154611cac90836127ce565b611cb990620151806127ce565b6004860155611cdd565b87856003016000828254611cd79190612807565b90915550505b5050611d1e565b6002600184015460ff166002811115611cff57611cff612535565b03611d1e5785836003016000828254611d189190612807565b90915550505b60405163731133e960e01b8152336004820152602481018890526044810187905260806064820152600060848201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063731133e99060a401600060405180830381600087803b158015611d9b57600080fd5b505af1158015611daf573d6000803e3d6000fd5b505060408051898152602081018590528a93503392507f2ff487d8fb1812f5d8a4602a340c48ce2d129f0ba25d788a2796fcdbcff930f6910160405180910390a39695505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610e15908490612025565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611ea461218f565b6000828152600460209081526040808320815160608101835281546001600160a01b0316815260018201548185015260029091015460ff161515818301908152825193840190925283835290519092908015611f09575082516001600160a01b031615155b15611fe75782600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015611f7157506040513d6000823e601f3d908101601f19168201604052611f6e9190810190612a21565b60015b15611f795791505b82516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611fc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe491906129cc565b90505b6040805160a08101825284516001600160a01b0316815260208086015190820152938101511515908401526060830191909152608082015292915050565b600061203a6001600160a01b03841683612088565b9050805160001415801561205f57508080602001905181019061205d9190612ace565b155b15610e1557604051635274afe760e01b81526001600160a01b03841660048201526024016106da565b60606109858383600084600080856001600160a01b031684866040516120ae9190612af0565b60006040518083038185875af1925050503d80600081146120eb576040519150601f19603f3d011682016040523d82523d6000602084013e6120f0565b606091505b509150915061210086838361210a565b9695505050505050565b60608261211f5761211a82612166565b610985565b815115801561213657506001600160a01b0384163b155b1561215f57604051639996b31560e01b81526001600160a01b03851660048201526024016106da565b5080610985565b8051156121765780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518060a0016040528060006001600160a01b031681526020016000815260200160001515815260200160608152602001600081525090565b6000602082840312156121db57600080fd5b5035919050565b60008083601f8401126121f457600080fd5b50813567ffffffffffffffff81111561220c57600080fd5b6020830191508360208260051b850101111561222757600080fd5b9250929050565b6000806020838503121561224157600080fd5b823567ffffffffffffffff81111561225857600080fd5b612264858286016121e2565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156122a85783518352928401929184019160010161228c565b50909695505050505050565b600080600080604085870312156122ca57600080fd5b843567ffffffffffffffff808211156122e257600080fd5b6122ee888389016121e2565b9096509450602087013591508082111561230757600080fd5b50612314878288016121e2565b95989497509550505050565b60008060008060008060008060008060a08b8d03121561233f57600080fd5b8a3567ffffffffffffffff8082111561235757600080fd5b6123638e838f016121e2565b909c509a5060208d013591508082111561237c57600080fd5b6123888e838f016121e2565b909a50985060408d01359150808211156123a157600080fd5b6123ad8e838f016121e2565b909850965060608d01359150808211156123c657600080fd5b6123d28e838f016121e2565b909650945060808d01359150808211156123eb57600080fd5b506123f88d828e016121e2565b915080935050809150509295989b9194979a5092959850565b80356001600160a01b038116811461242857600080fd5b919050565b60008060006060848603121561244257600080fd5b61244b84612411565b925061245960208501612411565b9150604084013590509250925092565b602080825282518282018190526000919060409081850190868401855b828110156124b757815180518552868101518786015285015115158585015260609093019290850190600101612486565b5091979650505050505050565b600080604083850312156124d757600080fd5b6124e083612411565b946020939093013593505050565b6000806040838503121561250157600080fd5b50508035926020909101359150565b60008060006060848603121561252557600080fd5b8335925061245960208501612411565b634e487b7160e01b600052602160045260246000fd5b6003811061256957634e487b7160e01b600052602160045260246000fd5b9052565b87815260e08101612581602083018961254b565b60408201969096526060810194909452608084019290925260a0830152151560c09091015292915050565b80356003811061242857600080fd5b600080600080600060a086880312156125d357600080fd5b85359450602086013593506125ea604087016125ac565b94979396509394606081013594506080013592915050565b6000806000806000806060878903121561261b57600080fd5b863567ffffffffffffffff8082111561263357600080fd5b61263f8a838b016121e2565b9098509650602089013591508082111561265857600080fd5b6126648a838b016121e2565b9096509450604089013591508082111561267d57600080fd5b5061268a89828a016121e2565b979a9699509497509295939492505050565b60005b838110156126b757818101518382015260200161269f565b50506000910152565b60018060a01b038151168252602081015160208301526040810151151560408301526000606082015160a0606085015280518060a08601526127098160c087016020850161269c565b608093840151938501939093525050601f01601f19160160c00190565b60208152600061098560208301846126c0565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561279057603f1988860301845261277e8583516126c0565b94509285019290850190600101612762565b5092979650505050505050565b6000602082840312156127af57600080fd5b61098582612411565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610ff257610ff26127b8565b60008261280257634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ff257610ff26127b8565b81810381811115610ff257610ff26127b8565b60208082526021908201527f4d7573742070726f76696465206174206c65617374206f6e65206974656d20496040820152601160fa1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b81835260006001600160fb1b0383111561289d57600080fd5b8260051b80836020870137939093016020019392505050565b6020815260006106ad602083018486612884565b6020808252600f908201526e4974656d206e6f742061637469766560881b604082015260600190565b60208082526018908201527f4172726179206c656e67746873206d757374206d617463680000000000000000604082015260600190565b6020808252601d908201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604082015260600190565b606081526000612975606083018789612884565b8281036020840152612988818688612884565b9150508260408301529695505050505050565b6000602082840312156129ad57600080fd5b610985826125ac565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156129de57600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fd5b84815260808101612a0f602083018661254b565b60408201939093526060015292915050565b600060208284031215612a3357600080fd5b815167ffffffffffffffff80821115612a4b57600080fd5b818401915084601f830112612a5f57600080fd5b815181811115612a7157612a716129b6565b604051601f8201601f19908116603f01168101908382118183101715612a9957612a996129b6565b81604052828152876020848701011115612ab257600080fd5b612ac383602083016020880161269c565b979650505050505050565b600060208284031215612ae057600080fd5b8151801515811461098557600080fd5b60008251612b0281846020870161269c565b919091019291505056fea26469706673582212208cd8880868bde19a4781efd93efa5ac170772ab4e2c9cc7b6f088209fdf98f1a64736f6c63430008180033000000000000000000000000ad574f7f4eb563b0ccdcca0d7d7628aeaf071d65