0 txs
2.3k calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(uint256 _pid) view returns (uint256)
calculateHarvestDcbRewards
viewfunction calculateHarvestDcbRewards(uint256 _pid) view returns (uint256 currentCallFee)
calculateTotalPendingRewards
viewfunction calculateTotalPendingRewards(uint256 _pid) view returns (uint256 amount)
callFee
viewfunction callFee() view returns (uint256)
canUnstake
viewfunction canUnstake(address _user, uint256 _pid) view returns (bool)
ERC712_VERSION
viewfunction ERC712_VERSION() view returns (string)
getDomainSeparator
viewfunction getDomainSeparator() view returns (bytes32)
getPricePerFullShare
viewfunction getPricePerFullShare(uint256 _pid) view returns (uint256)
getRewardOfUser
viewfunction getRewardOfUser(address _user, uint256 _pid) view returns (uint256 reward)
masterchef
viewfunction masterchef() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pools
viewfunction pools(uint256) view returns (uint256 totalShares, uint256 pendingClaim, uint256 lastHarvestedTime)
rebates
viewfunction rebates(uint256) view returns (bool isEarlyWithdrawActive, uint256 rebatePercent, uint256 earlyWithdrawPenalty)
users
viewfunction users(uint256, address) view returns (uint256 shares, uint256 lastDepositedTime, uint256 totalInvested, uint256 totalClaimed)
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount)
harvest
nonpayablefunction harvest(uint256 _pid)
harvestAll
nonpayablefunction harvestAll()
initialize
nonpayablefunction initialize(address _masterchef)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setCallFee
nonpayablefunction setCallFee(uint256 _callFee)
setDomainSeparator
nonpayablefunction setDomainSeparator(string name)
setRebateInfo
nonpayablefunction setRebateInfo(uint256 _pid, tuple _rebate)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferUserStakeInfo
nonpayablefunction transferUserStakeInfo(address from, address to, uint256 pid, bytes signature)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _shares)
withdrawAll
nonpayablefunction withdrawAll(uint256 _pid)
events
CallFeeSet
event CallFeeSet(uint256 callFee)
Deposit
event Deposit(address indexed sender, uint256 indexed poolId, uint256 amount, uint256 lastDepositedTime)
Harvest
event Harvest(address indexed sender, uint256 indexed poolId, uint256 time)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Pause
event Pause()
Paused
event Paused(address account)
RebateInfoSet
event RebateInfoSet(uint256 pid, (bool isEarlyWithdrawActive, uint256 rebatePercent, uint256 earlyWithdrawPenalty) rebate)
RebateSent
event RebateSent(address indexed sender, uint256 indexed poolId, uint256 amount)
TokenTransferred
event TokenTransferred(address token, uint256 amount)
TransferUserInfo
event TransferUserInfo(address indexed from, address to, uint256 pid)
Unpause
event Unpause()
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(address indexed sender, uint256 indexed poolId, uint256 amount, uint256 time)
WithdrawPenalty
event WithdrawPenalty(address indexed sender, uint256 indexed poolId, uint256 amount)
errors
InvalidTransferUserInfoSignature
error InvalidTransferUserInfoSignature(bytes signature)
UserAlreadyHasShares
error UserAlreadyHasShares(address to, uint256 pid)
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61322480620000f36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638ed955b911610104578063b9e22ec0116100a2578063e2bbb15811610071578063e2bbb158146104b9578063ed24911d146104cc578063f2fde38b146104d4578063fb1db278146104e757600080fd5b8063b9e22ec014610430578063c4d66de814610443578063d3cb644c14610456578063ddc63262146104a657600080fd5b80639cc7f708116100de5780639cc7f70814610360578063a3d0eb9314610373578063ac4afa3814610386578063b9d02df4146103d057600080fd5b80638ed955b91461033c57806390321e1a14610344578063958e2d311461034d57600080fd5b8063441a3e70116101715780635e598d121161014b5780635e598d12146102da578063715018a6146102ed5780638456cb59146102f55780638da5cb5b146102fd57600080fd5b8063441a3e701461029d57806354b147ed146102b05780635c975abb146102c357600080fd5b806326465826116101ad578063264658261461025c5780633bfac8aa1461026f5780633e9d591a146102825780633f4ba83a1461029557600080fd5b80630f7e5970146101d45780631a3fb14e14610226578063209c0ba914610247575b600080fd5b6102106040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60405161021d9190612ca9565b60405180910390f35b610239610234366004612cdc565b610507565b60405190815260200161021d565b61025a610255366004612d32565b6105c6565b005b61025a61026a366004612cdc565b6106e2565b61025a61027d366004612db2565b610776565b610239610290366004612cdc565b610842565b61025a610923565b61025a6102ab366004612e63565b610966565b6102396102be366004612ea7565b610e90565b60655460ff165b604051901515815260200161021d565b6102ca6102e8366004612ea7565b610f1e565b61025a611018565b61025a61102c565b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161021d565b61025a61106f565b61023960985481565b61025a61035b366004612cdc565b611137565b61023961036e366004612cdc565b61115c565b61025a610381366004612ed3565b61121e565b6103b5610394366004612cdc565b609a6020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161021d565b6104106103de366004612f72565b609960209081526000928352604080842090915290825290208054600182015460028301546003909301549192909184565b60408051948552602085019390935291830152606082015260800161021d565b61023961043e366004612cdc565b611370565b61025a610451366004612fa2565b6113e9565b610489610464366004612cdc565b609b6020526000908152604090208054600182015460029092015460ff909116919083565b60408051931515845260208401929092529082015260600161021d565b61025a6104b4366004612cdc565b611602565b61025a6104c7366004612e63565b6118a8565b609c54610239565b61025a6104e2366004612fa2565b611eb2565b6097546103179073ffffffffffffffffffffffffffffffffffffffff1681565b6097546040517fbe95e01a0000000000000000000000000000000000000000000000000000000081526004810183905230602482015260009173ffffffffffffffffffffffffffffffffffffffff169063be95e01a90604401602060405180830381865afa15801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190612fbf565b6000838152609a60205260409020600101549091506105c09082613007565b92915050565b6105ce611f4c565b6127108160200151111580156105ea5750612710816040015111155b61063b5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964207265626174652070657263656e740000000000000000000060448201526064015b60405180910390fd5b6000828152609b6020908152604091829020835181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016901515178155838201805160018301558484018051600290930192909255835186815285511515938101939093525192820192909252905160608201527fdd1eaa1ec6917cd84c778bdf466dbe5795fbc0705c629707296f7f4c5f19945a906080015b60405180910390a15050565b6106ea611f4c565b612710811061073b5760405162461bcd60e51b815260206004820152601060248201527f496e76616c69642063616c6c20666565000000000000000000000000000000006044820152606401610632565b60988190556040518181527f914a0ec1d1321eb63edd89bf2a52760c6f1099ddd5b10703222e8ba75e79c9369060200160405180910390a150565b61077e611f4c565b61083f818051602080830191909120604080518082018252600181527f31000000000000000000000000000000000000000000000000000000000000009084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160408051601f198184030181529190528051602090910120609c5550565b50565b6097546040517fbe95e01a00000000000000000000000000000000000000000000000000000000815260048101839052306024820152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063be95e01a90604401602060405180830381865afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190612fbf565b6000848152609a60205260409020600101549091506108ff9082613007565b905061271060985482610912919061301a565b61091c9190613031565b9392505050565b61092b611f4c565b610933611fb3565b61093b612005565b6040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b61096f82611602565b6000828152609a6020908152604080832060998352818420338552909252909120826109dd5760405162461bcd60e51b815260206004820152601360248201527f4e6f7468696e6720746f207769746864726177000000000000000000000000006044820152606401610632565b8054831115610a2e5760405162461bcd60e51b815260206004820152601860248201527f576974686472617720657863656564732062616c616e636500000000000000006044820152606401610632565b610a383385610f1e565b610a845760405162461bcd60e51b815260206004820152601260248201527f5374616b65207374696c6c206c6f636b656400000000000000000000000000006044820152606401610632565b815460009084610a938761115c565b610a9d919061301a565b610aa79190613031565b905060008260000154858460020154610ac0919061301a565b610aca9190613031565b610ad4908361306c565b6097546040517ff686f358000000000000000000000000000000000000000000000000000000008152600481018990523360248201526044810183905291925060009173ffffffffffffffffffffffffffffffffffffffff9091169063f686f358906064016020604051808303816000875af1158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190612fbf565b90508360000154868560020154610b93919061301a565b610b9d9190613031565b846002016000828254610bb0919061306c565b9091555050835486908590600090610bc990849061306c565b9091555050845486908690600090610be290849061306c565b90915550610bf290508183613007565b846003016000828254610c059190613007565b9091555060009050610c1688612082565b6097546040517f372caeb8000000000000000000000000000000000000000000000000000000008152600481018b90526024810187905291925073ffffffffffffffffffffffffffffffffffffffff169063372caeb8906044016020604051808303816000875af1158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb3919061307f565b506097546040517f1526fe27000000000000000000000000000000000000000000000000000000008152600481018a905260009173ffffffffffffffffffffffffffffffffffffffff1690631526fe279060240160e060405180830381865afa158015610d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d48919061309c565b50505050509150508062015180610d5f919061301a565b8660010154610d6e9190613007565b421015610e28576000898152609b602052604081206002015461271090610d95908861301a565b610d9f9190613031565b609754909150610dc99073ffffffffffffffffffffffffffffffffffffffff858116911683612127565b610dd3818761306c565b9550893373ffffffffffffffffffffffffffffffffffffffff167fe3f966d8d22399b4fb179621d9c066615897e2f653f3f20b59bd6f90832867d683604051610e1e91815260200190565b60405180910390a3505b610e4973ffffffffffffffffffffffffffffffffffffffff83163387612127565b604080518681524260208201528a9133917f02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca94910160405180910390a3505050505050505050565b600081815260996020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812081610ec984611370565b90506000670de0b6b3a7640000828460000154610ee6919061301a565b610ef09190613031565b90508260020154811015610f05576000610f14565b6002830154610f14908261306c565b9695505050505050565b600081815260996020908152604080832073ffffffffffffffffffffffffffffffffffffffff8681168552925280832060975491517f1526fe2700000000000000000000000000000000000000000000000000000000815260048101869052909284921690631526fe279060240160e060405180830381865afa158015610fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcd919061309c565b50505050509150508062015180610fe4919061301a565b8260010154610ff39190613007565b4210158061100f57506000848152609b602052604090205460ff165b95945050505050565b611020611f4c565b61102a60006121e2565b565b611034611f4c565b61103c612259565b6110446122ac565b6040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b611077612259565b609754604080517f081e3eda000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163081e3eda9160048083019260209291908290030181865afa1580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110b9190612fbf565b905060005b818110156111335761112181611602565b8061112b816130fc565b915050611110565b5050565b600081815260996020908152604080832033845290915290205461083f908290610966565b6097546040517fb9d02df400000000000000000000000000000000000000000000000000000000815260048101839052306024820152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063b9d02df49060440160a060405180830381865afa1580156111d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fa9190613134565b5050506000858152609a602052604090206001015491925061091c91839150613007565b611226611f4c565b600083815260996020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152902054156112ac576040517f837fee1200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101849052604401610632565b6112b98585858585612307565b600083815260996020908152604080832073ffffffffffffffffffffffffffffffffffffffff89811680865291845282852090891680865283862082548155600180840180549183019190915560028085018054918401919091556003808601805491909401558589529388905587905591869055949055815193845291830186905290917f5715d83cf29d9b6c6988c83e4593268715b6930b4a42f8a0d9ada357d1fed086910160405180910390a25050505050565b6000818152609a60209081526040808320815160608101835281548082526001830154948201949094526002909101549181019190915290156113d95780516113b88461115c565b6113ca90670de0b6b3a764000061301a565b6113d49190613031565b61091c565b670de0b6b3a76400009392505050565b600054610100900460ff16158080156114095750600054600160ff909116105b806114235750303b158015611423575060005460ff166001145b6114955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610632565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156114f357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff82166115565760405162461bcd60e51b815260206004820152600c60248201527f5a65726f206164647265737300000000000000000000000000000000000000006044820152606401610632565b61155e612494565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556019609855801561113357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016106d6565b61160a612259565b6000818152609a602052604081209061162283612082565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015611692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b69190612fbf565b6097546040517f379607f50000000000000000000000000000000000000000000000000000000081526004810187905291925073ffffffffffffffffffffffffffffffffffffffff169063379607f5906024016020604051808303816000875af1158015611728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174c919061307f565b506040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090829073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e09190612fbf565b6117ea919061306c565b90506000612710609854836117ff919061301a565b6118099190613031565b9050611815818361306c565b9150428560020181905550818560010160008282546118349190613007565b909155505080156118605761186073ffffffffffffffffffffffffffffffffffffffff85163383612127565b61186986612519565b604051428152869033907f71bab65ced2e5750775a0613be067df48ef06cf92a496ebf7663ae06609249549060200160405180910390a3505050505050565b6118b0612259565b600081116119005760405162461bcd60e51b815260206004820152601260248201527f4e6f7468696e6720746f206465706f73697400000000000000000000000000006044820152606401610632565b6000828152609a602052604080822060975491517f1526fe27000000000000000000000000000000000000000000000000000000008152600481018690529092918291829182918291829173ffffffffffffffffffffffffffffffffffffffff90911690631526fe279060240160e060405180830381865afa15801561198a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ae919061309c565b9650965096505095509550508188856119c79190613007565b1115611a155760405162461bcd60e51b815260206004820152600960248201527f506f6f6c2066756c6c00000000000000000000000000000000000000000000006044820152606401610632565b6000611a24866201518061301a565b611a2e908561306c565b905080421115611a805760405162461bcd60e51b815260206004820152601e60248201527f5374616b696e672064697361626c656420666f72207468697320706f6f6c00006044820152606401610632565b8196505050505050506000611a948561115c565b6097546040517fbe95e01a0000000000000000000000000000000000000000000000000000000081526004810188905230602482015291925073ffffffffffffffffffffffffffffffffffffffff169063be95e01a90604401602060405180830381865afa158015611b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2e9190612fbf565b611b389082613007565b9050611b5c73ffffffffffffffffffffffffffffffffffffffff83163330876125e3565b825460009015611b855783548290611b74908761301a565b611b7e9190613031565b9050611c46565b6097546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529084169063095ea7b3906044016020604051808303816000875af1158015611c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c41919061307f565b508490505b60008681526099602090815260408083203384529091528120805490918391839190611c73908490613007565b9091555050426001820155600281018054879190600090611c95908490613007565b9091555050845482908690600090611cae908490613007565b9250508190555085856001016000828254611cc99190613007565b90915550611cd8905087612519565b6000878152609b602052604081206001015461271090611cf8908961301a565b611d029190613031565b90508015611e6c576000611d158961115c565b6097546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152919250600091908816906370a0823190602401602060405180830381865afa158015611d8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611daf9190612fbf565b905082611dbc838361306c565b1015611e0a5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768207265626174652062616c616e6365000000000000006044820152606401610632565b609754611e329073ffffffffffffffffffffffffffffffffffffffff898116911633866125e3565b6040518381528a9033907f4b7ca6f39504d296f9c6310f7febbc2fc1608d318f5a4ae38f5f35f0965b8e6d9060200160405180910390a350505b60408051888152426020820152899133917f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e910160405180910390a35050505050505050565b611eba611f4c565b73ffffffffffffffffffffffffffffffffffffffff8116611f435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610632565b61083f816121e2565b60335473ffffffffffffffffffffffffffffffffffffffff16331461102a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610632565b60655460ff1661102a5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610632565b61200d611fb3565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6097546040517f1526fe2700000000000000000000000000000000000000000000000000000000815260048101839052600091829173ffffffffffffffffffffffffffffffffffffffff90911690631526fe279060240160e060405180830381865afa1580156120f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211a919061309c565b9998505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526121dd9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612647565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60655460ff161561102a5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610632565b6122b4612259565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120583390565b600083815260996020908152604080832073ffffffffffffffffffffffffffffffffffffffff8981168552908352818420825160808082018552825480835260018401548388018190526002850154848801819052600390950154606080860182905288517fbe4cf69af4ec2333c80cdaa9b1c0d1e1994b68159e6a9ebaf9c47e6a1b6195dc818c0152808a018f9052978f16908801529286019190915260a085015260c084019290925260e0808401929092528351808403909201825261010090920190925281519190920120909161241f6123e38361273c565b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061279f92505050565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461248a5784846040517fb1745f44000000000000000000000000000000000000000000000000000000008152600401610632929190613174565b5050505050505050565b600054610100900460ff166125115760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610632565b61102a6127c3565b6000818152609a60205260409020600101548015611133576097546040517f7b0472f0000000000000000000000000000000000000000000000000000000008152600481018490526024810183905273ffffffffffffffffffffffffffffffffffffffff90911690637b0472f0906044016020604051808303816000875af11580156125a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125cd919061307f565b50506000908152609a6020526040812060010155565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526126419085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612179565b50505050565b60006126a9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166128499092919063ffffffff16565b90508051600014806126ca5750808060200190518101906126ca919061307f565b6121dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610632565b6000612747609c5490565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101839052606201604051602081830303815290604052805190602001209050919050565b60008060006127ae8585612860565b915091506127bb816128a5565b509392505050565b600054610100900460ff166128405760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610632565b61102a336121e2565b60606128588484600085612a0a565b949350505050565b60008082516041036128965760208301516040840151606085015160001a61288a87828585612b09565b9450945050505061289e565b506000905060025b9250929050565b60008160048111156128b9576128b96131a3565b036128c15750565b60018160048111156128d5576128d56131a3565b036129225760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610632565b6002816004811115612936576129366131a3565b036129835760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610632565b6003816004811115612997576129976131a3565b0361083f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610632565b606082471015612a825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610632565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612aab91906131d2565b60006040518083038185875af1925050503d8060008114612ae8576040519150601f19603f3d011682016040523d82523d6000602084013e612aed565b606091505b5091509150612afe87838387612bda565b979650505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612b405750600090506003612bd1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612b94573d6000803e3d6000fd5b5050604051601f19015191505073ffffffffffffffffffffffffffffffffffffffff8116612bca57600060019250925050612bd1565b9150600090505b94509492505050565b60608315612c56578251600003612c4f5773ffffffffffffffffffffffffffffffffffffffff85163b612c4f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610632565b5081612858565b6128588383815115612c6b5781518083602001fd5b8060405162461bcd60e51b81526004016106329190612ca9565b60005b83811015612ca0578181015183820152602001612c88565b50506000910152565b6020815260008251806020840152612cc8816040850160208701612c85565b601f01601f19169190910160400192915050565b600060208284031215612cee57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b801515811461083f57600080fd5b6000808284036080811215612d4657600080fd5b833592506060601f1982011215612d5c57600080fd5b506040516060810181811067ffffffffffffffff82111715612d8057612d80612cf5565b6040526020840135612d9181612d24565b81526040848101356020830152606090940135938101939093525092909150565b600060208284031215612dc457600080fd5b813567ffffffffffffffff80821115612ddc57600080fd5b818401915084601f830112612df057600080fd5b813581811115612e0257612e02612cf5565b604051601f8201601f19908116603f01168101908382118183101715612e2a57612e2a612cf5565b81604052828152876020848701011115612e4357600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060408385031215612e7657600080fd5b50508035926020909101359150565b73ffffffffffffffffffffffffffffffffffffffff8116811461083f57600080fd5b60008060408385031215612eba57600080fd5b8235612ec581612e85565b946020939093013593505050565b600080600080600060808688031215612eeb57600080fd5b8535612ef681612e85565b94506020860135612f0681612e85565b935060408601359250606086013567ffffffffffffffff80821115612f2a57600080fd5b818801915088601f830112612f3e57600080fd5b813581811115612f4d57600080fd5b896020828501011115612f5f57600080fd5b9699959850939650602001949392505050565b60008060408385031215612f8557600080fd5b823591506020830135612f9781612e85565b809150509250929050565b600060208284031215612fb457600080fd5b813561091c81612e85565b600060208284031215612fd157600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105c0576105c0612fd8565b80820281158282048414176105c0576105c0612fd8565b600082613067577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b818103818111156105c0576105c0612fd8565b60006020828403121561309157600080fd5b815161091c81612d24565b600080600080600080600060e0888a0312156130b757600080fd5b875196506020880151955060408801519450606088015193506080880151925060a0880151915060c08801516130ec81612e85565b8091505092959891949750929550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361312d5761312d612fd8565b5060010190565b600080600080600060a0868803121561314c57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516131e4818460208701612c85565b919091019291505056fea26469706673582212207ff9e3d6fa250385376a80744ab8ab7b6fcd10dc9c3a6beb187caf8fa3a3b70764736f6c63430008110033