Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
LPFarm
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at moonriver.moonscan.io on 2022-01-10 */ // File: Context.sol // OpenZeppelin Contracts v4.3.2 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: PadLPFarm.sol pragma solidity ^0.8.0; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface TOKEN { function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); } contract LPFarm is Ownable { using SafeMath for uint256; modifier hasDripped { if (dividendPool > 0) { uint256 secondsPassed = SafeMath.sub(block.timestamp, lastDripTime); uint256 dividends = secondsPassed.mul(dividendPool).div(dailyRate); if (dividends > dividendPool) { dividends = dividendPool; } profitPerShare = SafeMath.add(profitPerShare, (dividends * magnitude) / tokenSupply); dividendPool = dividendPool.sub(dividends); lastDripTime = block.timestamp; } _; } modifier onlyTokenHolders { require(myShares() > 0); _; } modifier onlyDivis { require(myRewards() > 0); _; } event onDonation( address indexed userAddress, uint256 tokens ); event onStake( address indexed userAddress, uint256 incomingTokens, uint256 timestamp ); event onUnstake( address indexed customerAddress, uint256 tokenRemoved, uint256 timestamp ); event onReinvest( address indexed customerAddress, uint256 tokensReinvested ); event onWithdraw( address indexed customerAddress, uint256 tokensWithdrawn ); event feeReceiverChanged( address indexed previousFeeReceiver, address indexed newFeeReceiver ); uint256 constant private magnitude = 2 ** 64; uint32 constant private dailyRate = 11520000; //0.75% a day uint8 constant private buyInFee = 75; uint8 constant private sellOutFee = 75; uint8 constant private vaultFee = 25; mapping(address => uint256) private tokenBalanceLedger; mapping(address => int256) private payoutsTo; uint256 public dividendPool = 0; uint256 public lastDripTime = block.timestamp; uint256 public totalDonation = 0; uint256 public totalVaultFundReceived = 0; uint256 public totalVaultFundCollected = 0; uint256 private tokenSupply = 0; uint256 private profitPerShare = 0; address public feeReceiver; TOKEN bep20; constructor() { feeReceiver = address(0x7a06dbaE8666e7DbdCf26A37be020dfedC782176); //vault address bep20 = TOKEN(address(0x21D6DbcA8aACdAa739e40180b1C8C828B46Ae376)); //pair token } fallback() external payable { revert(); } receive() external payable { revert(); } function checkAndTransfer(uint256 _amount) private { require(bep20.transferFrom(msg.sender, address(this), _amount) == true, "transfer must succeed"); } function donateToPool(uint256 _amount) public { require(_amount > 0 && tokenSupply > 0, "must be a positive value and have supply"); checkAndTransfer(_amount); totalDonation += _amount; dividendPool = dividendPool.add(_amount); emit onDonation(msg.sender, _amount); } function payVault() public { uint256 _tokensToPay = tokensToPay(); require(_tokensToPay > 0); bep20.transfer(feeReceiver, _tokensToPay); totalVaultFundReceived = totalVaultFundReceived.add(_tokensToPay); } function reinvest() hasDripped onlyDivis public { address _customerAddress = msg.sender; uint256 _dividends = myRewards(); payoutsTo[_customerAddress] += (int256) (_dividends.mul(magnitude)); uint256 _tokens = purchaseTokens(_customerAddress, _dividends); emit onReinvest(_customerAddress, _tokens); } function withdraw() hasDripped onlyDivis public { address _customerAddress = msg.sender; uint256 _dividends = myRewards(); payoutsTo[_customerAddress] += (int256) (_dividends.mul(magnitude)); bep20.transfer(_customerAddress, _dividends); emit onWithdraw(_customerAddress, _dividends); } function deposit(uint256 _amount) hasDripped public returns (uint256) { checkAndTransfer(_amount); return purchaseTokens(msg.sender, _amount); } function _purchaseTokens(address _customerAddress, uint256 _incomingTokens) private returns(uint256) { uint256 _amountOfTokens = _incomingTokens; require(_amountOfTokens > 0 && _amountOfTokens.add(tokenSupply) > tokenSupply); tokenSupply = tokenSupply.add(_amountOfTokens); tokenBalanceLedger[_customerAddress] = tokenBalanceLedger[_customerAddress].add(_amountOfTokens); int256 _updatedPayouts = (int256) (profitPerShare.mul(_amountOfTokens)); payoutsTo[_customerAddress] += _updatedPayouts; return _amountOfTokens; } function purchaseTokens(address _customerAddress, uint256 _incomingTokens) private returns (uint256) { require(_incomingTokens > 0); uint256 _dividendFee = _incomingTokens.mul(buyInFee).div(1000); uint256 _vaultFee = _incomingTokens.mul(vaultFee).div(1000); uint256 _entryFee = _incomingTokens.mul(100).div(1000); uint256 _taxedTokens = _incomingTokens.sub(_entryFee); uint256 _amountOfTokens = _purchaseTokens(_customerAddress, _taxedTokens); dividendPool = dividendPool.add(_dividendFee); totalVaultFundCollected = totalVaultFundCollected.add(_vaultFee); emit onStake(_customerAddress, _amountOfTokens, block.timestamp); return _amountOfTokens; } function remove(uint256 _amountOfTokens) hasDripped onlyTokenHolders public { address _customerAddress = msg.sender; require(_amountOfTokens > 0 && _amountOfTokens <= tokenBalanceLedger[_customerAddress]); uint256 _dividendFee = _amountOfTokens.mul(sellOutFee).div(1000); uint256 _vaultFee = _amountOfTokens.mul(vaultFee).div(1000); uint256 _taxedTokens = _amountOfTokens.sub(_dividendFee).sub(_vaultFee); tokenSupply = tokenSupply.sub(_amountOfTokens); tokenBalanceLedger[_customerAddress] = tokenBalanceLedger[_customerAddress].sub(_amountOfTokens); int256 _updatedPayouts = (int256) ((profitPerShare.mul(_amountOfTokens)).add(_taxedTokens.mul(magnitude))); payoutsTo[_customerAddress] -= _updatedPayouts; dividendPool = dividendPool.add(_dividendFee); totalVaultFundCollected = totalVaultFundCollected.add(_vaultFee); emit onUnstake(_customerAddress, _taxedTokens, block.timestamp); } function totalTokenBalance() public view returns (uint256) { return bep20.balanceOf(address(this)); } function totalSupply() public view returns(uint256) { return tokenSupply; } function myShares() public view returns (uint256) { address _customerAddress = msg.sender; return sharesOf(_customerAddress); } function myEstimateRewards() public view returns (uint256) { address _customerAddress = msg.sender; return estimateRewardsOf(_customerAddress); } function estimateRewardsOf(address _customerAddress) public view returns (uint256) { uint256 _profitPerShare = profitPerShare; if (dividendPool > 0) { uint256 secondsPassed = 0; secondsPassed = SafeMath.sub(block.timestamp, lastDripTime); uint256 dividends = secondsPassed.mul(dividendPool).div(dailyRate); if (dividends > dividendPool) { dividends = dividendPool; } _profitPerShare = SafeMath.add(_profitPerShare, (dividends * magnitude) / tokenSupply); } return (uint256) ((int256) (_profitPerShare * tokenBalanceLedger[_customerAddress]) - payoutsTo[_customerAddress]) / magnitude; } function myRewards() public view returns (uint256) { address _customerAddress = msg.sender; return rewardsOf(_customerAddress) ; } function rewardsOf(address _customerAddress) public view returns (uint256) { return (uint256) ((int256) (profitPerShare * tokenBalanceLedger[_customerAddress]) - payoutsTo[_customerAddress]) / magnitude; } function sharesOf(address _customerAddress) public view returns (uint256) { return tokenBalanceLedger[_customerAddress]; } function tokensToPay() public view returns(uint256) { return totalVaultFundCollected.sub(totalVaultFundReceived); } function changeFeeReceiver(address _newFeeReceiver) onlyOwner public { address _oldFeeReceiver = _newFeeReceiver; feeReceiver = _newFeeReceiver; emit feeReceiverChanged(_oldFeeReceiver, _newFeeReceiver); } }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousFeeReceiver","type":"address"},{"indexed":true,"internalType":"address","name":"newFeeReceiver","type":"address"}],"name":"feeReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"onDonation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensReinvested","type":"uint256"}],"name":"onReinvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"incomingTokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenRemoved","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onUnstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dividendPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"donateToPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"estimateRewardsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDripTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myEstimateRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reinvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"remove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"rewardsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"sharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensToPay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDonation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaultFundCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaultFundReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600355426004556000600555600060065560006007556000600855600060095534801561003257600080fd5b5061004f6100446100fe60201b60201c565b61010660201b60201c565b737a06dbae8666e7dbdcf26a37be020dfedc782176600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507321d6dbca8aacdaa739e40180b1c8c828b46ae376600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101ca565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61226580620001da6000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063ede6a80d1161006f578063ede6a80d14610480578063ee2ac05f14610497578063f2fde38b146104c2578063f5eb42dc146104eb578063fba1f7b014610528578063fdb5a03e1461055357610159565b80638da5cb5b1461036c5780639e7a475714610397578063b3f00674146103c2578063b6b55f25146103ed578063d4a483941461042a578063da2f63c11461045557610159565b80633d4b2c2c116101085780633d4b2c2c1461025c57806342a7afe214610287578063479ba7ae146102b25780634cc82215146102ef5780634e09d0cc146103185780637c08b9641461034357610159565b8063173425101461015e57806318160ddd146101895780631efcca28146101b45780632d6fa0cc146101f157806330d172d51461021a5780633ccfd60b1461024557610159565b3661015957600080fd5b600080fd5b34801561016a57600080fd5b5061017361056a565b6040516101809190611db8565b60405180910390f35b34801561019557600080fd5b5061019e610570565b6040516101ab9190611db8565b60405180910390f35b3480156101c057600080fd5b506101db60048036038101906101d69190611b6f565b61057a565b6040516101e89190611db8565b60405180910390f35b3480156101fd57600080fd5b5061021860048036038101906102139190611bc1565b6106c2565b005b34801561022657600080fd5b5061022f6107a1565b60405161023c9190611db8565b60405180910390f35b34801561025157600080fd5b5061025a6107a7565b005b34801561026857600080fd5b506102716109f6565b60405161027e9190611db8565b60405180910390f35b34801561029357600080fd5b5061029c610aa8565b6040516102a99190611db8565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d49190611b6f565b610abd565b6040516102e69190611db8565b60405180910390f35b3480156102fb57600080fd5b5061031660048036038101906103119190611bc1565b610b71565b005b34801561032457600080fd5b5061032d610efa565b60405161033a9190611db8565b60405180910390f35b34801561034f57600080fd5b5061036a60048036038101906103659190611b6f565b610f18565b005b34801561037857600080fd5b50610381611038565b60405161038e9190611cbd565b60405180910390f35b3480156103a357600080fd5b506103ac611061565b6040516103b99190611db8565b60405180910390f35b3480156103ce57600080fd5b506103d7611076565b6040516103e49190611cbd565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190611bc1565b61109c565b6040516104219190611db8565b60405180910390f35b34801561043657600080fd5b5061043f61116e565b60405161044c9190611db8565b60405180910390f35b34801561046157600080fd5b5061046a611183565b6040516104779190611db8565b60405180910390f35b34801561048c57600080fd5b50610495611189565b005b3480156104a357600080fd5b506104ac611292565b6040516104b99190611db8565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190611b6f565b611298565b005b3480156104f757600080fd5b50610512600480360381019061050d9190611b6f565b611390565b60405161051f9190611db8565b60405180910390f35b34801561053457600080fd5b5061053d6113d9565b60405161054a9190611db8565b60405180910390f35b34801561055f57600080fd5b506105686113df565b005b60065481565b6000600854905090565b60008060095490506000600354111561061157600061059b4260045461158d565b905060006105cf62afc80063ffffffff166105c1600354856115da90919063ffffffff16565b61164390919063ffffffff16565b90506003548111156105e15760035490505b61060c8360085468010000000000000000846105fd9190611f28565b6106079190611ef7565b611659565b925050505b68010000000000000000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836106a69190611f28565b6106b09190611f82565b6106ba9190611ef7565b915050919050565b6000811180156106d457506000600854115b610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90611d98565b60405180910390fd5b61071c816116a6565b806005600082825461072e9190611ea1565b9250508190555061074a8160035461165990919063ffffffff16565b6003819055503373ffffffffffffffffffffffffffffffffffffffff167fabff69012e8615729dfcbe25d4c003cf6ce7c59d5ec16530f8d51b1b24646944826040516107969190611db8565b60405180910390a250565b60035481565b6000600354111561085e5760006107c04260045461158d565b905060006107f462afc80063ffffffff166107e6600354856115da90919063ffffffff16565b61164390919063ffffffff16565b90506003548111156108065760035490505b61083360095460085468010000000000000000846108249190611f28565b61082e9190611ef7565b611659565b60098190555061084e8160035461158d90919063ffffffff16565b6003819055504260048190555050505b6000610868610aa8565b1161087257600080fd5b60003390506000610881610aa8565b905061089f68010000000000000000826115da90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108ed9190611e0d565b92505081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610951929190611d0f565b602060405180830381600087803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a39190611b98565b508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040516109ea9190611db8565b60405180910390a25050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a539190611cbd565b60206040518083038186803b158015610a6b57600080fd5b505afa158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa39190611bea565b905090565b600080339050610ab781610abd565b91505090565b600068010000000000000000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954610b569190611f28565b610b609190611f82565b610b6a9190611ef7565b9050919050565b60006003541115610c28576000610b8a4260045461158d565b90506000610bbe62afc80063ffffffff16610bb0600354856115da90919063ffffffff16565b61164390919063ffffffff16565b9050600354811115610bd05760035490505b610bfd6009546008546801000000000000000084610bee9190611f28565b610bf89190611ef7565b611659565b600981905550610c188160035461158d90919063ffffffff16565b6003819055504260048190555050505b6000610c32611061565b11610c3c57600080fd5b6000339050600082118015610c905750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b610c9957600080fd5b6000610cc66103e8610cb8604b60ff16866115da90919063ffffffff16565b61164390919063ffffffff16565b90506000610cf56103e8610ce7601960ff16876115da90919063ffffffff16565b61164390919063ffffffff16565b90506000610d1e82610d10858861158d90919063ffffffff16565b61158d90919063ffffffff16565b9050610d358560085461158d90919063ffffffff16565b600881905550610d8d85600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610e14610df168010000000000000000846115da90919063ffffffff16565b610e06886009546115da90919063ffffffff16565b61165990919063ffffffff16565b905080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e659190611f82565b92505081905550610e818460035461165990919063ffffffff16565b600381905550610e9c8360075461165990919063ffffffff16565b6007819055508473ffffffffffffffffffffffffffffffffffffffff167f3d9fb957a04f1f29e06526e9c503fd88a0752d3a58eeccbaeb9e9b17fa24ee418342604051610eea929190611dd3565b60405180910390a2505050505050565b6000610f1360065460075461158d90919063ffffffff16565b905090565b610f206117a0565b73ffffffffffffffffffffffffffffffffffffffff16610f3e611038565b73ffffffffffffffffffffffffffffffffffffffff1614610f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8b90611d78565b60405180910390fd5b600081905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f47bbed8023ac1a0fe3025394c8f6b641a067058c37bc4eb3b7ccd0c68a7606b860405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008033905061107081611390565b91505090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060035411156111545760006110b64260045461158d565b905060006110ea62afc80063ffffffff166110dc600354856115da90919063ffffffff16565b61164390919063ffffffff16565b90506003548111156110fc5760035490505b611129600954600854680100000000000000008461111a9190611f28565b6111249190611ef7565b611659565b6009819055506111448160035461158d90919063ffffffff16565b6003819055504260048190555050505b61115d826116a6565b61116733836117a8565b9050919050565b60008033905061117d8161057a565b91505090565b60075481565b6000611193610efa565b9050600081116111a257600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611221929190611d0f565b602060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611b98565b506112898160065461165990919063ffffffff16565b60068190555050565b60055481565b6112a06117a0565b73ffffffffffffffffffffffffffffffffffffffff166112be611038565b73ffffffffffffffffffffffffffffffffffffffff1614611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130b90611d78565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90611d38565b60405180910390fd5b61138d816118f9565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b600060035411156114965760006113f84260045461158d565b9050600061142c62afc80063ffffffff1661141e600354856115da90919063ffffffff16565b61164390919063ffffffff16565b905060035481111561143e5760035490505b61146b600954600854680100000000000000008461145c9190611f28565b6114669190611ef7565b611659565b6009819055506114868160035461158d90919063ffffffff16565b6003819055504260048190555050505b60006114a0610aa8565b116114aa57600080fd5b600033905060006114b9610aa8565b90506114d768010000000000000000826115da90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115259190611e0d565b92505081905550600061153883836117a8565b90508273ffffffffffffffffffffffffffffffffffffffff167f897045d5a66380517228d05ffbff921f593231848283388b9a65d03e73945eee826040516115809190611db8565b60405180910390a2505050565b6000828211156115c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836115d29190612016565b905092915050565b6000808314156115ed576000905061163d565b81836115f99190611f28565b90508183826116089190611ef7565b1461163c577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b5b92915050565b600081836116519190611ef7565b905092915050565b600081836116679190611ea1565b9050828110156116a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b92915050565b60011515600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161170993929190611cd8565b602060405180830381600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190611b98565b15151461179d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179490611d58565b60405180910390fd5b50565b600033905090565b60008082116117b657600080fd5b60006117e36103e86117d5604b60ff16866115da90919063ffffffff16565b61164390919063ffffffff16565b905060006118126103e8611804601960ff16876115da90919063ffffffff16565b61164390919063ffffffff16565b9050600061183e6103e86118306064886115da90919063ffffffff16565b61164390919063ffffffff16565b90506000611855828761158d90919063ffffffff16565b9050600061186388836119bd565b905061187a8560035461165990919063ffffffff16565b6003819055506118958460075461165990919063ffffffff16565b6007819055508773ffffffffffffffffffffffffffffffffffffffff167f67eb285178ed97c7defb3f6b5d97ea47f24ca9a429e1d6e8f31db80a7c1d930082426040516118e3929190611dd3565b60405180910390a2809550505050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808290506000811180156119e857506008546119e66008548361165990919063ffffffff16565b115b6119f157600080fd5b611a068160085461165990919063ffffffff16565b600881905550611a5e81600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ab8826009546115da90919063ffffffff16565b905080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b099190611e0d565b92505081905550819250505092915050565b600081359050611b2a816121ea565b92915050565b600081519050611b3f81612201565b92915050565b600081359050611b5481612218565b92915050565b600081519050611b6981612218565b92915050565b600060208284031215611b8157600080fd5b6000611b8f84828501611b1b565b91505092915050565b600060208284031215611baa57600080fd5b6000611bb884828501611b30565b91505092915050565b600060208284031215611bd357600080fd5b6000611be184828501611b45565b91505092915050565b600060208284031215611bfc57600080fd5b6000611c0a84828501611b5a565b91505092915050565b611c1c8161204a565b82525050565b6000611c2f602683611dfc565b9150611c3a826120fa565b604082019050919050565b6000611c52601583611dfc565b9150611c5d82612149565b602082019050919050565b6000611c75602083611dfc565b9150611c8082612172565b602082019050919050565b6000611c98602883611dfc565b9150611ca38261219b565b604082019050919050565b611cb781612092565b82525050565b6000602082019050611cd26000830184611c13565b92915050565b6000606082019050611ced6000830186611c13565b611cfa6020830185611c13565b611d076040830184611cae565b949350505050565b6000604082019050611d246000830185611c13565b611d316020830184611cae565b9392505050565b60006020820190508181036000830152611d5181611c22565b9050919050565b60006020820190508181036000830152611d7181611c45565b9050919050565b60006020820190508181036000830152611d9181611c68565b9050919050565b60006020820190508181036000830152611db181611c8b565b9050919050565b6000602082019050611dcd6000830184611cae565b92915050565b6000604082019050611de86000830185611cae565b611df56020830184611cae565b9392505050565b600082825260208201905092915050565b6000611e1882612068565b9150611e2383612068565b9250817f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03831360008312151615611e5e57611e5d61209c565b5b817f8000000000000000000000000000000000000000000000000000000000000000038312600083121615611e9657611e9561209c565b5b828201905092915050565b6000611eac82612092565b9150611eb783612092565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eec57611eeb61209c565b5b828201905092915050565b6000611f0282612092565b9150611f0d83612092565b925082611f1d57611f1c6120cb565b5b828204905092915050565b6000611f3382612092565b9150611f3e83612092565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f7757611f7661209c565b5b828202905092915050565b6000611f8d82612068565b9150611f9883612068565b9250827f800000000000000000000000000000000000000000000000000000000000000001821260008412151615611fd357611fd261209c565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01821360008412161561200b5761200a61209c565b5b828203905092915050565b600061202182612092565b915061202c83612092565b92508282101561203f5761203e61209c565b5b828203905092915050565b600061205582612072565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f7472616e73666572206d75737420737563636565640000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f6d757374206265206120706f7369746976652076616c756520616e642068617660008201527f6520737570706c79000000000000000000000000000000000000000000000000602082015250565b6121f38161204a565b81146121fe57600080fd5b50565b61220a8161205c565b811461221557600080fd5b50565b61222181612092565b811461222c57600080fd5b5056fea2646970667358221220e4bf4c54f91aaacf0968c190900d7dc3cbdaf1268ca40a8c8f28bb54b9b5a99464736f6c63430008040033
Deployed ByteCode Sourcemap
3219:8773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5740:8;;;3219:8773;5678:8;;;5194:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9915:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10346:725;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5938:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5065:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6877:336;;;;;;;;;;;;;:::i;:::-;;9792:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11079:153;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11240:219;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8764:1020;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11611:129;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11752:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1921:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10012:150;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5374:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7221:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10170:168;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5242:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6263:246;;;;;;;;;;;;;:::i;:::-;;5155:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2376:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11467:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5103:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6517:352;;;;;;;;;;;;;:::i;:::-;;5194:41;;;;:::o;9915:89::-;9958:7;9985:11;;9978:18;;9915:89;:::o;10346:725::-;10420:7;10440:23;10466:14;;10440:40;;10512:1;10497:12;;:16;10493:432;;;10528:21;10591:43;10604:15;10621:12;;10591;:43::i;:::-;10575:59;;10649:17;10669:46;4789:8;10669:46;;:31;10687:12;;10669:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;10649:66;;10746:12;;10734:9;:24;10730:83;;;10787:12;;10775:24;;10730:83;10845:68;10858:15;10901:11;;4739:7;10876:9;:21;;;;:::i;:::-;10875:37;;;;:::i;:::-;10845:12;:68::i;:::-;10827:86;;10493:432;;;4739:7;11023:9;:27;11033:16;11023:27;;;;;;;;;;;;;;;;10983:18;:36;11002:16;10983:36;;;;;;;;;;;;;;;;10965:15;:54;;;;:::i;:::-;10955:95;;;;:::i;:::-;10944:119;;;;:::i;:::-;10937:126;;;10346:725;;;:::o;5938:317::-;6013:1;6003:7;:11;:30;;;;;6032:1;6018:11;;:15;6003:30;5995:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6089:25;6106:7;6089:16;:25::i;:::-;6142:7;6125:13;;:24;;;;;;;:::i;:::-;;;;;;;;6175:25;6192:7;6175:12;;:16;;:25;;;;:::i;:::-;6160:12;:40;;;;6227:10;6216:31;;;6239:7;6216:31;;;;;;:::i;:::-;;;;;;;;5938:317;:::o;5065:31::-;;;;:::o;6877:336::-;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;3973:1:::1;3959:11;:9;:11::i;:::-;:15;3951:24;;;::::0;::::1;;6936::::2;6963:10;6936:37;;6984:18;7005:11;:9;:11::i;:::-;6984:32;;7068:25;4739:7;7068:10;:14;;:25;;;;:::i;:::-;7027:9;:27;7037:16;7027:27;;;;;;;;;;;;;;;;:67;;;;;;;:::i;:::-;;;;;;;;7105:5;;;;;;;;;;;:14;;;7120:16;7138:10;7105:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7176:16;7165:40;;;7194:10;7165:40;;;;;;:::i;:::-;;;;;;;;3986:1;;6877:336::o:0;9792:115::-;9842:7;9869:5;;;;;;;;;;;:15;;;9893:4;9869:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9862:37;;9792:115;:::o;11079:153::-;11121:7;11141:24;11168:10;11141:37;;11196:27;11206:16;11196:9;:27::i;:::-;11189:34;;;11079:153;:::o;11240:219::-;11306:7;4739;11411:9;:27;11421:16;11411:27;;;;;;;;;;;;;;;;11371:18;:36;11390:16;11371:36;;;;;;;;;;;;;;;;11354:14;;:53;;;;:::i;:::-;11344:94;;;;:::i;:::-;11333:118;;;;:::i;:::-;11326:125;;11240:219;;;:::o;8764:1020::-;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;3891:1:::1;3878:10;:8;:10::i;:::-;:14;3870:23;;;::::0;::::1;;8851:24:::2;8878:10;8851:37;;8925:1;8907:15;:19;:78;;;;;8949:18;:36;8968:16;8949:36;;;;;;;;;;;;;;;;8930:15;:55;;8907:78;8899:87;;;::::0;::::2;;8999:20;9022:41;9058:4;9022:31;4897:2;9022:31;;:15;:19;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;8999:64;;9074:17;9094:39;9128:4;9094:29;4940:2;9094:29;;:15;:19;;:29;;;;:::i;:::-;:33;;:39;;;;:::i;:::-;9074:59;;9144:20;9167:48;9205:9;9167:33;9187:12;9167:15;:19;;:33;;;;:::i;:::-;:37;;:48;;;;:::i;:::-;9144:71;;9242:32;9258:15;9242:11;;:15;;:32;;;;:::i;:::-;9228:11;:46;;;;9324:57;9365:15;9324:18;:36;9343:16;9324:36;;;;;;;;;;;;;;;;:40;;:57;;;;:::i;:::-;9285:18;:36;9304:16;9285:36;;;;;;;;;;;;;;;:96;;;;9394:22;9429:70;9471:27;4739:7;9471:12;:16;;:27;;;;:::i;:::-;9430:35;9449:15;9430:14;;:18;;:35;;;;:::i;:::-;9429:41;;:70;;;;:::i;:::-;9394:106;;9542:15;9511:9;:27;9521:16;9511:27;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;9585:30;9602:12;9585;;:16;;:30;;;;:::i;:::-;9570:12;:45;;;;9652:38;9680:9;9652:23;;:27;;:38;;;;:::i;:::-;9626:23;:64;;;;9728:16;9718:58;;;9746:12;9760:15;9718:58;;;;;;;:::i;:::-;;;;;;;;3904:1;;;;;8764:1020:::0;:::o;11611:129::-;11654:7;11681:51;11709:22;;11681:23;;:27;;:51;;;;:::i;:::-;11674:58;;11611:129;:::o;11752:237::-;2152:12;:10;:12::i;:::-;2141:23;;:7;:5;:7::i;:::-;:23;;;2133:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11832:23:::1;11858:15;11832:41;;11898:15;11884:11;;:29;;;;;;;;;;;;;;;;;;11965:15;11929:52;;11948:15;11929:52;;;;;;;;;;;;2212:1;11752:237:::0;:::o;1921:87::-;1967:7;1994:6;;;;;;;;;;;1987:13;;1921:87;:::o;10012:150::-;10053:7;10073:24;10100:10;10073:37;;10128:26;10137:16;10128:8;:26::i;:::-;10121:33;;;10012:150;:::o;5374:26::-;;;;;;;;;;;;;:::o;7221:167::-;7282:7;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;7302:25:::1;7319:7;7302:16;:25::i;:::-;7345:35;7360:10;7372:7;7345:14;:35::i;:::-;7338:42;;7221:167:::0;;;:::o;10170:168::-;10220:7;10240:24;10267:10;10240:37;;10295:35;10313:16;10295:17;:35::i;:::-;10288:42;;;10170:168;:::o;5242:42::-;;;;:::o;6263:246::-;6301:20;6324:13;:11;:13::i;:::-;6301:36;;6371:1;6356:12;:16;6348:25;;;;;;6384:5;;;;;;;;;;;:14;;;6399:11;;;;;;;;;;;6412:12;6384:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6461:40;6488:12;6461:22;;:26;;:40;;;;:::i;:::-;6436:22;:65;;;;6263:246;:::o;5155:32::-;;;;:::o;2376:201::-;2152:12;:10;:12::i;:::-;2141:23;;:7;:5;:7::i;:::-;:23;;;2133:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2485:1:::1;2465:22;;:8;:22;;;;2457:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2541:28;2560:8;2541:18;:28::i;:::-;2376:201:::0;:::o;11467:136::-;11532:7;11559:18;:36;11578:16;11559:36;;;;;;;;;;;;;;;;11552:43;;11467:136;;;:::o;5103:45::-;;;;:::o;6517:352::-;3338:1;3323:12;;:16;3319:487;;;3354:21;3378:43;3391:15;3408:12;;3378;:43::i;:::-;3354:67;;3434:17;3454:46;4789:8;3454:46;;:31;3472:12;;3454:13;:17;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;3434:66;;3531:12;;3519:9;:24;3515:83;;;3572:12;;3560:24;;3515:83;3629:67;3642:14;;3684:11;;4739:7;3659:9;:21;;;;:::i;:::-;3658:37;;;;:::i;:::-;3629:12;:67::i;:::-;3612:14;:84;;;;3724:27;3741:9;3724:12;;:16;;:27;;;;:::i;:::-;3709:12;:42;;;;3779:15;3764:12;:30;;;;3319:487;;;3973:1:::1;3959:11;:9;:11::i;:::-;:15;3951:24;;;::::0;::::1;;6576::::2;6603:10;6576:37;;6624:18;6645:11;:9;:11::i;:::-;6624:32;;6709:25;4739:7;6709:10;:14;;:25;;;;:::i;:::-;6667:9;:27;6677:16;6667:27;;;;;;;;;;;;;;;;:68;;;;;;;:::i;:::-;;;;;;;;6746:15;6764:44;6779:16;6797:10;6764:14;:44::i;:::-;6746:62;;6835:16;6824:37;;;6853:7;6824:37;;;;;;:::i;:::-;;;;;;;;3986:1;;;6517:352::o:0;1240:119::-;1298:7;1328:1;1323;:6;;1316:14;;;;;;;;;;;;1350:1;1346;:5;;;;:::i;:::-;1339:12;;1240:119;;;;:::o;940:188::-;998:9;1027:1;1022;:6;1018:41;;;1048:1;1041:8;;;;1018:41;1075:1;1071;:5;;;;:::i;:::-;1067:9;;1101:1;1096;1092;:5;;;;:::i;:::-;:10;1085:18;;;;;;;;;;;;940:188;;;;;:::o;1136:96::-;1194:7;1223:1;1219;:5;;;;:::i;:::-;1212:12;;1136:96;;;;:::o;1367:135::-;1425:9;1453:1;1449;:5;;;;:::i;:::-;1445:9;;1475:1;1470;:6;;1463:14;;;;;;;;;;;;1367:135;;;;:::o;5764:166::-;5892:4;5834:62;;:5;;;;;;;;;;;:18;;;5853:10;5873:4;5880:7;5834:54;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;;;5826:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;5764:166;:::o;649:98::-;702:7;729:10;722:17;;649:98;:::o;7999:757::-;8091:7;8137:1;8119:15;:19;8111:28;;;;;;8152:20;8175:39;8209:4;8175:29;4852:2;8175:29;;:15;:19;;:29;;;;:::i;:::-;:33;;:39;;;;:::i;:::-;8152:62;;8227:17;8247:39;8281:4;8247:29;4940:2;8247:29;;:15;:19;;:29;;;;:::i;:::-;:33;;:39;;;;:::i;:::-;8227:59;;8299:17;8319:34;8348:4;8319:24;8339:3;8319:15;:19;;:24;;;;:::i;:::-;:28;;:34;;;;:::i;:::-;8299:54;;8364:20;8387:30;8407:9;8387:15;:19;;:30;;;;:::i;:::-;8364:53;;8430:23;8456:47;8472:16;8490:12;8456:15;:47::i;:::-;8430:73;;8531:30;8548:12;8531;;:16;;:30;;;;:::i;:::-;8516:12;:45;;;;8598:38;8626:9;8598:23;;:27;;:38;;;;:::i;:::-;8572:23;:64;;;;8662:16;8654:59;;;8680:15;8697;8654:59;;;;;;;:::i;:::-;;;;;;;;8733:15;8726:22;;;;;;;7999:757;;;;:::o;2737:191::-;2811:16;2830:6;;;;;;;;;;;2811:25;;2856:8;2847:6;;:17;;;;;;;;;;;;;;;;;;2911:8;2880:40;;2901:8;2880:40;;;;;;;;;;;;2737:191;;:::o;7396:595::-;7488:7;7508:23;7534:15;7508:41;;7588:1;7570:15;:19;:69;;;;;7628:11;;7593:32;7613:11;;7593:15;:19;;:32;;;;:::i;:::-;:46;7570:69;7562:78;;;;;;7667:32;7683:15;7667:11;;:15;;:32;;;;:::i;:::-;7653:11;:46;;;;7750:57;7791:15;7750:18;:36;7769:16;7750:36;;;;;;;;;;;;;;;;:40;;:57;;;;:::i;:::-;7710:18;:36;7729:16;7710:36;;;;;;;;;;;;;;;:97;;;;7820:22;7855:35;7874:15;7855:14;;:18;;:35;;;;:::i;:::-;7820:71;;7933:15;7902:9;:27;7912:16;7902:27;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;7968:15;7961:22;;;;7396:595;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:139::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;347:87;;;;:::o;440:143::-;497:5;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;503:80;;;;:::o;589:262::-;648:6;697:2;685:9;676:7;672:23;668:32;665:2;;;713:1;710;703:12;665:2;756:1;781:53;826:7;817:6;806:9;802:22;781:53;:::i;:::-;771:63;;727:117;655:196;;;;:::o;857:278::-;924:6;973:2;961:9;952:7;948:23;944:32;941:2;;;989:1;986;979:12;941:2;1032:1;1057:61;1110:7;1101:6;1090:9;1086:22;1057:61;:::i;:::-;1047:71;;1003:125;931:204;;;;:::o;1141:262::-;1200:6;1249:2;1237:9;1228:7;1224:23;1220:32;1217:2;;;1265:1;1262;1255:12;1217:2;1308:1;1333:53;1378:7;1369:6;1358:9;1354:22;1333:53;:::i;:::-;1323:63;;1279:117;1207:196;;;;:::o;1409:284::-;1479:6;1528:2;1516:9;1507:7;1503:23;1499:32;1496:2;;;1544:1;1541;1534:12;1496:2;1587:1;1612:64;1668:7;1659:6;1648:9;1644:22;1612:64;:::i;:::-;1602:74;;1558:128;1486:207;;;;:::o;1699:118::-;1786:24;1804:5;1786:24;:::i;:::-;1781:3;1774:37;1764:53;;:::o;1823:366::-;1965:3;1986:67;2050:2;2045:3;1986:67;:::i;:::-;1979:74;;2062:93;2151:3;2062:93;:::i;:::-;2180:2;2175:3;2171:12;2164:19;;1969:220;;;:::o;2195:366::-;2337:3;2358:67;2422:2;2417:3;2358:67;:::i;:::-;2351:74;;2434:93;2523:3;2434:93;:::i;:::-;2552:2;2547:3;2543:12;2536:19;;2341:220;;;:::o;2567:366::-;2709:3;2730:67;2794:2;2789:3;2730:67;:::i;:::-;2723:74;;2806:93;2895:3;2806:93;:::i;:::-;2924:2;2919:3;2915:12;2908:19;;2713:220;;;:::o;2939:366::-;3081:3;3102:67;3166:2;3161:3;3102:67;:::i;:::-;3095:74;;3178:93;3267:3;3178:93;:::i;:::-;3296:2;3291:3;3287:12;3280:19;;3085:220;;;:::o;3311:118::-;3398:24;3416:5;3398:24;:::i;:::-;3393:3;3386:37;3376:53;;:::o;3435:222::-;3528:4;3566:2;3555:9;3551:18;3543:26;;3579:71;3647:1;3636:9;3632:17;3623:6;3579:71;:::i;:::-;3533:124;;;;:::o;3663:442::-;3812:4;3850:2;3839:9;3835:18;3827:26;;3863:71;3931:1;3920:9;3916:17;3907:6;3863:71;:::i;:::-;3944:72;4012:2;4001:9;3997:18;3988:6;3944:72;:::i;:::-;4026;4094:2;4083:9;4079:18;4070:6;4026:72;:::i;:::-;3817:288;;;;;;:::o;4111:332::-;4232:4;4270:2;4259:9;4255:18;4247:26;;4283:71;4351:1;4340:9;4336:17;4327:6;4283:71;:::i;:::-;4364:72;4432:2;4421:9;4417:18;4408:6;4364:72;:::i;:::-;4237:206;;;;;:::o;4449:419::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4702:9;4696:4;4692:20;4688:1;4677:9;4673:17;4666:47;4730:131;4856:4;4730:131;:::i;:::-;4722:139;;4620:248;;;:::o;4874:419::-;5040:4;5078:2;5067:9;5063:18;5055:26;;5127:9;5121:4;5117:20;5113:1;5102:9;5098:17;5091:47;5155:131;5281:4;5155:131;:::i;:::-;5147:139;;5045:248;;;:::o;5299:419::-;5465:4;5503:2;5492:9;5488:18;5480:26;;5552:9;5546:4;5542:20;5538:1;5527:9;5523:17;5516:47;5580:131;5706:4;5580:131;:::i;:::-;5572:139;;5470:248;;;:::o;5724:419::-;5890:4;5928:2;5917:9;5913:18;5905:26;;5977:9;5971:4;5967:20;5963:1;5952:9;5948:17;5941:47;6005:131;6131:4;6005:131;:::i;:::-;5997:139;;5895:248;;;:::o;6149:222::-;6242:4;6280:2;6269:9;6265:18;6257:26;;6293:71;6361:1;6350:9;6346:17;6337:6;6293:71;:::i;:::-;6247:124;;;;:::o;6377:332::-;6498:4;6536:2;6525:9;6521:18;6513:26;;6549:71;6617:1;6606:9;6602:17;6593:6;6549:71;:::i;:::-;6630:72;6698:2;6687:9;6683:18;6674:6;6630:72;:::i;:::-;6503:206;;;;;:::o;6715:169::-;6799:11;6833:6;6828:3;6821:19;6873:4;6868:3;6864:14;6849:29;;6811:73;;;;:::o;6890:525::-;6929:3;6948:19;6965:1;6948:19;:::i;:::-;6943:24;;6981:19;6998:1;6981:19;:::i;:::-;6976:24;;7169:1;7101:66;7097:74;7094:1;7090:82;7085:1;7082;7078:9;7071:17;7067:106;7064:2;;;7176:18;;:::i;:::-;7064:2;7356:1;7288:66;7284:74;7281:1;7277:82;7273:1;7270;7266:9;7262:98;7259:2;;;7363:18;;:::i;:::-;7259:2;7407:1;7404;7400:9;7393:16;;6933:482;;;;:::o;7421:305::-;7461:3;7480:20;7498:1;7480:20;:::i;:::-;7475:25;;7514:20;7532:1;7514:20;:::i;:::-;7509:25;;7668:1;7600:66;7596:74;7593:1;7590:81;7587:2;;;7674:18;;:::i;:::-;7587:2;7718:1;7715;7711:9;7704:16;;7465:261;;;;:::o;7732:185::-;7772:1;7789:20;7807:1;7789:20;:::i;:::-;7784:25;;7823:20;7841:1;7823:20;:::i;:::-;7818:25;;7862:1;7852:2;;7867:18;;:::i;:::-;7852:2;7909:1;7906;7902:9;7897:14;;7774:143;;;;:::o;7923:348::-;7963:7;7986:20;8004:1;7986:20;:::i;:::-;7981:25;;8020:20;8038:1;8020:20;:::i;:::-;8015:25;;8208:1;8140:66;8136:74;8133:1;8130:81;8125:1;8118:9;8111:17;8107:105;8104:2;;;8215:18;;:::i;:::-;8104:2;8263:1;8260;8256:9;8245:20;;7971:300;;;;:::o;8277:527::-;8316:4;8336:19;8353:1;8336:19;:::i;:::-;8331:24;;8369:19;8386:1;8369:19;:::i;:::-;8364:24;;8558:1;8490:66;8486:74;8483:1;8479:82;8474:1;8471;8467:9;8460:17;8456:106;8453:2;;;8565:18;;:::i;:::-;8453:2;8744:1;8676:66;8672:74;8669:1;8665:82;8661:1;8658;8654:9;8650:98;8647:2;;;8751:18;;:::i;:::-;8647:2;8796:1;8793;8789:9;8781:17;;8321:483;;;;:::o;8810:191::-;8850:4;8870:20;8888:1;8870:20;:::i;:::-;8865:25;;8904:20;8922:1;8904:20;:::i;:::-;8899:25;;8943:1;8940;8937:8;8934:2;;;8948:18;;:::i;:::-;8934:2;8993:1;8990;8986:9;8978:17;;8855:146;;;;:::o;9007:96::-;9044:7;9073:24;9091:5;9073:24;:::i;:::-;9062:35;;9052:51;;;:::o;9109:90::-;9143:7;9186:5;9179:13;9172:21;9161:32;;9151:48;;;:::o;9205:76::-;9241:7;9270:5;9259:16;;9249:32;;;:::o;9287:126::-;9324:7;9364:42;9357:5;9353:54;9342:65;;9332:81;;;:::o;9419:77::-;9456:7;9485:5;9474:16;;9464:32;;;:::o;9502:180::-;9550:77;9547:1;9540:88;9647:4;9644:1;9637:15;9671:4;9668:1;9661:15;9688:180;9736:77;9733:1;9726:88;9833:4;9830:1;9823:15;9857:4;9854:1;9847:15;9874:225;10014:34;10010:1;10002:6;9998:14;9991:58;10083:8;10078:2;10070:6;10066:15;10059:33;9980:119;:::o;10105:171::-;10245:23;10241:1;10233:6;10229:14;10222:47;10211:65;:::o;10282:182::-;10422:34;10418:1;10410:6;10406:14;10399:58;10388:76;:::o;10470:227::-;10610:34;10606:1;10598:6;10594:14;10587:58;10679:10;10674:2;10666:6;10662:15;10655:35;10576:121;:::o;10703:122::-;10776:24;10794:5;10776:24;:::i;:::-;10769:5;10766:35;10756:2;;10815:1;10812;10805:12;10756:2;10746:79;:::o;10831:116::-;10901:21;10916:5;10901:21;:::i;:::-;10894:5;10891:32;10881:2;;10937:1;10934;10927:12;10881:2;10871:76;:::o;10953:122::-;11026:24;11044:5;11026:24;:::i;:::-;11019:5;11016:35;11006:2;;11065:1;11062;11055:12;11006:2;10996:79;:::o
Swarm Source
ipfs://e4bf4c54f91aaacf0968c190900d7dc3cbdaf1268ca40a8c8f28bb54b9b5a994
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.