ETH Price: $2,973.80 (-0.68%)
Gas: 6 Gwei

Contract

0x32389C67a0E56E621666C42D1a324A26C0895713
 

Overview

ETH Balance

0.431449546322380125 ETH

Eth Value

$1,283.04 (@ $2,973.80/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Withdraw200743082024-06-12 7:39:1126 days ago1718177951IN
0x32389C67...6C0895713
0 ETH0.001172138.16215106
Claim Divs200222992024-06-05 1:20:1133 days ago1717550411IN
0x32389C67...6C0895713
0 ETH0.000406777.15366922
Withdraw199832942024-05-30 14:35:5939 days ago1717079759IN
0x32389C67...6C0895713
0 ETH0.0028473619.82762371
Withdraw199554902024-05-26 17:17:4743 days ago1716743867IN
0x32389C67...6C0895713
0 ETH0.001283018.93426355
Withdraw199123942024-05-20 16:41:2349 days ago1716223283IN
0x32389C67...6C0895713
0 ETH0.0023114216.0956259
Withdraw198921162024-05-17 20:37:2351 days ago1715978243IN
0x32389C67...6C0895713
0 ETH0.000549913.8293073
Withdraw198895492024-05-17 11:59:4752 days ago1715947187IN
0x32389C67...6C0895713
0 ETH0.001076848.04778723
Claim Divs198350302024-05-09 21:00:1159 days ago1715288411IN
0x32389C67...6C0895713
0 ETH0.000161854.07049888
Claim Divs198176182024-05-07 10:33:1162 days ago1715077991IN
0x32389C67...6C0895713
0 ETH0.000518929.12607217
Withdraw198162332024-05-07 5:54:2362 days ago1715061263IN
0x32389C67...6C0895713
0 ETH0.000945876.58658834
Withdraw198113822024-05-06 13:36:4763 days ago1715002607IN
0x32389C67...6C0895713
0 ETH0.001251928.71778755
Claim Divs197414442024-04-26 18:55:4772 days ago1714157747IN
0x32389C67...6C0895713
0 ETH0.000239036.01166301
Withdraw197414402024-04-26 18:54:5972 days ago1714157699IN
0x32389C67...6C0895713
0 ETH0.000826885.75801095
Withdraw197394032024-04-26 12:02:2373 days ago1714132943IN
0x32389C67...6C0895713
0 ETH0.001297759.03691684
Claim Divs197393902024-04-26 11:59:4773 days ago1714132787IN
0x32389C67...6C0895713
0 ETH0.000389857.33736292
Withdraw197328662024-04-25 14:05:4774 days ago1714053947IN
0x32389C67...6C0895713
0 ETH0.0018637212.9769895
Withdraw197294812024-04-25 2:44:2374 days ago1714013063IN
0x32389C67...6C0895713
0 ETH0.001007687.01759011
Withdraw197277832024-04-24 21:02:2374 days ago1713992543IN
0x32389C67...6C0895713
0 ETH0.0017322712.06267951
Withdraw197277352024-04-24 20:52:4774 days ago1713991967IN
0x32389C67...6C0895713
0 ETH0.0015564110.83810717
Claim Divs197277262024-04-24 20:50:5974 days ago1713991859IN
0x32389C67...6C0895713
0 ETH0.0006915613.01577919
Claim Divs197274642024-04-24 19:58:2374 days ago1713988703IN
0x32389C67...6C0895713
0 ETH0.000370589.31995994
Withdraw197176832024-04-23 11:05:3576 days ago1713870335IN
0x32389C67...6C0895713
0 ETH0.001704111.86651945
Withdraw197142412024-04-22 23:33:2376 days ago1713828803IN
0x32389C67...6C0895713
0 ETH0.001104266.87134416
Withdraw197117782024-04-22 15:16:5977 days ago1713799019IN
0x32389C67...6C0895713
0 ETH0.0038714226.95862861
Withdraw197108442024-04-22 12:09:1177 days ago1713787751IN
0x32389C67...6C0895713
0 ETH0.001465099.1166067
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
200743082024-06-12 7:39:1126 days ago1718177951
0x32389C67...6C0895713
0.02372436 ETH
199832942024-05-30 14:35:5939 days ago1717079759
0x32389C67...6C0895713
0.00614526 ETH
199554902024-05-26 17:17:4743 days ago1716743867
0x32389C67...6C0895713
0.00385944 ETH
199123942024-05-20 16:41:2349 days ago1716223283
0x32389C67...6C0895713
0.00698158 ETH
198921162024-05-17 20:37:2351 days ago1715978243
0x32389C67...6C0895713
0.00765512 ETH
198895492024-05-17 11:59:4752 days ago1715947187
0x32389C67...6C0895713
0.01899197 ETH
198162332024-05-07 5:54:2362 days ago1715061263
0x32389C67...6C0895713
0.02034854 ETH
198113822024-05-06 13:36:4763 days ago1715002607
0x32389C67...6C0895713
0.01361521 ETH
197414402024-04-26 18:54:5972 days ago1714157699
0x32389C67...6C0895713
0.06655873 ETH
197394032024-04-26 12:02:2373 days ago1714132943
0x32389C67...6C0895713
0.00476766 ETH
197328662024-04-25 14:05:4774 days ago1714053947
0x32389C67...6C0895713
1.92459669 ETH
197294812024-04-25 2:44:2374 days ago1714013063
0x32389C67...6C0895713
0.00080037 ETH
197277832024-04-24 21:02:2374 days ago1713992543
0x32389C67...6C0895713
0.0377167 ETH
197277352024-04-24 20:52:4774 days ago1713991967
0x32389C67...6C0895713
0.00654205 ETH
197176832024-04-23 11:05:3576 days ago1713870335
0x32389C67...6C0895713
0.01245466 ETH
197142412024-04-22 23:33:2376 days ago1713828803
0x32389C67...6C0895713
0.03391424 ETH
197117782024-04-22 15:16:5977 days ago1713799019
0x32389C67...6C0895713
0.02879997 ETH
197108442024-04-22 12:09:1177 days ago1713787751
0x32389C67...6C0895713
0.05005742 ETH
197050232024-04-21 16:37:5978 days ago1713717479
0x32389C67...6C0895713
0.00229395 ETH
197043182024-04-21 14:16:5978 days ago1713709019
0x32389C67...6C0895713
0.00678284 ETH
197043142024-04-21 14:16:1178 days ago1713708971
0x32389C67...6C0895713
0.00678284 ETH
197024062024-04-21 7:51:4778 days ago1713685907
0x32389C67...6C0895713
0.00680591 ETH
197019192024-04-21 6:13:4778 days ago1713680027
0x32389C67...6C0895713
0.1228652 ETH
197007172024-04-21 2:10:5978 days ago1713665459
0x32389C67...6C0895713
0.00339142 ETH
196989212024-04-20 20:10:1178 days ago1713643811
0x32389C67...6C0895713
0.0210119 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ALICE_STAKING

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-10
*/

pragma solidity 0.8.9;

// SPDX-License-Identifier: MIT

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
library EnumerableSet {
    struct Set {
        bytes32[] _values;
        mapping (bytes32 => uint256) _indexes;
    }

    function _add(Set storage set, bytes32 value) private returns (bool) {
        if (!_contains(set, value)) {
            set._values.push(value);
            set._indexes[value] = set._values.length;
            return true;
        } else {
            return false;
        }
    }

    function _remove(Set storage set, bytes32 value) private returns (bool) {
        uint256 valueIndex = set._indexes[value];

        if (valueIndex != 0) {

            uint256 toDeleteIndex = valueIndex - 1;
            uint256 lastIndex = set._values.length - 1;
            bytes32 lastvalue = set._values[lastIndex];

            // Move the last value to the index where the value to delete is
            set._values[toDeleteIndex] = lastvalue;
            // Update the index for the moved value
            set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based

            // Delete the slot where the moved value was stored
            set._values.pop();

            // Delete the index for the deleted slot
            delete set._indexes[value];

            return true;
        } else {
            return false;
        }
    }

    function _contains(Set storage set, bytes32 value) private view returns (bool) {
        return set._indexes[value] != 0;
    }

    function _length(Set storage set) private view returns (uint256) {
        return set._values.length;
    }

    function _at(Set storage set, uint256 index) private view returns (bytes32) {
        require(set._values.length > index, "EnumerableSet: index out of bounds");
        return set._values[index];
    }

    struct Bytes32Set {
        Set _inner;
    }

    function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {
        return _add(set._inner, value);
    }

    function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {
        return _remove(set._inner, value);
    }

    function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {
        return _contains(set._inner, value);
    }

    function length(Bytes32Set storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

    function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {
        return _at(set._inner, index);
    }

    struct AddressSet {
        Set _inner;
    }

    function add(AddressSet storage set, address value) internal returns (bool) {
        return _add(set._inner, bytes32(uint256(uint160(value))));
    }

    function remove(AddressSet storage set, address value) internal returns (bool) {
        return _remove(set._inner, bytes32(uint256(uint160(value))));
    }

    function contains(AddressSet storage set, address value) internal view returns (bool) {
        return _contains(set._inner, bytes32(uint256(uint160(value))));
    }

    function length(AddressSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

    function at(AddressSet storage set, uint256 index) internal view returns (address) {
        return address(uint160(uint256(_at(set._inner, index))));
    }

    struct UintSet {
        Set _inner;
    }

    function add(UintSet storage set, uint256 value) internal returns (bool) {
        return _add(set._inner, bytes32(value));
    }

    function remove(UintSet storage set, uint256 value) internal returns (bool) {
        return _remove(set._inner, bytes32(value));
    }

    function contains(UintSet storage set, uint256 value) internal view returns (bool) {
        return _contains(set._inner, bytes32(value));
    }

    function length(UintSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

    function at(UintSet storage set, uint256 index) internal view returns (uint256) {
        return uint256(_at(set._inner, index));
    }
}


contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface Token {
    function transferFrom(address, address, uint) external returns (bool);
    function transfer(address, uint) external returns (bool);
    function balanceOf(address tokenOwner) external returns (uint);
}

contract ALICE_STAKING is Ownable {
    using SafeMath for uint256;
    using EnumerableSet for EnumerableSet.AddressSet;
    
    event RewardsTransferred(address holder, uint256 amount);
    
    //total tokens staked
    uint256 public totalstaked = 0;
    // Fees address...
    address public devAddress = 0xA7C17B9cD55ca9679D4Bd72d9ba1c9345D7b89D2;
    
    // alice token contract...
    address public alice = 0x405154cFAF5Ea4EF57B65b86959c73Dd079FA312;
    
    uint256 public rewardRate = 0;
    
    // reward interval 365 days
    uint256 public rewardInterval = 365 days;
    
    uint256 public MinimumWithdrawTime = 7 days;
    uint256 public penalty = 5;

    uint256 public reth = 0;
    uint256 public ethpool = 0;
    uint256 public ethstartblock;
    uint256 public totalClaimedRewards;
    
    EnumerableSet.AddressSet private holders;
    
    mapping (address => uint256) public depositedTokens;
    mapping (address => uint256) public stakingTime;
    mapping (address => uint256) public lastClaimedTime;
    mapping (address => uint256) public totalEarnedTokens;
    mapping (address => uint256) public totalEths;
    mapping (address => uint256) public lastETHtime;
    
    function updateAccount(address account) private {

        uint256 pendingDivs = getPendingDivs(account);
        uint256 conbalance = Token(alice).balanceOf(address(this));
        uint256 sur = conbalance.sub(totalstaked);
        lastClaimedTime[account] = block.timestamp;

        if (sur >= pendingDivs){
        if (pendingDivs != 0) {
            totalEarnedTokens[account] = totalEarnedTokens[account].add(pendingDivs);
            totalClaimedRewards = totalClaimedRewards.add(pendingDivs);

            Token(alice).transfer(account, pendingDivs);
            emit RewardsTransferred(account, pendingDivs);
        }
    }
    }
    
    function getPendingDivs(address _holder) public view returns (uint256 _pendingDivs) {
        if (!holders.contains(_holder)) return 0;
        if (!holders.contains(_holder)) return 0;
        if (block.timestamp.sub(stakingTime[msg.sender]) <= MinimumWithdrawTime) return 0;
        
        uint256 timeDiff = block.timestamp.sub(lastClaimedTime[_holder]);
        uint256 stakedAmount = depositedTokens[_holder];
        
        uint256 pendingDivs = stakedAmount.mul(rewardRate).mul(timeDiff).div(rewardInterval).div(1e2);
        return pendingDivs;
    }
    
    function getNumberOfHolders() public view returns (uint256) {
        return holders.length();
    }
    
    function deposit(uint256 amountToStake) public {
        
        Token(alice).transferFrom(msg.sender, address(this), amountToStake);
        updateAccount(msg.sender);
        stakingTime[msg.sender] = block.timestamp;
        depositedTokens[msg.sender] = depositedTokens[msg.sender].add(amountToStake);
        totalstaked = totalstaked.add(amountToStake);
        if (!holders.contains(msg.sender)) {
            holders.add(msg.sender);
        }
       lastETHtime[msg.sender] = block.timestamp;
    }
    
    function withdraw(uint256 amountToWithdraw) public {
        require(depositedTokens[msg.sender] >= amountToWithdraw, "Invalid amount to withdraw");
        claimtheETH(msg.sender);
        depositedTokens[msg.sender] = depositedTokens[msg.sender].sub(amountToWithdraw);
        totalstaked = totalstaked.sub(amountToWithdraw);
        if (holders.contains(msg.sender) && depositedTokens[msg.sender] == 0) {
            holders.remove(msg.sender);
        }
        
        uint256 _lastClaimedTime = block.timestamp.sub(stakingTime[msg.sender]);
        if (_lastClaimedTime >= MinimumWithdrawTime) {
            require(Token(alice).transfer(msg.sender, amountToWithdraw), "Could not transfer tokens.");
        }
        
        if (_lastClaimedTime < MinimumWithdrawTime) {
            uint256 WithdrawFee = amountToWithdraw.div(100).mul(penalty);
            uint256 amountAfterFee = amountToWithdraw.sub(WithdrawFee);
            require(Token(alice).transfer(msg.sender, amountAfterFee), "Could not transfer tokens.");
            require(Token(alice).transfer(devAddress, WithdrawFee), "Could not transfer tokens.");
        }
        
        updateAccount(msg.sender);
        lastETHtime[msg.sender] = block.timestamp;
    }
    
    function claimDivs() public {
        updateAccount(msg.sender);
    }

    function ClaimETH() public {
        claimtheETH(msg.sender);
    }

    function claimtheETH(address account) private {
        if(block.timestamp.sub(stakingTime[account]) >= MinimumWithdrawTime){
        uint256 eth = GetPendingETH(account);
        reth = reth - eth;
        lastETHtime[account] = block.timestamp;
        bool success;
        (success, ) = (account).call{value: eth}("");
        totalEths[account] = totalEths[account] + eth;
        }
    }

    function GetPendingETH(address _holder) public view returns (uint256 _pethss) {
        uint256 timeDiff = block.timestamp.sub(lastETHtime[_holder]);
        uint256 tdiff = (timeDiff > ethpool) ? ethpool : timeDiff;
        uint256 stakedAmount = depositedTokens[_holder];
        uint256 _pendingeths = stakedAmount.mul(reth).mul(tdiff).div(totalstaked).div(ethpool);
        return _pendingeths;
    }
    // function to allow admin to set dev address..
    function setDevaddress(address _devAadd) public onlyOwner {
        devAddress = _devAadd;
    }

    function setRewardRate(uint256 _rate) public onlyOwner {
        rewardRate = _rate;
    }

    function CreatePool(uint256 _eths, uint256 _pdays) public onlyOwner {
        reth = _eths* 1 ether;
        ethpool = _pdays * 1 days;
        ethstartblock = block.timestamp;
    }
    
    function setWDFees(uint256 _fees, uint256 _days) public onlyOwner {
        penalty = _fees;
        MinimumWithdrawTime = _days* 1 days;
    }

    // function to allow admin to claim *any* ERC20 tokens sent to this contract
    function transferAnyERC20Tokens(address _tokenAddress, address _to, uint256 _amount) public onlyOwner {
        require(alice != _tokenAddress, "Cannot withdraw native token");
        Token(_tokenAddress).transfer(_to, _amount);
    }
    function TakeOutTheEthers() external onlyOwner {
        bool success;
        (success, ) = owner().call{value: address(this).balance}("");
    } 

     receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"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":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsTransferred","type":"event"},{"inputs":[],"name":"ClaimETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_eths","type":"uint256"},{"internalType":"uint256","name":"_pdays","type":"uint256"}],"name":"CreatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"GetPendingETH","outputs":[{"internalType":"uint256","name":"_pethss","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MinimumWithdrawTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TakeOutTheEthers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"alice","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimDivs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToStake","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethpool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethstartblock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"getPendingDivs","outputs":[{"internalType":"uint256","name":"_pendingDivs","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastClaimedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastETHtime","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":"penalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_devAadd","type":"address"}],"name":"setDevaddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setRewardRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fees","type":"uint256"},{"internalType":"uint256","name":"_days","type":"uint256"}],"name":"setWDFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalClaimedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEarnedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEths","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalstaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToWithdraw","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600060015573a7c17b9cd55ca9679d4bd72d9ba1c9345d7b89d2600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073405154cfaf5ea4ef57b65b86959c73dd079fa312600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006004556301e1338060055562093a806006556005600755600060085560006009553480156100e257600080fd5b5060006100f361019660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061019e565b600033905090565b612eba80620001ae6000396000f3fe6080604052600436106101f25760003560e01c80636f33d9ed1161010d578063c23ffe6b116100a0578063f2fde38b1161006f578063f2fde38b146106d4578063f3f91fa0146106fd578063f5a991d71461073a578063fb47e3a214610765578063fd3c228914610790576101f9565b8063c23ffe6b14610604578063c326bf4f1461062f578063cf4f86bb1461066c578063d578ceab146106a9576101f9565b806398896d10116100dc57806398896d101461054a5780639e447fc614610587578063b6b55f25146105b0578063bec4de3f146105d9576101f9565b80636f33d9ed146104b2578063715018a6146104dd5780637b0a47ee146104f45780638da5cb5b1461051f576101f9565b80632e1a7d4d11610185578063583d42fd11610154578063583d42fd146103e45780635cef99b8146104215780636270cd181461044c5780636a395ccb14610489576101f9565b80632e1a7d4d1461034e578063308feec3146103775780633ad10ef6146103a257806353f417a3146103cd576101f9565b80630edd2ffc116101c15780630edd2ffc146102ba57806315eb7ccb146102e557806319aa70e71461030e5780632913e5aa14610325576101f9565b80630735a0a8146101fe5780630a41bcaa146102295780630c89b7d8146102405780630e9595061461027d576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b9565b60405161022091906125aa565b60405180910390f35b34801561023557600080fd5b5061023e6107bf565b005b34801561024c57600080fd5b5061026760048036038101906102629190612628565b6107ca565b60405161027491906125aa565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f9190612628565b6107e2565b6040516102b191906125aa565b60405180910390f35b3480156102c657600080fd5b506102cf6108f3565b6040516102dc91906125aa565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612628565b6108f9565b005b34801561031a57600080fd5b506103236109d2565b005b34801561033157600080fd5b5061034c60048036038101906103479190612681565b6109dd565b005b34801561035a57600080fd5b50610375600480360381019061037091906126c1565b610a92565b005b34801561038357600080fd5b5061038c611034565b60405161039991906125aa565b60405180910390f35b3480156103ae57600080fd5b506103b7611045565b6040516103c491906126fd565b60405180910390f35b3480156103d957600080fd5b506103e261106b565b005b3480156103f057600080fd5b5061040b60048036038101906104069190612628565b611178565b60405161041891906125aa565b60405180910390f35b34801561042d57600080fd5b50610436611190565b60405161044391906125aa565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e9190612628565b611196565b60405161048091906125aa565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab9190612718565b6111ae565b005b3480156104be57600080fd5b506104c7611367565b6040516104d491906125aa565b60405180910390f35b3480156104e957600080fd5b506104f261136d565b005b34801561050057600080fd5b506105096114c0565b60405161051691906125aa565b60405180910390f35b34801561052b57600080fd5b506105346114c6565b60405161054191906126fd565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c9190612628565b6114ef565b60405161057e91906125aa565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a991906126c1565b61168e565b005b3480156105bc57600080fd5b506105d760048036038101906105d291906126c1565b61172d565b005b3480156105e557600080fd5b506105ee611951565b6040516105fb91906125aa565b60405180910390f35b34801561061057600080fd5b50610619611957565b60405161062691906125aa565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190612628565b61195d565b60405161066391906125aa565b60405180910390f35b34801561067857600080fd5b50610693600480360381019061068e9190612628565b611975565b6040516106a091906125aa565b60405180910390f35b3480156106b557600080fd5b506106be61198d565b6040516106cb91906125aa565b60405180910390f35b3480156106e057600080fd5b506106fb60048036038101906106f69190612628565b611993565b005b34801561070957600080fd5b50610724600480360381019061071f9190612628565b611b55565b60405161073191906125aa565b60405180910390f35b34801561074657600080fd5b5061074f611b6d565b60405161075c91906125aa565b60405180910390f35b34801561077157600080fd5b5061077a611b73565b60405161078791906126fd565b60405180910390f35b34801561079c57600080fd5b506107b760048036038101906107b29190612681565b611b99565b005b60065481565b6107c833611c68565b565b60136020528060005260406000206000915090505481565b600080610837601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b90506000600954821161084a578161084e565b6009545b90506000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006108e56009546108d76001546108c9876108bb60085489611e7390919063ffffffff16565b611e7390919063ffffffff16565b611eee90919063ffffffff16565b611eee90919063ffffffff16565b905080945050505050919050565b60075481565b610901611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461098e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610985906127c8565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6109db33611f40565b565b6109e5611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a69906127c8565b60405180910390fd5b816007819055506201518081610a889190612817565b6006819055505050565b80600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b906128bd565b60405180910390fd5b610b1d33611c68565b610b6f81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2990919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc781600154611e2990919063ffffffff16565b600181905550610be133600c61220b90919063ffffffff16565b8015610c2c57506000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610c4757610c4533600c61223b90919063ffffffff16565b505b6000610c9b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b90506006548110610d9557600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610d039291906128dd565b602060405180830381600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d55919061293e565b610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b906129b7565b60405180910390fd5b5b600654811015610fe3576000610dc9600754610dbb606486611eee90919063ffffffff16565b611e7390919063ffffffff16565b90506000610de08285611e2990919063ffffffff16565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610e3f9291906128dd565b602060405180830381600087803b158015610e5957600080fd5b505af1158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e91919061293e565b610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec7906129b7565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610f4f9291906128dd565b602060405180830381600087803b158015610f6957600080fd5b505af1158015610f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa1919061293e565b610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd7906129b7565b60405180910390fd5b50505b610fec33611f40565b42601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000611040600c61226b565b905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611073611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f7906127c8565b60405180910390fd5b600061110a6114c6565b73ffffffffffffffffffffffffffffffffffffffff164760405161112d90612a08565b60006040518083038185875af1925050503d806000811461116a576040519150601f19603f3d011682016040523d82523d6000602084013e61116f565b606091505b50508091505050565b600f6020528060005260406000206000915090505481565b600a5481565b60116020528060005260406000206000915090505481565b6111b6611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a906127c8565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb90612a69565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161130f9291906128dd565b602060405180830381600087803b15801561132957600080fd5b505af115801561133d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611361919061293e565b50505050565b60015481565b611375611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f9906127c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061150582600c61220b90919063ffffffff16565b6115125760009050611689565b61152682600c61220b90919063ffffffff16565b6115335760009050611689565b600654611588600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b116115965760009050611689565b60006115ea601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b90506000600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061168060646116726005546116648761165660045489611e7390919063ffffffff16565b611e7390919063ffffffff16565b611eee90919063ffffffff16565b611eee90919063ffffffff16565b90508093505050505b919050565b611696611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a906127c8565b60405180910390fd5b8060048190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161178c93929190612a89565b602060405180830381600087803b1580156117a657600080fd5b505af11580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de919061293e565b506117e833611f40565b42600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187e81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228090919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d68160015461228090919063ffffffff16565b6001819055506118f033600c61220b90919063ffffffff16565b61190a5761190833600c6122de90919063ffffffff16565b505b42601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60055481565b60095481565b600e6020528060005260406000206000915090505481565b60126020528060005260406000206000915090505481565b600b5481565b61199b611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f906127c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90612b32565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60106020528060005260406000206000915090505481565b60085481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ba1611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c25906127c8565b60405180910390fd5b670de0b6b3a764000082611c429190612817565b6008819055506201518081611c579190612817565b60098190555042600a819055505050565b600654611cbd600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b10611e26576000611ccd826107e2565b905080600854611cdd9190612b52565b60088190555042601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008273ffffffffffffffffffffffffffffffffffffffff1682604051611d4d90612a08565b60006040518083038185875af1925050503d8060008114611d8a576040519150601f19603f3d011682016040523d82523d6000602084013e611d8f565b606091505b50508091505081601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de09190612b86565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b50565b6000611e6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061230e565b905092915050565b600080831415611e865760009050611ee8565b60008284611e949190612817565b9050828482611ea39190612c0b565b14611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90612cae565b60405180910390fd5b809150505b92915050565b6000611f3083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612372565b905092915050565b600033905090565b6000611f4b826114ef565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611faa91906126fd565b602060405180830381600087803b158015611fc457600080fd5b505af1158015611fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffc9190612ce3565b9050600061201560015483611e2990919063ffffffff16565b905042601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508281106122055760008314612204576120bc83601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228090919063ffffffff16565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211483600b5461228090919063ffffffff16565b600b81905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b81526004016121779291906128dd565b602060405180830381600087803b15801561219157600080fd5b505af11580156121a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c9919061293e565b507f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf13084846040516121fb9291906128dd565b60405180910390a15b5b50505050565b6000612233836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6123d5565b905092915050565b6000612263836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6123f8565b905092915050565b600061227982600001612510565b9050919050565b600080828461228f9190612b86565b9050838110156122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb90612d5c565b60405180910390fd5b8091505092915050565b6000612306836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612521565b905092915050565b6000838311158290612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d9190612e04565b60405180910390fd5b50600083856123659190612b52565b9050809150509392505050565b600080831182906123b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b09190612e04565b60405180910390fd5b50600083856123c89190612c0b565b9050809150509392505050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461250457600060018261242a9190612b52565b90506000600186600001805490506124429190612b52565b9050600086600001828154811061245c5761245b612e26565b5b90600052602060002001549050808760000184815481106124805761247f612e26565b5b906000526020600020018190555060018361249b9190612b86565b87600101600083815260200190815260200160002081905550866000018054806124c8576124c7612e55565b5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061250a565b60009150505b92915050565b600081600001805490509050919050565b600061252d83836123d5565b61258657826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061258b565b600090505b92915050565b6000819050919050565b6125a481612591565b82525050565b60006020820190506125bf600083018461259b565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f5826125ca565b9050919050565b612605816125ea565b811461261057600080fd5b50565b600081359050612622816125fc565b92915050565b60006020828403121561263e5761263d6125c5565b5b600061264c84828501612613565b91505092915050565b61265e81612591565b811461266957600080fd5b50565b60008135905061267b81612655565b92915050565b60008060408385031215612698576126976125c5565b5b60006126a68582860161266c565b92505060206126b78582860161266c565b9150509250929050565b6000602082840312156126d7576126d66125c5565b5b60006126e58482850161266c565b91505092915050565b6126f7816125ea565b82525050565b600060208201905061271260008301846126ee565b92915050565b600080600060608486031215612731576127306125c5565b5b600061273f86828701612613565b935050602061275086828701612613565b92505060406127618682870161266c565b9150509250925092565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127b260208361276b565b91506127bd8261277c565b602082019050919050565b600060208201905081810360008301526127e1816127a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061282282612591565b915061282d83612591565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612866576128656127e8565b5b828202905092915050565b7f496e76616c696420616d6f756e7420746f207769746864726177000000000000600082015250565b60006128a7601a8361276b565b91506128b282612871565b602082019050919050565b600060208201905081810360008301526128d68161289a565b9050919050565b60006040820190506128f260008301856126ee565b6128ff602083018461259b565b9392505050565b60008115159050919050565b61291b81612906565b811461292657600080fd5b50565b60008151905061293881612912565b92915050565b600060208284031215612954576129536125c5565b5b600061296284828501612929565b91505092915050565b7f436f756c64206e6f74207472616e7366657220746f6b656e732e000000000000600082015250565b60006129a1601a8361276b565b91506129ac8261296b565b602082019050919050565b600060208201905081810360008301526129d081612994565b9050919050565b600081905092915050565b50565b60006129f26000836129d7565b91506129fd826129e2565b600082019050919050565b6000612a13826129e5565b9150819050919050565b7f43616e6e6f74207769746864726177206e617469766520746f6b656e00000000600082015250565b6000612a53601c8361276b565b9150612a5e82612a1d565b602082019050919050565b60006020820190508181036000830152612a8281612a46565b9050919050565b6000606082019050612a9e60008301866126ee565b612aab60208301856126ee565b612ab8604083018461259b565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b1c60268361276b565b9150612b2782612ac0565b604082019050919050565b60006020820190508181036000830152612b4b81612b0f565b9050919050565b6000612b5d82612591565b9150612b6883612591565b925082821015612b7b57612b7a6127e8565b5b828203905092915050565b6000612b9182612591565b9150612b9c83612591565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bd157612bd06127e8565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c1682612591565b9150612c2183612591565b925082612c3157612c30612bdc565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c9860218361276b565b9150612ca382612c3c565b604082019050919050565b60006020820190508181036000830152612cc781612c8b565b9050919050565b600081519050612cdd81612655565b92915050565b600060208284031215612cf957612cf86125c5565b5b6000612d0784828501612cce565b91505092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d46601b8361276b565b9150612d5182612d10565b602082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b600081519050919050565b60005b83811015612da5578082015181840152602081019050612d8a565b83811115612db4576000848401525b50505050565b6000601f19601f8301169050919050565b6000612dd682612d7c565b612de0818561276b565b9350612df0818560208601612d87565b612df981612dba565b840191505092915050565b60006020820190508181036000830152612e1e8184612dcb565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220061cdad0e689db6c59a2a24664acc9c7b549936dc51a978e6a11bd4be991f53d64736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636f33d9ed1161010d578063c23ffe6b116100a0578063f2fde38b1161006f578063f2fde38b146106d4578063f3f91fa0146106fd578063f5a991d71461073a578063fb47e3a214610765578063fd3c228914610790576101f9565b8063c23ffe6b14610604578063c326bf4f1461062f578063cf4f86bb1461066c578063d578ceab146106a9576101f9565b806398896d10116100dc57806398896d101461054a5780639e447fc614610587578063b6b55f25146105b0578063bec4de3f146105d9576101f9565b80636f33d9ed146104b2578063715018a6146104dd5780637b0a47ee146104f45780638da5cb5b1461051f576101f9565b80632e1a7d4d11610185578063583d42fd11610154578063583d42fd146103e45780635cef99b8146104215780636270cd181461044c5780636a395ccb14610489576101f9565b80632e1a7d4d1461034e578063308feec3146103775780633ad10ef6146103a257806353f417a3146103cd576101f9565b80630edd2ffc116101c15780630edd2ffc146102ba57806315eb7ccb146102e557806319aa70e71461030e5780632913e5aa14610325576101f9565b80630735a0a8146101fe5780630a41bcaa146102295780630c89b7d8146102405780630e9595061461027d576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b9565b60405161022091906125aa565b60405180910390f35b34801561023557600080fd5b5061023e6107bf565b005b34801561024c57600080fd5b5061026760048036038101906102629190612628565b6107ca565b60405161027491906125aa565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f9190612628565b6107e2565b6040516102b191906125aa565b60405180910390f35b3480156102c657600080fd5b506102cf6108f3565b6040516102dc91906125aa565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612628565b6108f9565b005b34801561031a57600080fd5b506103236109d2565b005b34801561033157600080fd5b5061034c60048036038101906103479190612681565b6109dd565b005b34801561035a57600080fd5b50610375600480360381019061037091906126c1565b610a92565b005b34801561038357600080fd5b5061038c611034565b60405161039991906125aa565b60405180910390f35b3480156103ae57600080fd5b506103b7611045565b6040516103c491906126fd565b60405180910390f35b3480156103d957600080fd5b506103e261106b565b005b3480156103f057600080fd5b5061040b60048036038101906104069190612628565b611178565b60405161041891906125aa565b60405180910390f35b34801561042d57600080fd5b50610436611190565b60405161044391906125aa565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e9190612628565b611196565b60405161048091906125aa565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab9190612718565b6111ae565b005b3480156104be57600080fd5b506104c7611367565b6040516104d491906125aa565b60405180910390f35b3480156104e957600080fd5b506104f261136d565b005b34801561050057600080fd5b506105096114c0565b60405161051691906125aa565b60405180910390f35b34801561052b57600080fd5b506105346114c6565b60405161054191906126fd565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c9190612628565b6114ef565b60405161057e91906125aa565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a991906126c1565b61168e565b005b3480156105bc57600080fd5b506105d760048036038101906105d291906126c1565b61172d565b005b3480156105e557600080fd5b506105ee611951565b6040516105fb91906125aa565b60405180910390f35b34801561061057600080fd5b50610619611957565b60405161062691906125aa565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190612628565b61195d565b60405161066391906125aa565b60405180910390f35b34801561067857600080fd5b50610693600480360381019061068e9190612628565b611975565b6040516106a091906125aa565b60405180910390f35b3480156106b557600080fd5b506106be61198d565b6040516106cb91906125aa565b60405180910390f35b3480156106e057600080fd5b506106fb60048036038101906106f69190612628565b611993565b005b34801561070957600080fd5b50610724600480360381019061071f9190612628565b611b55565b60405161073191906125aa565b60405180910390f35b34801561074657600080fd5b5061074f611b6d565b60405161075c91906125aa565b60405180910390f35b34801561077157600080fd5b5061077a611b73565b60405161078791906126fd565b60405180910390f35b34801561079c57600080fd5b506107b760048036038101906107b29190612681565b611b99565b005b60065481565b6107c833611c68565b565b60136020528060005260406000206000915090505481565b600080610837601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b90506000600954821161084a578161084e565b6009545b90506000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006108e56009546108d76001546108c9876108bb60085489611e7390919063ffffffff16565b611e7390919063ffffffff16565b611eee90919063ffffffff16565b611eee90919063ffffffff16565b905080945050505050919050565b60075481565b610901611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461098e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610985906127c8565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6109db33611f40565b565b6109e5611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a69906127c8565b60405180910390fd5b816007819055506201518081610a889190612817565b6006819055505050565b80600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b906128bd565b60405180910390fd5b610b1d33611c68565b610b6f81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2990919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc781600154611e2990919063ffffffff16565b600181905550610be133600c61220b90919063ffffffff16565b8015610c2c57506000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610c4757610c4533600c61223b90919063ffffffff16565b505b6000610c9b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b90506006548110610d9557600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610d039291906128dd565b602060405180830381600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d55919061293e565b610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b906129b7565b60405180910390fd5b5b600654811015610fe3576000610dc9600754610dbb606486611eee90919063ffffffff16565b611e7390919063ffffffff16565b90506000610de08285611e2990919063ffffffff16565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610e3f9291906128dd565b602060405180830381600087803b158015610e5957600080fd5b505af1158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e91919061293e565b610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec7906129b7565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610f4f9291906128dd565b602060405180830381600087803b158015610f6957600080fd5b505af1158015610f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa1919061293e565b610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd7906129b7565b60405180910390fd5b50505b610fec33611f40565b42601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000611040600c61226b565b905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611073611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f7906127c8565b60405180910390fd5b600061110a6114c6565b73ffffffffffffffffffffffffffffffffffffffff164760405161112d90612a08565b60006040518083038185875af1925050503d806000811461116a576040519150601f19603f3d011682016040523d82523d6000602084013e61116f565b606091505b50508091505050565b600f6020528060005260406000206000915090505481565b600a5481565b60116020528060005260406000206000915090505481565b6111b6611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a906127c8565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb90612a69565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161130f9291906128dd565b602060405180830381600087803b15801561132957600080fd5b505af115801561133d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611361919061293e565b50505050565b60015481565b611375611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f9906127c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061150582600c61220b90919063ffffffff16565b6115125760009050611689565b61152682600c61220b90919063ffffffff16565b6115335760009050611689565b600654611588600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b116115965760009050611689565b60006115ea601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b90506000600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061168060646116726005546116648761165660045489611e7390919063ffffffff16565b611e7390919063ffffffff16565b611eee90919063ffffffff16565b611eee90919063ffffffff16565b90508093505050505b919050565b611696611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a906127c8565b60405180910390fd5b8060048190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161178c93929190612a89565b602060405180830381600087803b1580156117a657600080fd5b505af11580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de919061293e565b506117e833611f40565b42600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187e81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228090919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d68160015461228090919063ffffffff16565b6001819055506118f033600c61220b90919063ffffffff16565b61190a5761190833600c6122de90919063ffffffff16565b505b42601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60055481565b60095481565b600e6020528060005260406000206000915090505481565b60126020528060005260406000206000915090505481565b600b5481565b61199b611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f906127c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90612b32565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60106020528060005260406000206000915090505481565b60085481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ba1611f38565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c25906127c8565b60405180910390fd5b670de0b6b3a764000082611c429190612817565b6008819055506201518081611c579190612817565b60098190555042600a819055505050565b600654611cbd600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611e2990919063ffffffff16565b10611e26576000611ccd826107e2565b905080600854611cdd9190612b52565b60088190555042601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008273ffffffffffffffffffffffffffffffffffffffff1682604051611d4d90612a08565b60006040518083038185875af1925050503d8060008114611d8a576040519150601f19603f3d011682016040523d82523d6000602084013e611d8f565b606091505b50508091505081601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de09190612b86565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b50565b6000611e6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061230e565b905092915050565b600080831415611e865760009050611ee8565b60008284611e949190612817565b9050828482611ea39190612c0b565b14611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90612cae565b60405180910390fd5b809150505b92915050565b6000611f3083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612372565b905092915050565b600033905090565b6000611f4b826114ef565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611faa91906126fd565b602060405180830381600087803b158015611fc457600080fd5b505af1158015611fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffc9190612ce3565b9050600061201560015483611e2990919063ffffffff16565b905042601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508281106122055760008314612204576120bc83601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228090919063ffffffff16565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211483600b5461228090919063ffffffff16565b600b81905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b81526004016121779291906128dd565b602060405180830381600087803b15801561219157600080fd5b505af11580156121a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c9919061293e565b507f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf13084846040516121fb9291906128dd565b60405180910390a15b5b50505050565b6000612233836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6123d5565b905092915050565b6000612263836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6123f8565b905092915050565b600061227982600001612510565b9050919050565b600080828461228f9190612b86565b9050838110156122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb90612d5c565b60405180910390fd5b8091505092915050565b6000612306836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612521565b905092915050565b6000838311158290612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d9190612e04565b60405180910390fd5b50600083856123659190612b52565b9050809150509392505050565b600080831182906123b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b09190612e04565b60405180910390fd5b50600083856123c89190612c0b565b9050809150509392505050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461250457600060018261242a9190612b52565b90506000600186600001805490506124429190612b52565b9050600086600001828154811061245c5761245b612e26565b5b90600052602060002001549050808760000184815481106124805761247f612e26565b5b906000526020600020018190555060018361249b9190612b86565b87600101600083815260200190815260200160002081905550866000018054806124c8576124c7612e55565b5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061250a565b60009150505b92915050565b600081600001805490509050919050565b600061252d83836123d5565b61258657826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061258b565b600090505b92915050565b6000819050919050565b6125a481612591565b82525050565b60006020820190506125bf600083018461259b565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f5826125ca565b9050919050565b612605816125ea565b811461261057600080fd5b50565b600081359050612622816125fc565b92915050565b60006020828403121561263e5761263d6125c5565b5b600061264c84828501612613565b91505092915050565b61265e81612591565b811461266957600080fd5b50565b60008135905061267b81612655565b92915050565b60008060408385031215612698576126976125c5565b5b60006126a68582860161266c565b92505060206126b78582860161266c565b9150509250929050565b6000602082840312156126d7576126d66125c5565b5b60006126e58482850161266c565b91505092915050565b6126f7816125ea565b82525050565b600060208201905061271260008301846126ee565b92915050565b600080600060608486031215612731576127306125c5565b5b600061273f86828701612613565b935050602061275086828701612613565b92505060406127618682870161266c565b9150509250925092565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127b260208361276b565b91506127bd8261277c565b602082019050919050565b600060208201905081810360008301526127e1816127a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061282282612591565b915061282d83612591565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612866576128656127e8565b5b828202905092915050565b7f496e76616c696420616d6f756e7420746f207769746864726177000000000000600082015250565b60006128a7601a8361276b565b91506128b282612871565b602082019050919050565b600060208201905081810360008301526128d68161289a565b9050919050565b60006040820190506128f260008301856126ee565b6128ff602083018461259b565b9392505050565b60008115159050919050565b61291b81612906565b811461292657600080fd5b50565b60008151905061293881612912565b92915050565b600060208284031215612954576129536125c5565b5b600061296284828501612929565b91505092915050565b7f436f756c64206e6f74207472616e7366657220746f6b656e732e000000000000600082015250565b60006129a1601a8361276b565b91506129ac8261296b565b602082019050919050565b600060208201905081810360008301526129d081612994565b9050919050565b600081905092915050565b50565b60006129f26000836129d7565b91506129fd826129e2565b600082019050919050565b6000612a13826129e5565b9150819050919050565b7f43616e6e6f74207769746864726177206e617469766520746f6b656e00000000600082015250565b6000612a53601c8361276b565b9150612a5e82612a1d565b602082019050919050565b60006020820190508181036000830152612a8281612a46565b9050919050565b6000606082019050612a9e60008301866126ee565b612aab60208301856126ee565b612ab8604083018461259b565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b1c60268361276b565b9150612b2782612ac0565b604082019050919050565b60006020820190508181036000830152612b4b81612b0f565b9050919050565b6000612b5d82612591565b9150612b6883612591565b925082821015612b7b57612b7a6127e8565b5b828203905092915050565b6000612b9182612591565b9150612b9c83612591565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bd157612bd06127e8565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c1682612591565b9150612c2183612591565b925082612c3157612c30612bdc565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c9860218361276b565b9150612ca382612c3c565b604082019050919050565b60006020820190508181036000830152612cc781612c8b565b9050919050565b600081519050612cdd81612655565b92915050565b600060208284031215612cf957612cf86125c5565b5b6000612d0784828501612cce565b91505092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d46601b8361276b565b9150612d5182612d10565b602082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b600081519050919050565b60005b83811015612da5578082015181840152602081019050612d8a565b83811115612db4576000848401525b50505050565b6000601f19601f8301169050919050565b6000612dd682612d7c565b612de0818561276b565b9350612df0818560208601612d87565b612df981612dba565b840191505092915050565b60006020820190508181036000830152612e1e8184612dcb565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220061cdad0e689db6c59a2a24664acc9c7b549936dc51a978e6a11bd4be991f53d64736f6c63430008090033

Deployed Bytecode Sourcemap

7447:6517:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8060:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11933:69;;;;;;;;;;;;;:::i;:::-;;8625:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12420:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8110:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12889:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11853:72;;;;;;;;;;;;;:::i;:::-;;13293:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10581:1260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9936:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7739:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13773:149;;;;;;;;;;;;;:::i;:::-;;8401:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8208:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8513:53;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13529:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7678:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6808:148;;;;;;;;;;;;;:::i;:::-;;7932:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6594:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9352:572;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12995:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10050:519;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8007:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8175:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8343:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8573:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8243:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6964:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8455:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8145:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7854:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13095:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8060:43;;;;:::o;11933:69::-;11971:23;11983:10;11971:11;:23::i;:::-;11933:69::o;8625:47::-;;;;;;;;;;;;;;;;;:::o;12420:410::-;12481:15;12509:16;12528:41;12548:11;:20;12560:7;12548:20;;;;;;;;;;;;;;;;12528:15;:19;;:41;;;;:::i;:::-;12509:60;;12580:13;12608:7;;12597:8;:18;12596:41;;12629:8;12596:41;;;12619:7;;12596:41;12580:57;;12648:20;12671:15;:24;12687:7;12671:24;;;;;;;;;;;;;;;;12648:47;;12706:20;12729:63;12784:7;;12729:50;12767:11;;12729:33;12756:5;12729:22;12746:4;;12729:12;:16;;:22;;;;:::i;:::-;:26;;:33;;;;:::i;:::-;:37;;:50;;;;:::i;:::-;:54;;:63;;;;:::i;:::-;12706:86;;12810:12;12803:19;;;;;;12420:410;;;:::o;8110:26::-;;;;:::o;12889:98::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12971:8:::1;12958:10;;:21;;;;;;;;;;;;;;;;;;12889:98:::0;:::o;11853:72::-;11892:25;11906:10;11892:13;:25::i;:::-;11853:72::o;13293:146::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13380:5:::1;13370:7;:15;;;;13425:6;13418:5;:13;;;;:::i;:::-;13396:19;:35;;;;13293:146:::0;;:::o;10581:1260::-;10682:16;10651:15;:27;10667:10;10651:27;;;;;;;;;;;;;;;;:47;;10643:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;10740:23;10752:10;10740:11;:23::i;:::-;10804:49;10836:16;10804:15;:27;10820:10;10804:27;;;;;;;;;;;;;;;;:31;;:49;;;;:::i;:::-;10774:15;:27;10790:10;10774:27;;;;;;;;;;;;;;;:79;;;;10878:33;10894:16;10878:11;;:15;;:33;;;;:::i;:::-;10864:11;:47;;;;10926:28;10943:10;10926:7;:16;;:28;;;;:::i;:::-;:64;;;;;10989:1;10958:15;:27;10974:10;10958:27;;;;;;;;;;;;;;;;:32;10926:64;10922:123;;;11007:26;11022:10;11007:7;:14;;:26;;;;:::i;:::-;;10922:123;11065:24;11092:44;11112:11;:23;11124:10;11112:23;;;;;;;;;;;;;;;;11092:15;:19;;:44;;;;:::i;:::-;11065:71;;11171:19;;11151:16;:39;11147:162;;11221:5;;;;;;;;;;;11215:21;;;11237:10;11249:16;11215:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11207:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;11147:162;11352:19;;11333:16;:38;11329:407;;;11388:19;11410:38;11440:7;;11410:25;11431:3;11410:16;:20;;:25;;;;:::i;:::-;:29;;:38;;;;:::i;:::-;11388:60;;11463:22;11488:33;11509:11;11488:16;:20;;:33;;;;:::i;:::-;11463:58;;11550:5;;;;;;;;;;;11544:21;;;11566:10;11578:14;11544:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11536:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;11653:5;;;;;;;;;;;11647:21;;;11669:10;;;;;;;;;;;11681:11;11647:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11639:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11373:363;;11329:407;11756:25;11770:10;11756:13;:25::i;:::-;11818:15;11792:11;:23;11804:10;11792:23;;;;;;;;;;;;;;;:41;;;;10632:1209;10581:1260;:::o;9936:102::-;9987:7;10014:16;:7;:14;:16::i;:::-;10007:23;;9936:102;:::o;7739:70::-;;;;;;;;;;;;;:::o;13773:149::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13831:12:::1;13868:7;:5;:7::i;:::-;:12;;13888:21;13868:46;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13854:60;;;;;13820:102;13773:149::o:0;8401:47::-;;;;;;;;;;;;;;;;;:::o;8208:28::-;;;;:::o;8513:53::-;;;;;;;;;;;;;;;;;:::o;13529:238::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13659:13:::1;13650:22;;:5;;;;;;;;;;;:22;;;;13642:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;13722:13;13716:29;;;13746:3;13751:7;13716:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13529:238:::0;;;:::o;7678:30::-;;;;:::o;6808:148::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6915:1:::1;6878:40;;6899:6;::::0;::::1;;;;;;;;6878:40;;;;;;;;;;;;6946:1;6929:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6808:148::o:0;7932:29::-;;;;:::o;6594:79::-;6632:7;6659:6;;;;;;;;;;;6652:13;;6594:79;:::o;9352:572::-;9414:20;9452:25;9469:7;9452;:16;;:25;;;;:::i;:::-;9447:40;;9486:1;9479:8;;;;9447:40;9503:25;9520:7;9503;:16;;:25;;;;:::i;:::-;9498:40;;9537:1;9530:8;;;;9498:40;9601:19;;9553:44;9573:11;:23;9585:10;9573:23;;;;;;;;;;;;;;;;9553:15;:19;;:44;;;;:::i;:::-;:67;9549:81;;9629:1;9622:8;;;;9549:81;9651:16;9670:45;9690:15;:24;9706:7;9690:24;;;;;;;;;;;;;;;;9670:15;:19;;:45;;;;:::i;:::-;9651:64;;9726:20;9749:15;:24;9765:7;9749:24;;;;;;;;;;;;;;;;9726:47;;9794:19;9816:71;9883:3;9816:62;9863:14;;9816:42;9849:8;9816:28;9833:10;;9816:12;:16;;:28;;;;:::i;:::-;:32;;:42;;;;:::i;:::-;:46;;:62;;;;:::i;:::-;:66;;:71;;;;:::i;:::-;9794:93;;9905:11;9898:18;;;;;9352:572;;;;:::o;12995:92::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13074:5:::1;13061:10;:18;;;;12995:92:::0;:::o;10050:519::-;10124:5;;;;;;;;;;;10118:25;;;10144:10;10164:4;10171:13;10118:67;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10196:25;10210:10;10196:13;:25::i;:::-;10258:15;10232:11;:23;10244:10;10232:23;;;;;;;;;;;;;;;:41;;;;10314:46;10346:13;10314:15;:27;10330:10;10314:27;;;;;;;;;;;;;;;;:31;;:46;;;;:::i;:::-;10284:15;:27;10300:10;10284:27;;;;;;;;;;;;;;;:76;;;;10385:30;10401:13;10385:11;;:15;;:30;;;;:::i;:::-;10371:11;:44;;;;10431:28;10448:10;10431:7;:16;;:28;;;;:::i;:::-;10426:85;;10476:23;10488:10;10476:7;:11;;:23;;;;:::i;:::-;;10426:85;10546:15;10520:11;:23;10532:10;10520:23;;;;;;;;;;;;;;;:41;;;;10050:519;:::o;8007:40::-;;;;:::o;8175:26::-;;;;:::o;8343:51::-;;;;;;;;;;;;;;;;;:::o;8573:45::-;;;;;;;;;;;;;;;;;:::o;8243:34::-;;;;:::o;6964:244::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7073:1:::1;7053:22;;:8;:22;;;;7045:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7163:8;7134:38;;7155:6;::::0;::::1;;;;;;;;7134:38;;;;;;;;;;;;7192:8;7183:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6964:244:::0;:::o;8455:51::-;;;;;;;;;;;;;;;;;:::o;8145:23::-;;;;:::o;7854:65::-;;;;;;;;;;;;;:::o;13095:186::-;6731:12;:10;:12::i;:::-;6721:22;;:6;;;;;;;;;;:22;;;6713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13188:7:::1;13181:5;:14;;;;:::i;:::-;13174:4;:21;;;;13225:6;13216;:15;;;;:::i;:::-;13206:7;:25;;;;13258:15;13242:13;:31;;;;13095:186:::0;;:::o;12010:402::-;12115:19;;12070:41;12090:11;:20;12102:7;12090:20;;;;;;;;;;;;;;;;12070:15;:19;;:41;;;;:::i;:::-;:64;12067:338;;12146:11;12160:22;12174:7;12160:13;:22::i;:::-;12146:36;;12207:3;12200:4;;:10;;;;:::i;:::-;12193:4;:17;;;;12244:15;12221:11;:20;12233:7;12221:20;;;;;;;;;;;;;;;:38;;;;12270:12;12308:7;12307:14;;12329:3;12307:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12293:44;;;;;12390:3;12369:9;:18;12379:7;12369:18;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;12348:9;:18;12358:7;12348:18;;;;;;;;;;;;;;;:45;;;;12135:270;;12067:338;12010:402;:::o;274:136::-;332:7;359:43;363:1;366;359:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;352:50;;274:136;;;;:::o;618:250::-;676:7;705:1;700;:6;696:47;;;730:1;723:8;;;;696:47;755:9;771:1;767;:5;;;;:::i;:::-;755:17;;800:1;795;791;:5;;;;:::i;:::-;:10;783:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;859:1;852:8;;;618:250;;;;;:::o;876:132::-;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;954:46;;876:132;;;;:::o;5918:107::-;5963:15;6006:10;5991:26;;5918:107;:::o;8685:655::-;8746:19;8768:23;8783:7;8768:14;:23::i;:::-;8746:45;;8802:18;8829:5;;;;;;;;;;;8823:22;;;8854:4;8823:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8802:58;;8871:11;8885:27;8900:11;;8885:10;:14;;:27;;;;:::i;:::-;8871:41;;8950:15;8923;:24;8939:7;8923:24;;;;;;;;;;;;;;;:42;;;;8989:11;8982:3;:18;8978:355;;9031:1;9016:11;:16;9012:314;;9078:43;9109:11;9078:17;:26;9096:7;9078:26;;;;;;;;;;;;;;;;:30;;:43;;;;:::i;:::-;9049:17;:26;9067:7;9049:26;;;;;;;;;;;;;;;:72;;;;9158:36;9182:11;9158:19;;:23;;:36;;;;:::i;:::-;9136:19;:58;;;;9217:5;;;;;;;;;;;9211:21;;;9233:7;9242:11;9211:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9274:40;9293:7;9302:11;9274:40;;;;;;;:::i;:::-;;;;;;;;9012:314;8978:355;8733:607;;;8685:655;:::o;4434:167::-;4514:4;4538:55;4548:3;:10;;4584:5;4568:23;;4560:32;;4538:9;:55::i;:::-;4531:62;;4434:167;;;;:::o;4268:158::-;4341:4;4365:53;4373:3;:10;;4409:5;4393:23;;4385:32;;4365:7;:53::i;:::-;4358:60;;4268:158;;;;:::o;4609:117::-;4672:7;4699:19;4707:3;:10;;4699:7;:19::i;:::-;4692:26;;4609:117;;;:::o;85:181::-;143:7;163:9;179:1;175;:5;;;;:::i;:::-;163:17;;204:1;199;:6;;191:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;257:1;250:8;;;85:181;;;;:::o;4108:152::-;4178:4;4202:50;4207:3;:10;;4243:5;4227:23;;4219:32;;4202:4;:50::i;:::-;4195:57;;4108:152;;;;:::o;418:192::-;504:7;537:1;532;:6;;540:12;524:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;564:9;580:1;576;:5;;;;:::i;:::-;564:17;;601:1;594:8;;;418:192;;;;;:::o;1016:191::-;1102:7;1134:1;1130;:5;1137:12;1122:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1161:9;1177:1;1173;:5;;;;:::i;:::-;1161:17;;1198:1;1191:8;;;1016:191;;;;;:::o;2848:129::-;2921:4;2968:1;2945:3;:12;;:19;2958:5;2945:19;;;;;;;;;;;;:24;;2938:31;;2848:129;;;;:::o;1955:885::-;2021:4;2038:18;2059:3;:12;;:19;2072:5;2059:19;;;;;;;;;;;;2038:40;;2109:1;2095:10;:15;2091:742;;2129:21;2166:1;2153:10;:14;;;;:::i;:::-;2129:38;;2182:17;2223:1;2202:3;:11;;:18;;;;:22;;;;:::i;:::-;2182:42;;2239:17;2259:3;:11;;2271:9;2259:22;;;;;;;;:::i;:::-;;;;;;;;;;2239:42;;2405:9;2376:3;:11;;2388:13;2376:26;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;2524:1;2508:13;:17;;;;:::i;:::-;2482:3;:12;;:23;2495:9;2482:23;;;;;;;;;;;:43;;;;2634:3;:11;;:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2729:3;:12;;:19;2742:5;2729:19;;;;;;;;;;;2722:26;;;2772:4;2765:11;;;;;;;;2091:742;2816:5;2809:12;;;1955:885;;;;;:::o;2985:109::-;3041:7;3068:3;:11;;:18;;;;3061:25;;2985:109;;;:::o;1656:291::-;1719:4;1741:21;1751:3;1756:5;1741:9;:21::i;:::-;1736:204;;1779:3;:11;;1796:5;1779:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1839:3;:11;;:18;;;;1817:3;:12;;:19;1830:5;1817:19;;;;;;;;;;;:40;;;;1879:4;1872:11;;;;1736:204;1923:5;1916:12;;1656:291;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:474::-;1952:6;1960;2009:2;1997:9;1988:7;1984:23;1980:32;1977:119;;;2015:79;;:::i;:::-;1977:119;2135:1;2160:53;2205:7;2196:6;2185:9;2181:22;2160:53;:::i;:::-;2150:63;;2106:117;2262:2;2288:53;2333:7;2324:6;2313:9;2309:22;2288:53;:::i;:::-;2278:63;;2233:118;1884:474;;;;;:::o;2364:329::-;2423:6;2472:2;2460:9;2451:7;2447:23;2443:32;2440:119;;;2478:79;;:::i;:::-;2440:119;2598:1;2623:53;2668:7;2659:6;2648:9;2644:22;2623:53;:::i;:::-;2613:63;;2569:117;2364:329;;;;:::o;2699:118::-;2786:24;2804:5;2786:24;:::i;:::-;2781:3;2774:37;2699:118;;:::o;2823:222::-;2916:4;2954:2;2943:9;2939:18;2931:26;;2967:71;3035:1;3024:9;3020:17;3011:6;2967:71;:::i;:::-;2823:222;;;;:::o;3051:619::-;3128:6;3136;3144;3193:2;3181:9;3172:7;3168:23;3164:32;3161:119;;;3199:79;;:::i;:::-;3161:119;3319:1;3344:53;3389:7;3380:6;3369:9;3365:22;3344:53;:::i;:::-;3334:63;;3290:117;3446:2;3472:53;3517:7;3508:6;3497:9;3493:22;3472:53;:::i;:::-;3462:63;;3417:118;3574:2;3600:53;3645:7;3636:6;3625:9;3621:22;3600:53;:::i;:::-;3590:63;;3545:118;3051:619;;;;;:::o;3676:169::-;3760:11;3794:6;3789:3;3782:19;3834:4;3829:3;3825:14;3810:29;;3676:169;;;;:::o;3851:182::-;3991:34;3987:1;3979:6;3975:14;3968:58;3851:182;:::o;4039:366::-;4181:3;4202:67;4266:2;4261:3;4202:67;:::i;:::-;4195:74;;4278:93;4367:3;4278:93;:::i;:::-;4396:2;4391:3;4387:12;4380:19;;4039:366;;;:::o;4411:419::-;4577:4;4615:2;4604:9;4600:18;4592:26;;4664:9;4658:4;4654:20;4650:1;4639:9;4635:17;4628:47;4692:131;4818:4;4692:131;:::i;:::-;4684:139;;4411:419;;;:::o;4836:180::-;4884:77;4881:1;4874:88;4981:4;4978:1;4971:15;5005:4;5002:1;4995:15;5022:348;5062:7;5085:20;5103:1;5085:20;:::i;:::-;5080:25;;5119:20;5137:1;5119:20;:::i;:::-;5114:25;;5307:1;5239:66;5235:74;5232:1;5229:81;5224:1;5217:9;5210:17;5206:105;5203:131;;;5314:18;;:::i;:::-;5203:131;5362:1;5359;5355:9;5344:20;;5022:348;;;;:::o;5376:176::-;5516:28;5512:1;5504:6;5500:14;5493:52;5376:176;:::o;5558:366::-;5700:3;5721:67;5785:2;5780:3;5721:67;:::i;:::-;5714:74;;5797:93;5886:3;5797:93;:::i;:::-;5915:2;5910:3;5906:12;5899:19;;5558:366;;;:::o;5930:419::-;6096:4;6134:2;6123:9;6119:18;6111:26;;6183:9;6177:4;6173:20;6169:1;6158:9;6154:17;6147:47;6211:131;6337:4;6211:131;:::i;:::-;6203:139;;5930:419;;;:::o;6355:332::-;6476:4;6514:2;6503:9;6499:18;6491:26;;6527:71;6595:1;6584:9;6580:17;6571:6;6527:71;:::i;:::-;6608:72;6676:2;6665:9;6661:18;6652:6;6608:72;:::i;:::-;6355:332;;;;;:::o;6693:90::-;6727:7;6770:5;6763:13;6756:21;6745:32;;6693:90;;;:::o;6789:116::-;6859:21;6874:5;6859:21;:::i;:::-;6852:5;6849:32;6839:60;;6895:1;6892;6885:12;6839:60;6789:116;:::o;6911:137::-;6965:5;6996:6;6990:13;6981:22;;7012:30;7036:5;7012:30;:::i;:::-;6911:137;;;;:::o;7054:345::-;7121:6;7170:2;7158:9;7149:7;7145:23;7141:32;7138:119;;;7176:79;;:::i;:::-;7138:119;7296:1;7321:61;7374:7;7365:6;7354:9;7350:22;7321:61;:::i;:::-;7311:71;;7267:125;7054:345;;;;:::o;7405:176::-;7545:28;7541:1;7533:6;7529:14;7522:52;7405:176;:::o;7587:366::-;7729:3;7750:67;7814:2;7809:3;7750:67;:::i;:::-;7743:74;;7826:93;7915:3;7826:93;:::i;:::-;7944:2;7939:3;7935:12;7928:19;;7587:366;;;:::o;7959:419::-;8125:4;8163:2;8152:9;8148:18;8140:26;;8212:9;8206:4;8202:20;8198:1;8187:9;8183:17;8176:47;8240:131;8366:4;8240:131;:::i;:::-;8232:139;;7959:419;;;:::o;8384:147::-;8485:11;8522:3;8507:18;;8384:147;;;;:::o;8537:114::-;;:::o;8657:398::-;8816:3;8837:83;8918:1;8913:3;8837:83;:::i;:::-;8830:90;;8929:93;9018:3;8929:93;:::i;:::-;9047:1;9042:3;9038:11;9031:18;;8657:398;;;:::o;9061:379::-;9245:3;9267:147;9410:3;9267:147;:::i;:::-;9260:154;;9431:3;9424:10;;9061:379;;;:::o;9446:178::-;9586:30;9582:1;9574:6;9570:14;9563:54;9446:178;:::o;9630:366::-;9772:3;9793:67;9857:2;9852:3;9793:67;:::i;:::-;9786:74;;9869:93;9958:3;9869:93;:::i;:::-;9987:2;9982:3;9978:12;9971:19;;9630:366;;;:::o;10002:419::-;10168:4;10206:2;10195:9;10191:18;10183:26;;10255:9;10249:4;10245:20;10241:1;10230:9;10226:17;10219:47;10283:131;10409:4;10283:131;:::i;:::-;10275:139;;10002:419;;;:::o;10427:442::-;10576:4;10614:2;10603:9;10599:18;10591:26;;10627:71;10695:1;10684:9;10680:17;10671:6;10627:71;:::i;:::-;10708:72;10776:2;10765:9;10761:18;10752:6;10708:72;:::i;:::-;10790;10858:2;10847:9;10843:18;10834:6;10790:72;:::i;:::-;10427:442;;;;;;:::o;10875:225::-;11015:34;11011:1;11003:6;10999:14;10992:58;11084:8;11079:2;11071:6;11067:15;11060:33;10875:225;:::o;11106:366::-;11248:3;11269:67;11333:2;11328:3;11269:67;:::i;:::-;11262:74;;11345:93;11434:3;11345:93;:::i;:::-;11463:2;11458:3;11454:12;11447:19;;11106:366;;;:::o;11478:419::-;11644:4;11682:2;11671:9;11667:18;11659:26;;11731:9;11725:4;11721:20;11717:1;11706:9;11702:17;11695:47;11759:131;11885:4;11759:131;:::i;:::-;11751:139;;11478:419;;;:::o;11903:191::-;11943:4;11963:20;11981:1;11963:20;:::i;:::-;11958:25;;11997:20;12015:1;11997:20;:::i;:::-;11992:25;;12036:1;12033;12030:8;12027:34;;;12041:18;;:::i;:::-;12027:34;12086:1;12083;12079:9;12071:17;;11903:191;;;;:::o;12100:305::-;12140:3;12159:20;12177:1;12159:20;:::i;:::-;12154:25;;12193:20;12211:1;12193:20;:::i;:::-;12188:25;;12347:1;12279:66;12275:74;12272:1;12269:81;12266:107;;;12353:18;;:::i;:::-;12266:107;12397:1;12394;12390:9;12383:16;;12100:305;;;;:::o;12411:180::-;12459:77;12456:1;12449:88;12556:4;12553:1;12546:15;12580:4;12577:1;12570:15;12597:185;12637:1;12654:20;12672:1;12654:20;:::i;:::-;12649:25;;12688:20;12706:1;12688:20;:::i;:::-;12683:25;;12727:1;12717:35;;12732:18;;:::i;:::-;12717:35;12774:1;12771;12767:9;12762:14;;12597:185;;;;:::o;12788:220::-;12928:34;12924:1;12916:6;12912:14;12905:58;12997:3;12992:2;12984:6;12980:15;12973:28;12788:220;:::o;13014:366::-;13156:3;13177:67;13241:2;13236:3;13177:67;:::i;:::-;13170:74;;13253:93;13342:3;13253:93;:::i;:::-;13371:2;13366:3;13362:12;13355:19;;13014:366;;;:::o;13386:419::-;13552:4;13590:2;13579:9;13575:18;13567:26;;13639:9;13633:4;13629:20;13625:1;13614:9;13610:17;13603:47;13667:131;13793:4;13667:131;:::i;:::-;13659:139;;13386:419;;;:::o;13811:143::-;13868:5;13899:6;13893:13;13884:22;;13915:33;13942:5;13915:33;:::i;:::-;13811:143;;;;:::o;13960:351::-;14030:6;14079:2;14067:9;14058:7;14054:23;14050:32;14047:119;;;14085:79;;:::i;:::-;14047:119;14205:1;14230:64;14286:7;14277:6;14266:9;14262:22;14230:64;:::i;:::-;14220:74;;14176:128;13960:351;;;;:::o;14317:177::-;14457:29;14453:1;14445:6;14441:14;14434:53;14317:177;:::o;14500:366::-;14642:3;14663:67;14727:2;14722:3;14663:67;:::i;:::-;14656:74;;14739:93;14828:3;14739:93;:::i;:::-;14857:2;14852:3;14848:12;14841:19;;14500:366;;;:::o;14872:419::-;15038:4;15076:2;15065:9;15061:18;15053:26;;15125:9;15119:4;15115:20;15111:1;15100:9;15096:17;15089:47;15153:131;15279:4;15153:131;:::i;:::-;15145:139;;14872:419;;;:::o;15297:99::-;15349:6;15383:5;15377:12;15367:22;;15297:99;;;:::o;15402:307::-;15470:1;15480:113;15494:6;15491:1;15488:13;15480:113;;;15579:1;15574:3;15570:11;15564:18;15560:1;15555:3;15551:11;15544:39;15516:2;15513:1;15509:10;15504:15;;15480:113;;;15611:6;15608:1;15605:13;15602:101;;;15691:1;15682:6;15677:3;15673:16;15666:27;15602:101;15451:258;15402:307;;;:::o;15715:102::-;15756:6;15807:2;15803:7;15798:2;15791:5;15787:14;15783:28;15773:38;;15715:102;;;:::o;15823:364::-;15911:3;15939:39;15972:5;15939:39;:::i;:::-;15994:71;16058:6;16053:3;15994:71;:::i;:::-;15987:78;;16074:52;16119:6;16114:3;16107:4;16100:5;16096:16;16074:52;:::i;:::-;16151:29;16173:6;16151:29;:::i;:::-;16146:3;16142:39;16135:46;;15915:272;15823:364;;;;:::o;16193:313::-;16306:4;16344:2;16333:9;16329:18;16321:26;;16393:9;16387:4;16383:20;16379:1;16368:9;16364:17;16357:47;16421:78;16494:4;16485:6;16421:78;:::i;:::-;16413:86;;16193:313;;;;:::o;16512:180::-;16560:77;16557:1;16550:88;16657:4;16654:1;16647:15;16681:4;16678:1;16671:15;16698:180;16746:77;16743:1;16736:88;16843:4;16840:1;16833:15;16867:4;16864:1;16857:15

Swarm Source

ipfs://061cdad0e689db6c59a2a24664acc9c7b549936dc51a978e6a11bd4be991f53d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.