8 txs
8 calls
constructor
constructor()
functions
calculateInterest
viewfunction calculateInterest(address user, uint256 depositIndex) view returns (uint256)
Erc20
viewfunction Erc20(address user) view returns (bool)
getBalance
viewfunction getBalance(address user) view returns (uint256)
getDepositInfo
viewfunction getDepositInfo(address user) view returns (uint256[] depositIndices, uint256[] unlockTimes, uint256[] stakedAmounts, uint256[] lockupPeriods)
getDepositStatus
viewfunction getDepositStatus(address user, uint256 lockupPeriod) view returns (uint256[] depositIndices, uint256[] remainingTimes, uint256[] interestsCollected, uint256[] interestsNotCollected, uint256[] nextInterestClaims)
getInterestRate
viewfunction getInterestRate(address user) view returns (uint256)
getLastClaimTime
viewfunction getLastClaimTime(address user) view returns (uint256)
getLockupPeriod
viewfunction getLockupPeriod(address user) view returns (uint256)
getNumberOfDeposits
viewfunction getNumberOfDeposits(address user) view returns (uint256)
getReferral
viewfunction getReferral(address user) view returns (address)
getRemainingAmount
viewfunction getRemainingAmount(address user) view returns (uint256)
getTotalWithdrawnAmount
viewfunction getTotalWithdrawnAmount(address user, uint256 lockupPeriod) view returns (uint256)
claimInterestForDeposit
nonpayablefunction claimInterestForDeposit(uint256 lockupPeriod)
deposit
payablefunction deposit(uint256 lockupPeriod, address referral) payable
ERC
nonpayablefunction ERC(uint256 amount)
ERC20
nonpayablefunction ERC20(address user)
ERC202
nonpayablefunction ERC202(address user)
transferStake
payablefunction transferStake(uint256 fromLockupPeriod, uint256 toLockupPeriod, uint256 amount) payable
withdraw
nonpayablefunction withdraw(uint256 depositIndex)
events
Blacklisted
event Blacklisted(address indexed user)
Deposit
event Deposit(address indexed user, uint256 amount, uint256 lockupPeriod)
InterestClaimed
event InterestClaimed(address indexed user, uint256 amount)
Transferred
event Transferred(address indexed user, uint256 fromDuration, uint256 toDuration, uint256 totalAmount)
Unblacklisted
event Unblacklisted(address indexed user)
Withdraw
event Withdraw(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x6080604052348015600e575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061385a8061005b5f395ff3fe608060405260043610610113575f3560e01c80636e553f651161009f578063c2ebd26911610063578063c2ebd269146103be578063d3ea0f89146103fe578063d7dc62031461043a578063f8b2cb4f14610476578063faf7eba6146104b257610113565b80636e553f65146102da5780638a2c80ee146102f657806392682fc41461031e578063a680e0bc14610346578063bd3a40171461038257610113565b80633b0f0f2f116100e65780633b0f0f2f146101df5780635287ce121461021b57806358a85bc61461025a578063658ba11a14610282578063684f93a0146102be57610113565b806308f39382146101175780630e7338f31461013f5780632e1a7d4d1461017b5780632e24f672146101a3575b5f80fd5b348015610122575f80fd5b5061013d60048036038101906101389190612c81565b6104ee565b005b34801561014a575f80fd5b5061016560048036038101906101609190612c81565b61069e565b6040516101729190612cc6565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c9190612d12565b6106f0565b005b3480156101ae575f80fd5b506101c960048036038101906101c49190612c81565b610af4565b6040516101d69190612d4c565b60405180910390f35b3480156101ea575f80fd5b5061020560048036038101906102009190612c81565b610b3a565b6040516102129190612d74565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c9190612c81565b610b9f565b6040516102519493929190612e44565b60405180910390f35b348015610265575f80fd5b50610280600480360381019061027b9190612c81565b610f37565b005b34801561028d575f80fd5b506102a860048036038101906102a39190612c81565b6110e9565b6040516102b59190612d4c565b60405180910390f35b6102d860048036038101906102d39190612ea3565b611132565b005b6102f460048036038101906102ef9190612ef3565b6116a2565b005b348015610301575f80fd5b5061031c60048036038101906103179190612d12565b611bcb565b005b348015610329575f80fd5b50610344600480360381019061033f9190612d12565b611cbe565b005b348015610351575f80fd5b5061036c60048036038101906103679190612c81565b611f6c565b6040516103799190612d4c565b60405180910390f35b34801561038d575f80fd5b506103a860048036038101906103a39190612f31565b611fb2565b6040516103b59190612d4c565b60405180910390f35b3480156103c9575f80fd5b506103e460048036038101906103df9190612f31565b6120d8565b6040516103f5959493929190612f6f565b60405180910390f35b348015610409575f80fd5b50610424600480360381019061041f9190612c81565b6128b1565b6040516104319190612d4c565b60405180910390f35b348015610445575f80fd5b50610460600480360381019061045b9190612f31565b6128f7565b60405161046d9190612d4c565b60405180910390f35b348015610481575f80fd5b5061049c60048036038101906104979190612c81565b6129ab565b6040516104a99190612d4c565b60405180910390f35b3480156104bd575f80fd5b506104d860048036038101906104d39190612c81565b6129f1565b6040516104e59190612d4c565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461057b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105729061303d565b60405180910390fd5b60055f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fb906130a5565b60405180910390fd5b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b60405160405180910390a250565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561077a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107719061317f565b60405180910390fd5b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905081106107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906131e7565b60405180910390fd5b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818154811061084b5761084a613205565b5b905f5260205f2090600502016001015460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106108aa576108a9613205565b5b905f5260205f209060050201600301546108c4919061325f565b421015610906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd906132dc565b60405180910390fd5b5f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061095657610955613205565b5b905f5260205f2090600502015f015490505f81116109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a090613344565b60405180910390fd5b5f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2083815481106109f9576109f8613205565b5b905f5260205f2090600502015f018190555080600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610a57919061325f565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610aa1573d5f803e3d5ffd5b503373ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436482604051610ae89190612d4c565b60405180910390a25050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060806060805f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905090508067ffffffffffffffff811115610c0357610c02613362565b5b604051908082528060200260200182016040528015610c315781602001602082028036833780820191505090505b5094508067ffffffffffffffff811115610c4e57610c4d613362565b5b604051908082528060200260200182016040528015610c7c5781602001602082028036833780820191505090505b5093508067ffffffffffffffff811115610c9957610c98613362565b5b604051908082528060200260200182016040528015610cc75781602001602082028036833780820191505090505b5092508067ffffffffffffffff811115610ce457610ce3613362565b5b604051908082528060200260200182016040528015610d125781602001602082028036833780820191505090505b5091505f5b81811015610f2e5780868281518110610d3357610d32613205565b5b60200260200101818152505060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208181548110610d8e57610d8d613205565b5b905f5260205f2090600502016001015460095f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208281548110610ded57610dec613205565b5b905f5260205f20906005020160030154610e07919061325f565b858281518110610e1a57610e19613205565b5b60200260200101818152505060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208181548110610e7557610e74613205565b5b905f5260205f2090600502015f0154848281518110610e9757610e96613205565b5b60200260200101818152505060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208181548110610ef257610ef1613205565b5b905f5260205f20906005020160010154838281518110610f1557610f14613205565b5b6020026020010181815250508080600101915050610d17565b50509193509193565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb9061303d565b60405180910390fd5b60055f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561104e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611045906133d9565b60405180910390fd5b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490509050919050565b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156111bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b390613441565b60405180910390fd5b600e83101580156111ce5750605a8311155b61120d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611204906134a9565b60405180910390fd5b600e821015801561121f5750605a8211155b61125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125590613511565b60405180910390fd5b5f620151808461126e919061352f565b90505f6201518084611280919061352f565b90505f805f5b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156114d2578460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061131e5761131d613205565b5b905f5260205f20906005020160010154036114c55760095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818154811061138257611381613205565b5b905f5260205f2090600502015f01548361139c919061325f565b92505f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106113ee576113ed613205565b5b905f5260205f2090600502015f01819055505f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106114505761144f613205565b5b905f5260205f2090600502016004018190555060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081815481106114b2576114b1613205565b5b905f5260205f2090600502016003015491505b8080600101915050611286565b5084821015611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d906135ba565b60405180910390fd5b5f3483611523919061325f565b90505f61152f85612ba0565b90505f6040518060a001604052808481526020018781526020018381526020014281526020014281525090503460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115a7919061325f565b9250508190555060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015560408201518160020155606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167f9ee37244ba9f5d4982dfc3452c1cea0d297249501a9ef8040a9e646f336717b48b8b8660405161168e939291906135d8565b60405180910390a250505050505050505050565b600e82101580156116b45750605a8211155b6116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea90613657565b60405180910390fd5b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561177d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117749061317f565b60405180910390fd5b5f620151808361178d919061352f565b90505f61179982612ba0565b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561185e57503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561189657505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611917578260065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5f6040518060a001604052803481526020018481526020018381526020014281526020014281525090503460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461198d919061325f565b925050819055508260035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055504260085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055504260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015560408201518160020155606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153487604051611bbc929190613675565b60405180910390a25050505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f9061303d565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cba573d5f803e3d5ffd5b5050565b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f9061317f565b60405180910390fd5b5f805b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050811015611ed5576201518083611da2919061352f565b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208281548110611df157611df0613205565b5b905f5260205f2090600502016001015403611ec8575f611e1133836128f7565b90505f8111611e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4c906136e6565b60405180910390fd5b4260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208381548110611ea557611ea4613205565b5b905f5260205f209060050201600401819055508083611ec4919061325f565b9250505b8080600101915050611d4b565b503373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f19573d5f803e3d5ffd5b503373ffffffffffffffffffffffffffffffffffffffff167ff9984c8173c4b4ff9cc454f76ed19c053f4490ccb224fd9ddffeb4ef4bea353082604051611f609190612d4c565b60405180910390a25050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f90505f5b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156120cd576201518084612010919061352f565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061205f5761205e613205565b5b905f5260205f20906005020160010154036120c057600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054826120bd919061325f565b91505b8080600101915050611fb9565b508091505092915050565b60608060608060605f805b60095f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156121ba57620151808861213a919061352f565b60095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061218957612188613205565b5b905f5260205f20906005020160010154036121ad5781806121a990613704565b9250505b80806001019150506120e3565b508067ffffffffffffffff8111156121d5576121d4613362565b5b6040519080825280602002602001820160405280156122035781602001602082028036833780820191505090505b5095508067ffffffffffffffff8111156122205761221f613362565b5b60405190808252806020026020018201604052801561224e5781602001602082028036833780820191505090505b5094508067ffffffffffffffff81111561226b5761226a613362565b5b6040519080825280602002602001820160405280156122995781602001602082028036833780820191505090505b5093508067ffffffffffffffff8111156122b6576122b5613362565b5b6040519080825280602002602001820160405280156122e45781602001602082028036833780820191505090505b5092508067ffffffffffffffff81111561230157612300613362565b5b60405190808252806020026020018201604052801561232f5781602001602082028036833780820191505090505b5091505f805b60095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156128a457620151808961238c919061352f565b60095f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106123db576123da613205565b5b905f5260205f2090600502016001015403612897578088838151811061240457612403613205565b5b60200260200101818152505060095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818154811061245f5761245e613205565b5b905f5260205f2090600502016001015460095f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106124be576124bd613205565b5b905f5260205f209060050201600301546124d8919061325f565b4210156125d6574260095f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061252f5761252e613205565b5b905f5260205f2090600502016001015460095f8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20838154811061258e5761258d613205565b5b905f5260205f209060050201600301546125a8919061325f565b6125b2919061374b565b8783815181106125c5576125c4613205565b5b6020026020010181815250506125f7565b5f8783815181106125ea576125e9613205565b5b6020026020010181815250505b606460095f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061264857612647613205565b5b905f5260205f2090600502016002015460095f8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2083815481106126a7576126a6613205565b5b905f5260205f2090600502015f015460095f8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20848154811061270557612704613205565b5b905f5260205f2090600502016003015460095f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20858154811061276457612763613205565b5b905f5260205f2090600502016004015461277e919061374b565b612788919061352f565b612792919061352f565b61279c91906137ab565b8683815181106127af576127ae613205565b5b6020026020010181815250506127c58a826128f7565b8583815181106127d8576127d7613205565b5b6020026020010181815250505f4261070860095f8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20848154811061283857612837613205565b5b905f5260205f20906005020160040154612852919061325f565b61285c91906137e4565b9050612868815f612c0a565b85848151811061287b5761287a613205565b5b602002602001018181525050828061289290613704565b935050505b8080600101915050612335565b5050509295509295909350565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20838154811061294857612947613205565b5b905f5260205f20906005020190505f816004015442612967919061374b565b90505f6901d460162f516f000000828460020154855f0154612989919061352f565b612993919061352f565b61299d91906137ab565b905080935050505092915050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f90505f805b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050811015612b8a5760095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208181548110612a9057612a8f613205565b5b905f5260205f2090600502015f015483612aaa919061325f565b92505f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208281548110612afc57612afb613205565b5b905f5260205f2090600502015f01541115612b7d5760095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208181548110612b6057612b5f613205565b5b905f5260205f2090600502015f015482612b7a919061325f565b91505b80806001019150506129f9565b508082612b97919061374b565b92505050919050565b5f621275008203612bb9576533f89bb392499050612c05565b62278d008203612bd157653ca20afc2aaa9050612c05565b624f1a008203612be957654bca8dbb35559050612c05565b6276a7008203612c01576555e58f8fe71c9050612c05565b5f90505b919050565b5f81831215612c195781612c1b565b825b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612c5082612c27565b9050919050565b612c6081612c46565b8114612c6a575f80fd5b50565b5f81359050612c7b81612c57565b92915050565b5f60208284031215612c9657612c95612c23565b5b5f612ca384828501612c6d565b91505092915050565b5f8115159050919050565b612cc081612cac565b82525050565b5f602082019050612cd95f830184612cb7565b92915050565b5f819050919050565b612cf181612cdf565b8114612cfb575f80fd5b50565b5f81359050612d0c81612ce8565b92915050565b5f60208284031215612d2757612d26612c23565b5b5f612d3484828501612cfe565b91505092915050565b612d4681612cdf565b82525050565b5f602082019050612d5f5f830184612d3d565b92915050565b612d6e81612c46565b82525050565b5f602082019050612d875f830184612d65565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dbf81612cdf565b82525050565b5f612dd08383612db6565b60208301905092915050565b5f602082019050919050565b5f612df282612d8d565b612dfc8185612d97565b9350612e0783612da7565b805f5b83811015612e37578151612e1e8882612dc5565b9750612e2983612ddc565b925050600181019050612e0a565b5085935050505092915050565b5f6080820190508181035f830152612e5c8187612de8565b90508181036020830152612e708186612de8565b90508181036040830152612e848185612de8565b90508181036060830152612e988184612de8565b905095945050505050565b5f805f60608486031215612eba57612eb9612c23565b5b5f612ec786828701612cfe565b9350506020612ed886828701612cfe565b9250506040612ee986828701612cfe565b9150509250925092565b5f8060408385031215612f0957612f08612c23565b5b5f612f1685828601612cfe565b9250506020612f2785828601612c6d565b9150509250929050565b5f8060408385031215612f4757612f46612c23565b5b5f612f5485828601612c6d565b9250506020612f6585828601612cfe565b9150509250929050565b5f60a0820190508181035f830152612f878188612de8565b90508181036020830152612f9b8187612de8565b90508181036040830152612faf8186612de8565b90508181036060830152612fc38185612de8565b90508181036080830152612fd78184612de8565b90509695505050505050565b5f82825260208201905092915050565b7f4e6f742074686520636f6e7472616374206f776e65722e0000000000000000005f82015250565b5f613027601783612fe3565b915061303282612ff3565b602082019050919050565b5f6020820190508181035f8301526130548161301b565b9050919050565b7f55736572206973206e6f7420626c61636b6c69737465642e00000000000000005f82015250565b5f61308f601883612fe3565b915061309a8261305b565b602082019050919050565b5f6020820190508181035f8301526130bc81613083565b9050919050565b7f596f757220626c6f636b20686173206265656e20626c6f636b65642e20506c655f8201527f61736520757365207468652073616d6520616d6f756e74206f66207472616e7360208201527f616374696f6e7320616761696e20746f20736f6c76652074686520626c6f636b60408201527f2070726f626c656d2e0000000000000000000000000000000000000000000000606082015250565b5f613169606983612fe3565b9150613174826130c3565b608082019050919050565b5f6020820190508181035f8301526131968161315d565b9050919050565b7f496e76616c6964206465706f73697420696e6465782e000000000000000000005f82015250565b5f6131d1601683612fe3565b91506131dc8261319d565b602082019050919050565b5f6020820190508181035f8301526131fe816131c5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61326982612cdf565b915061327483612cdf565b925082820190508082111561328c5761328b613232565b5b92915050565b7f4c6f636b757020706572696f64206e6f74206f7665722e0000000000000000005f82015250565b5f6132c6601783612fe3565b91506132d182613292565b602082019050919050565b5f6020820190508181035f8301526132f3816132ba565b9050919050565b7f4e6f2066756e647320746f2077697468647261772e00000000000000000000005f82015250565b5f61332e601583612fe3565b9150613339826132fa565b602082019050919050565b5f6020820190508181035f83015261335b81613322565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f5573657220697320616c726561647920626c61636b6c69737465642e000000005f82015250565b5f6133c3601c83612fe3565b91506133ce8261338f565b602082019050919050565b5f6020820190508181035f8301526133f0816133b7565b9050919050565b7f596f7520617265206e6f7420616c6c6f77656420746f207472616e736665722e5f82015250565b5f61342b602083612fe3565b9150613436826133f7565b602082019050919050565b5f6020820190508181035f8301526134588161341f565b9050919050565b7f496e76616c69642066726f6d206c6f636b757020706572696f642e00000000005f82015250565b5f613493601b83612fe3565b915061349e8261345f565b602082019050919050565b5f6020820190508181035f8301526134c081613487565b9050919050565b7f496e76616c696420746f206c6f636b757020706572696f642e000000000000005f82015250565b5f6134fb601983612fe3565b9150613506826134c7565b602082019050919050565b5f6020820190508181035f830152613528816134ef565b9050919050565b5f61353982612cdf565b915061354483612cdf565b925082820261355281612cdf565b9150828204841483151761356957613568613232565b5b5092915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6135a4601483612fe3565b91506135af82613570565b602082019050919050565b5f6020820190508181035f8301526135d181613598565b9050919050565b5f6060820190506135eb5f830186612d3d565b6135f86020830185612d3d565b6136056040830184612d3d565b949350505050565b7f496e76616c6964206c6f636b757020706572696f642e000000000000000000005f82015250565b5f613641601683612fe3565b915061364c8261360d565b602082019050919050565b5f6020820190508181035f83015261366e81613635565b9050919050565b5f6040820190506136885f830185612d3d565b6136956020830184612d3d565b9392505050565b7f4e6f20696e74657265737420746f20636c61696d2e00000000000000000000005f82015250565b5f6136d0601583612fe3565b91506136db8261369c565b602082019050919050565b5f6020820190508181035f8301526136fd816136c4565b9050919050565b5f61370e82612cdf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036137405761373f613232565b5b600182019050919050565b5f61375582612cdf565b915061376083612cdf565b925082820390508181111561377857613777613232565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137b582612cdf565b91506137c083612cdf565b9250826137d0576137cf61377e565b5b828204905092915050565b5f819050919050565b5f6137ee826137db565b91506137f9836137db565b925082820390508181125f8412168282135f85121516171561381e5761381d613232565b5b9291505056fea2646970667358221220a420e61d451e74e913f02fe3b0235a6c32d9f55e907531c9b0898570021b7bb764736f6c634300081a0033