16 txs
262 calls
constructor
constructor(address _rolesManager, address _nftLogic, address _usdc, address _treasury, address _initialOwner)
functions
BINARY_EARNS_PERCENTAGE
viewfunction BINARY_EARNS_PERCENTAGE() view returns (uint256)
BLOCKCHAIN_INFRASTRUCTURE_EARNS_PERCENTAGE
viewfunction BLOCKCHAIN_INFRASTRUCTURE_EARNS_PERCENTAGE() view returns (uint256)
BONUS_AND_REWARD_CONTRACT
viewfunction BONUS_AND_REWARD_CONTRACT() view returns (address)
CORE_EARNS_PERCENTAGE
viewfunction CORE_EARNS_PERCENTAGE() view returns (uint256)
coreEarnsBalance
viewfunction coreEarnsBalance() view returns (uint256)
getPercentages
viewfunction getPercentages() view returns (uint256 nft_sponsor, uint256 lp_sponsor)
isPaused
viewfunction isPaused() view returns (bool)
LIQUIDITY_CONTRACT
viewfunction LIQUIDITY_CONTRACT() view returns (address)
LP_POINTS_SPONSOR_EARNS_PERCENTAGE
viewfunction LP_POINTS_SPONSOR_EARNS_PERCENTAGE() view returns (uint256)
LP_SPONSOR_EARNS_PERCENTAGE
viewfunction LP_SPONSOR_EARNS_PERCENTAGE() view returns (uint256)
LP_TLV_TOTAL_AMOUNT_IN
viewfunction LP_TLV_TOTAL_AMOUNT_IN() view returns (uint256)
MATCHING_EARNS_PERCENTAGE
viewfunction MATCHING_EARNS_PERCENTAGE() view returns (uint256)
MEMBERSHIP_ADDRESS
viewfunction MEMBERSHIP_ADDRESS() view returns (address)
NFT_ADDRESS
viewfunction NFT_ADDRESS() view returns (address)
NFT_POINTS_SPONSOR_EARNS_PERCENTAGE
viewfunction NFT_POINTS_SPONSOR_EARNS_PERCENTAGE() view returns (uint256)
NFT_SPONSOR_EARNS_PERCENTAGE
viewfunction NFT_SPONSOR_EARNS_PERCENTAGE() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
ROLES_MANAGER
viewfunction ROLES_MANAGER() view returns (address)
TREASURY
viewfunction TREASURY() view returns (address)
USDC
viewfunction USDC() view returns (address)
emergencyPause
nonpayablefunction emergencyPause()
emergencyUnpause
nonpayablefunction emergencyUnpause()
pay
nonpayablefunction pay(address _from, address _sponsor, uint96 _sponsorNFTId, uint256 _amount, uint8 _productType, uint8 _bonusAndRewardsType)
renounceOwnership
nonpayablefunction renounceOwnership()
setContractsAddress
nonpayablefunction setContractsAddress(address _address, uint8 _operation)
setEarnsPercentages
nonpayablefunction setEarnsPercentages(uint256 _percentage, uint8 _operationType)
setPointsEarnsPercentages
nonpayablefunction setPointsEarnsPercentages(uint256 _percentage, uint8 _operationType)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SponsorReward
event SponsorReward(uint256 indexed sponsorNFTId, uint256 productCost, uint8 indexed productType, uint256 sponsorUSDCEarned, uint256 date)
Unpaused
event Unpaused(address account)
errors
AccessDenied
error AccessDenied()
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
T1
error T1()
V1
error V1()
V3
error V3()
V4
error V4()
V5
error V5()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002d3938038062002d39833981810160405281019062000037919062000306565b806001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000b55760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000ac91906200039f565b60405180910390fd5b620000c681620001d660201b60201c565b5084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050620003bc565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002ce82620002a1565b9050919050565b620002e081620002c1565b8114620002ec57600080fd5b50565b6000815190506200030081620002d5565b92915050565b600080600080600060a086880312156200032557620003246200029c565b5b60006200033588828901620002ef565b95505060206200034888828901620002ef565b94505060406200035b88828901620002ef565b93505060606200036e88828901620002ef565b92505060806200038188828901620002ef565b9150509295509295909350565b6200039981620002c1565b82525050565b6000602082019050620003b660008301846200038e565b92915050565b61296d80620003cc6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806389a3027111610104578063c30fdc4d116100a2578063eb74af2c11610071578063eb74af2c1461047f578063f2fde38b1461049d578063fef13ae3146104b9578063ff7cf02f146104d7576101cf565b8063c30fdc4d14610409578063c7e3c2b214610427578063d07e427414610445578063dbe6543f14610463576101cf565b8063924d0500116100de578063924d0500146103915780639b826c2d146103af578063b187bd26146103cd578063b32c5c45146103eb576101cf565b806389a30271146103365780638da5cb5b1461035457806390f25eb314610372576101cf565b8063564768511161017157806376a6bf2c1161014b57806376a6bf2c146102c0578063794c5808146102dc57806385215ff9146102fa5780638690e43b14610318576101cf565b8063564768511461027c5780635c975abb14610298578063715018a6146102b6576101cf565b80634a4e3bd5116101ad5780634a4e3bd51461022c5780634baa62bf1461023657806351858e27146102545780635409af6e1461025e576101cf565b8063058ac9c5146101d457806309c4efbd146101f25780632d2c55651461020e575b600080fd5b6101dc6104f5565b6040516101e99190611f1b565b60405180910390f35b61020c60048036038101906102079190611f8c565b6104fb565b005b6102166106ec565b604051610223919061200d565b60405180910390f35b610234610712565b005b61023e61079d565b60405161024b919061200d565b60405180910390f35b61025c6107c3565b005b61026661084e565b6040516102739190611f1b565b60405180910390f35b610296600480360381019061029191906120e2565b610854565b005b6102a0610d11565b6040516102ad919061218a565b60405180910390f35b6102be610d28565b005b6102da60048036038101906102d591906121ca565b610d3c565b005b6102e4611127565b6040516102f19190611f1b565b60405180910390f35b61030261112d565b60405161030f9190611f1b565b60405180910390f35b610320611133565b60405161032d919061200d565b60405180910390f35b61033e611159565b60405161034b919061200d565b60405180910390f35b61035c61117f565b604051610369919061200d565b60405180910390f35b61037a6111a9565b60405161038892919061220a565b60405180910390f35b6103996111ba565b6040516103a69190611f1b565b60405180910390f35b6103b76111c0565b6040516103c49190611f1b565b60405180910390f35b6103d56111c6565b6040516103e2919061218a565b60405180910390f35b6103f36111d5565b604051610400919061200d565b60405180910390f35b6104116111fb565b60405161041e9190611f1b565b60405180910390f35b61042f611201565b60405161043c9190612292565b60405180910390f35b61044d611227565b60405161045a9190611f1b565b60405180910390f35b61047d60048036038101906104789190611f8c565b61122d565b005b61048761133b565b6040516104949190611f1b565b60405180910390f35b6104b760048036038101906104b291906122ad565b611341565b005b6104c16113c7565b6040516104ce9190611f1b565b60405180910390f35b6104df6113cd565b6040516104ec919061200d565b60405180910390f35b600a5481565b61055d600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518060400160405280600a81526020017f535550455241444d494e000000000000000000000000000000000000000000008152506113f3565b6064821115610598576040517f9c58ee2100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060058111156105ac576105ab6122da565b5b8160058111156105bf576105be6122da565b5b036105d057816006819055506106e8565b600160058111156105e4576105e36122da565b5b8160058111156105f7576105f66122da565b5b0361060857816007819055506106e7565b6002600581111561061c5761061b6122da565b5b81600581111561062f5761062e6122da565b5b036106405781600a819055506106e6565b60036005811115610654576106536122da565b5b816005811115610667576106666122da565b5b036106785781600b819055506106e5565b6004600581111561068c5761068b6122da565b5b81600581111561069f5761069e6122da565b5b036106b05781600c819055506106e4565b6005808111156106c3576106c26122da565b5b8160058111156106d6576106d56122da565b5b036106e35781600d819055505b5b5b5b5b5b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61071a611439565b732ee70f0585d83f523ae876f86b8df2c6c8677a9973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610793576040517f3ee569bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61079b6114a0565b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107cb611439565b732ee70f0585d83f523ae876f86b8df2c6c8677a9973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610844576040517f3ee569bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c611503565b565b60085481565b61085c611566565b6108646115ac565b61086d336115ed565b60008060006402540be3ff876bffffffffffffffffffffffff16146109425761089685856116d3565b905060006108a3866117ae565b9050600160028111156108b9576108b86122da565b5b8660028111156108cc576108cb6122da565b5b146108d85760006108f1565b606481886108e69190612338565b6108f091906123a9565b5b93506064826001600281111561090a576109096122da565b5b88600281111561091d5761091c6122da565b5b14610928578861092a565b855b6109349190612338565b61093e91906123a9565b9250505b600060016002811115610958576109576122da565b5b86600281111561096b5761096a6122da565b5b1461098157828761097c91906123da565b6109c3565b6064600c54600d54600b54600a54610999919061240e565b6109a3919061240e565b6109ad919061240e565b886109b89190612338565b6109c291906123a9565b5b90506000600160028111156109db576109da6122da565b5b8760028111156109ee576109ed6122da565b5b146109f95783610a06565b8184610a05919061240e565b5b90506000600167ffffffffffffffff811115610a2557610a24612442565b5b604051908082528060200260200182016040528015610a535781602001602082028036833780820191505090505b5090508981600081518110610a6b57610a6a612471565b5b60200260200101906bffffffffffffffffffffffff1690816bffffffffffffffffffffffff16815250506000600167ffffffffffffffff811115610ab257610ab1612442565b5b604051908082528060200260200182016040528015610ae05781602001602082028036833780820191505090505b5090508581600081518110610af857610af7612471565b5b6020026020010181815250506402540be3ff8b6bffffffffffffffffffffffff1614610bb457600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639aab1ddd8389848d8d6040518663ffffffff1660e01b8152600401610b819594939291906126ac565b600060405180830381600087803b158015610b9b57600080fd5b505af1158015610baf573d6000803e3d6000fd5b505050505b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ec1b9278b600a54600b54600d5460016002811115610c1057610c0f6122da565b5b8f6002811115610c2357610c226122da565b5b14610c2e578a610c32565b600c545b8f6040518763ffffffff1660e01b8152600401610c549695949392919061270d565b600060405180830381600087803b158015610c6e57600080fd5b505af1158015610c82573d6000803e3d6000fd5b50505050610c9d8d84858d610c9791906123da565b8c611852565b886002811115610cb057610caf6122da565b5b8b6bffffffffffffffffffffffff167fc25a871d55e717db19cdd5539b0c15608a4daecb7a869a512b49c79ae77f48488c8942604051610cf29392919061276e565b60405180910390a350505050505050610d09611c0f565b505050505050565b6000601160149054906101000a900460ff16905090565b610d30611c19565b610d3a6000611ca0565b565b610d9e600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518060400160405280600a81526020017f535550455241444d494e000000000000000000000000000000000000000000008152506113f3565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e04576040517f2fb42d7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006006811115610e1857610e176122da565b5b816006811115610e2b57610e2a6122da565b5b03610e765781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611123565b60016006811115610e8a57610e896122da565b5b816006811115610e9d57610e9c6122da565b5b03610ee85781600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611122565b60026006811115610efc57610efb6122da565b5b816006811115610f0f57610f0e6122da565b5b03610f5a5781600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611121565b60036006811115610f6e57610f6d6122da565b5b816006811115610f8157610f806122da565b5b03610fcc5781600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611120565b60046006811115610fe057610fdf6122da565b5b816006811115610ff357610ff26122da565b5b0361103e5781600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111f565b60056006811115611052576110516122da565b5b816006811115611065576110646122da565b5b036110b05781600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111e565b6006808111156110c3576110c26122da565b5b8160068111156110d6576110d56122da565b5b0361111d5781600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b5b5b5b5050565b60075481565b60105481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600654915060075490509091565b600d5481565b60125481565b60006111d0610d11565b905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b61128f600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518060400160405280600a81526020017f535550455241444d494e000000000000000000000000000000000000000000008152506113f3565b60648211156112ca576040517f9c58ee2100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060058111156112de576112dd6122da565b5b8160058111156112f1576112f06122da565b5b036113025781600881905550611337565b60016005811115611316576113156122da565b5b816005811115611329576113286122da565b5b0361133657816009819055505b5b5050565b600b5481565b611349611c19565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113bb5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016113b2919061200d565b60405180910390fd5b6113c481611ca0565b50565b600c5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113fe838383611d66565b611434576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461149e576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6114a8611eba565b6000601160146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6114ec611efa565b6040516114f9919061200d565b60405180910390a1565b61150b6115ac565b6001601160146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861154f611efa565b60405161155c919061200d565b60405180910390a1565b6002600054036115a2576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600081905550565b6115b4610d11565b156115eb576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156116995750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156116d0576040517f3ee569bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60008060028111156116e8576116e76122da565b5b8260028111156116fb576116fa6122da565b5b036117715760006002811115611714576117136122da565b5b836002811115611727576117266122da565b5b036117365760065490506117a8565b6001600281111561174a576117496122da565b5b83600281111561175d5761175c6122da565b5b0361176c5760075490506117a8565b6117a3565b6040517f16ce049b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600090505b92915050565b60008060028111156117c3576117c26122da565b5b8260028111156117d6576117d56122da565b5b036117e557600854905061184d565b600160028111156117f9576117f86122da565b5b82600281111561180c5761180b6122da565b5b0361181b57600954905061184d565b6040517f16ce049b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905042600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d911197876040518263ffffffff1660e01b81526004016118d5919061200d565b602060405180830381865afa1580156118f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191691906127ba565b111561194e576040517f3ee569bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838561195c919061240e565b9050808273ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401611998919061200d565b602060405180830381865afa1580156119b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d991906127ba565b1015611a11576040517f3ee569bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd87600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886040518463ffffffff1660e01b8152600401611a70939291906127e7565b6020604051808303816000875af1158015611a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab3919061284a565b611ae9576040517fa11efef400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd87600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518463ffffffff1660e01b8152600401611b48939291906127e7565b6020604051808303816000875af1158015611b67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8b919061284a565b611bc1576040517fa11efef400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016002811115611bd557611bd46122da565b5b836002811115611be857611be76122da565b5b03611c07578360106000828254611bff919061240e565b925050819055505b505050505050565b6001600081905550565b611c21611efa565b73ffffffffffffffffffffffffffffffffffffffff16611c3f61117f565b73ffffffffffffffffffffffffffffffffffffffff1614611c9e57611c62611efa565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611c95919061200d565b60405180910390fd5b565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808473ffffffffffffffffffffffffffffffffffffffff16637909185185856040518363ffffffff1660e01b8152600401611da4929190612907565b6020604051808303816000875af1158015611dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de7919061284a565b905080158015611e2357508373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b15611eae578473ffffffffffffffffffffffffffffffffffffffff16637909185132856040518363ffffffff1660e01b8152600401611e63929190612907565b6020604051808303816000875af1158015611e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea6919061284a565b915050611eb3565b809150505b9392505050565b611ec2610d11565b611ef8576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600033905090565b6000819050919050565b611f1581611f02565b82525050565b6000602082019050611f306000830184611f0c565b92915050565b600080fd5b611f4481611f02565b8114611f4f57600080fd5b50565b600081359050611f6181611f3b565b92915050565b60068110611f7457600080fd5b50565b600081359050611f8681611f67565b92915050565b60008060408385031215611fa357611fa2611f36565b5b6000611fb185828601611f52565b9250506020611fc285828601611f77565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ff782611fcc565b9050919050565b61200781611fec565b82525050565b60006020820190506120226000830184611ffe565b92915050565b61203181611fec565b811461203c57600080fd5b50565b60008135905061204e81612028565b92915050565b60006bffffffffffffffffffffffff82169050919050565b61207581612054565b811461208057600080fd5b50565b6000813590506120928161206c565b92915050565b600381106120a557600080fd5b50565b6000813590506120b781612098565b92915050565b600381106120ca57600080fd5b50565b6000813590506120dc816120bd565b92915050565b60008060008060008060c087890312156120ff576120fe611f36565b5b600061210d89828a0161203f565b965050602061211e89828a0161203f565b955050604061212f89828a01612083565b945050606061214089828a01611f52565b935050608061215189828a016120a8565b92505060a061216289828a016120cd565b9150509295509295509295565b60008115159050919050565b6121848161216f565b82525050565b600060208201905061219f600083018461217b565b92915050565b600781106121b257600080fd5b50565b6000813590506121c4816121a5565b92915050565b600080604083850312156121e1576121e0611f36565b5b60006121ef8582860161203f565b9250506020612200858286016121b5565b9150509250929050565b600060408201905061221f6000830185611f0c565b61222c6020830184611f0c565b9392505050565b6000819050919050565b600061225861225361224e84611fcc565b612233565b611fcc565b9050919050565b600061226a8261223d565b9050919050565b600061227c8261225f565b9050919050565b61228c81612271565b82525050565b60006020820190506122a76000830184612283565b92915050565b6000602082840312156122c3576122c2611f36565b5b60006122d18482850161203f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061234382611f02565b915061234e83611f02565b925082820261235c81611f02565b9150828204841483151761237357612372612309565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123b482611f02565b91506123bf83611f02565b9250826123cf576123ce61237a565b5b828204905092915050565b60006123e582611f02565b91506123f083611f02565b925082820390508181111561240857612407612309565b5b92915050565b600061241982611f02565b915061242483611f02565b925082820190508082111561243c5761243b612309565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6124d581612054565b82525050565b60006124e783836124cc565b60208301905092915050565b6000602082019050919050565b600061250b826124a0565b61251581856124ab565b9350612520836124bc565b8060005b8381101561255157815161253888826124db565b9750612543836124f3565b925050600181019050612524565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61259381611f02565b82525050565b60006125a5838361258a565b60208301905092915050565b6000602082019050919050565b60006125c98261255e565b6125d38185612569565b93506125de8361257a565b8060005b8381101561260f5781516125f68882612599565b9750612601836125b1565b9250506001810190506125e2565b5085935050505092915050565b6003811061262d5761262c6122da565b5b50565b600081905061263e8261261c565b919050565b600061264e82612630565b9050919050565b61265e81612643565b82525050565b60038110612675576126746122da565b5b50565b600081905061268682612664565b919050565b600061269682612678565b9050919050565b6126a68161268b565b82525050565b600060a08201905081810360008301526126c68188612500565b90506126d56020830187611f0c565b81810360408301526126e781866125be565b90506126f66060830185612655565b612703608083018461269d565b9695505050505050565b600060c0820190506127226000830189611f0c565b61272f6020830188611f0c565b61273c6040830187611f0c565b6127496060830186611f0c565b6127566080830185611f0c565b61276360a0830184612655565b979650505050505050565b60006060820190506127836000830186611f0c565b6127906020830185611f0c565b61279d6040830184611f0c565b949350505050565b6000815190506127b481611f3b565b92915050565b6000602082840312156127d0576127cf611f36565b5b60006127de848285016127a5565b91505092915050565b60006060820190506127fc6000830186611ffe565b6128096020830185611ffe565b6128166040830184611f0c565b949350505050565b6128278161216f565b811461283257600080fd5b50565b6000815190506128448161281e565b92915050565b6000602082840312156128605761285f611f36565b5b600061286e84828501612835565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128b1578082015181840152602081019050612896565b60008484015250505050565b6000601f19601f8301169050919050565b60006128d982612877565b6128e38185612882565b93506128f3818560208601612893565b6128fc816128bd565b840191505092915050565b600060408201905061291c6000830185611ffe565b818103602083015261292e81846128ce565b9050939250505056fea2646970667358221220002cabd4ce0145133df976ea73e2df08f75e44d49b8be8731edd2110f23edba464736f6c63430008180033000000000000000000000000f79641d66bf22e777f9cf74bdaf535cb2539490900000000000000000000000000000000000000000000000000000000000000000000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000041e5acc488f6c7ace53b5471153355008b12b6110000000000000000000000001bd41c988fd8807a73e79cfb465df488e73d6c0d