ETH Price: $2,908.80 (+3.17%)
 

Overview

Max Total Supply

1,000,000,000,000 VISTAPIG

Holders

138

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
VISTAPIG

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-09-02
*/

/**
    https://www.vistapig.meme/
    https://x.com/vistapigcoin
    https://t.me/vistapigcoin

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.7;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

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

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

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
}

contract Ownable {
    address public owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    modifier onlyOwner() {
        require(msg.sender == owner, "Ownable: caller is not the owner");
        _;
    }

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

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

interface ERC20 {

    function balanceOf(address who) external view returns (uint);
    function transfer(address to, uint value) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    function allowance(address owner, address spender) external view returns (uint);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function approve(address spender, uint value) external returns (bool);

    event Approval(address indexed owner, address indexed spender, uint value);
}

contract Token is ERC20 {
    using SafeMath for uint256;

    uint256 public txFee;
    uint256 public burnFee;
    address public FeeAddress;
    uint256 public totalSupply;
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => mapping (address => uint256)) internal allowed;
    mapping(address => bool) public  tokenBlacklist;
    event Blacklist(address indexed blackListed, bool value);
    bool public paused;
    mapping(address => uint256) balances;


    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(!tokenBlacklist[sender], "StandardToken: sender is blacklisted");
        require(recipient != address(0), "StandardToken: transfer to the zero address");
        require(amount <= balances[sender], "StandardToken: transfer amount exceeds balance");
        if((!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) ){
            require(!paused, "not start");
        }

        balances[sender] = balances[sender].sub(amount);
        uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ?
                                        amount : takeFee(sender, amount);


        balances[recipient] = balances[recipient].add(finalAmount);

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
        uint256 destAmount = 0;
        if(burnFee > 0) {
            destAmount = amount.mul(burnFee).div(100);
        }
        
        if(txFee > 0) {
            feeAmount = amount.mul(txFee).div(100);
        }

        if(feeAmount > 0) {
            balances[FeeAddress] = balances[FeeAddress].add(feeAmount);
            emit Transfer(sender, FeeAddress, feeAmount);
        }
        if(destAmount >0){
            balances[address(0)] = balances[address(0)].add(destAmount);
            emit Transfer(sender, address(0), destAmount);
        }

        return amount.sub(feeAmount.add(destAmount));
    }

    function transfer(address _to, uint256 _value) public virtual override returns (bool) {
        _transfer(msg.sender, _to, _value);
        return true;
    }

    function balanceOf(address _owner) public view virtual override returns (uint256 balance) {
        return balances[_owner];
    }

    function transferFrom(address _from, address _to, uint256 _value) public virtual override returns (bool) {
        _transfer(_from,_to,_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        return true;
    }

    function approve(address _spender, uint256 _value) public virtual override returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view virtual override returns (uint256) {
        return allowed[_owner][_spender];
    }

    function increaseApproval(address _spender, uint256 _addedValue) public virtual returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public virtual returns (bool) {
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

contract VISTAPIG is Token,Ownable {
    string public name = "Vista Pig";
    string public symbol = "VISTAPIG";
    uint public decimals = 9;

    event Mint(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed burner, uint256 value);

    constructor()  {
        totalSupply = 1_000_000_000_000 * 10**decimals;
        balances[msg.sender] = totalSupply;
        owner = msg.sender;
        emit Transfer(address(0), owner, totalSupply);
    }

    function burn(uint256 _value) public {
        _burn(msg.sender, _value);
    }

    function _burn(address _who, uint256 _value) internal virtual {
        require(_value <= balances[_who], "Burn amount exceeds balance");
        balances[_who] -= _value;
        totalSupply -= _value;
        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
    }
    
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            isExcludedFromFee[accounts[i]] = excluded;
        }
    }
    
    function pause() onlyOwner public {
        paused = true;
    }

    function unpause() onlyOwner public {
        paused = false;
    }

    function blackListAddress(address listAddress,  bool isBlackListed) public onlyOwner {
        tokenBlacklist[listAddress] = isBlackListed;

    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"blackListed","type":"address"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"Blacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"FeeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"listAddress","type":"address"},{"internalType":"bool","name":"isBlackListed","type":"bool"}],"name":"blackListAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"txFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600981526020017f5669737461205069670000000000000000000000000000000000000000000000815250600c9081610048919061042b565b506040518060400160405280600881526020017f5649535441504947000000000000000000000000000000000000000000000000815250600d908161008d919061042b565b506009600e5534801561009f57600080fd5b50600e54600a6100af919061065f565b64e8d4a510006100bf91906106aa565b600381905550600354600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516101ce91906106fb565b60405180910390a3610716565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061025c57607f821691505b60208210810361026f5761026e610215565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026102d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261029a565b6102e1868361029a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061032861032361031e846102f9565b610303565b6102f9565b9050919050565b6000819050919050565b6103428361030d565b61035661034e8261032f565b8484546102a7565b825550505050565b600090565b61036b61035e565b610376818484610339565b505050565b5b8181101561039a5761038f600082610363565b60018101905061037c565b5050565b601f8211156103df576103b081610275565b6103b98461028a565b810160208510156103c8578190505b6103dc6103d48561028a565b83018261037b565b50505b505050565b600082821c905092915050565b6000610402600019846008026103e4565b1980831691505092915050565b600061041b83836103f1565b9150826002028217905092915050565b610434826101db565b67ffffffffffffffff81111561044d5761044c6101e6565b5b6104578254610244565b61046282828561039e565b600060209050601f8311600181146104955760008415610483578287015190505b61048d858261040f565b8655506104f5565b601f1984166104a386610275565b60005b828110156104cb578489015182556001820191506020850194506020810190506104a6565b868310156104e857848901516104e4601f8916826103f1565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156105835780860481111561055f5761055e6104fd565b5b600185161561056e5780820291505b808102905061057c8561052c565b9450610543565b94509492505050565b60008261059c5760019050610658565b816105aa5760009050610658565b81600181146105c057600281146105ca576105f9565b6001915050610658565b60ff8411156105dc576105db6104fd565b5b8360020a9150848211156105f3576105f26104fd565b5b50610658565b5060208310610133831016604e8410600b841016171561062e5782820a905083811115610629576106286104fd565b5b610658565b61063b8484846001610539565b92509050818404811115610652576106516104fd565b5b81810290505b9392505050565b600061066a826102f9565b9150610675836102f9565b92506106a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461058c565b905092915050565b60006106b5826102f9565b91506106c0836102f9565b92508282026106ce816102f9565b915082820484148315176106e5576106e46104fd565b5b5092915050565b6106f5816102f9565b82525050565b600060208201905061071060008301846106ec565b92915050565b6129b7806107256000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063794be707116100de578063a9059cbb11610097578063d73dd62311610071578063d73dd6231461042a578063dd62ed3e1461045a578063f2fde38b1461048a578063fce589d8146104a657610173565b8063a9059cbb146103c0578063c492f046146103f0578063cf8204611461040c57610173565b8063794be707146103105780637b7e8bac1461032c5780638456cb591461034a5780638da5cb5b1461035457806395d89b41146103725780639fa451021461039057610173565b806342966c681161013057806342966c681461023c5780635342acb4146102585780635c975abb1461028857806366188463146102a657806370a08231146102d6578063715018a61461030657610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101c657806323b872dd146101e4578063313ce567146102145780633f4ba83a14610232575b600080fd5b6101806104c4565b60405161018d9190611fad565b60405180910390f35b6101b060048036038101906101ab919061206d565b610552565b6040516101bd91906120c8565b60405180910390f35b6101ce610644565b6040516101db91906120f2565b60405180910390f35b6101fe60048036038101906101f9919061210d565b61064a565b60405161020b91906120c8565b60405180910390f35b61021c610772565b60405161022991906120f2565b60405180910390f35b61023a610778565b005b61025660048036038101906102519190612160565b610825565b005b610272600480360381019061026d919061218d565b610832565b60405161027f91906120c8565b60405180910390f35b610290610852565b60405161029d91906120c8565b60405180910390f35b6102c060048036038101906102bb919061206d565b610865565b6040516102cd91906120c8565b60405180910390f35b6102f060048036038101906102eb919061218d565b610af6565b6040516102fd91906120f2565b60405180910390f35b61030e610b3f565b005b61032a600480360381019061032591906121e6565b610c90565b005b610334610d7b565b6040516103419190612235565b60405180910390f35b610352610da1565b005b61035c610e4e565b6040516103699190612235565b60405180910390f35b61037a610e74565b6040516103879190611fad565b60405180910390f35b6103aa60048036038101906103a5919061218d565b610f02565b6040516103b791906120c8565b60405180910390f35b6103da60048036038101906103d5919061206d565b610f22565b6040516103e791906120c8565b60405180910390f35b61040a600480360381019061040591906122b5565b610f3a565b005b610414611069565b60405161042191906120f2565b60405180910390f35b610444600480360381019061043f919061206d565b61106f565b60405161045191906120c8565b60405180910390f35b610474600480360381019061046f9190612315565b61126b565b60405161048191906120f2565b60405180910390f35b6104a4600480360381019061049f919061218d565b6112f2565b005b6104ae6114b1565b6040516104bb91906120f2565b60405180910390f35b600c80546104d190612384565b80601f01602080910402602001604051908101604052809291908181526020018280546104fd90612384565b801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161063291906120f2565b60405180910390a36001905092915050565b60035481565b60006106578484846114b7565b506106e782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198690919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b600e5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff90612401565b60405180910390fd5b6000600760006101000a81548160ff021916908315150217905550565b61082f33826119df565b50565b60046020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900460ff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610976576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a0a565b610989838261198690919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610ae391906120f2565b60405180910390a3600191505092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690612401565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1790612401565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890612401565b60405180910390fd5b6001600760006101000a81548160ff021916908315150217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d8054610e8190612384565b80601f0160208091040260200160405190810160405280929190818152602001828054610ead90612384565b8015610efa5780601f10610ecf57610100808354040283529160200191610efa565b820191906000526020600020905b815481529060010190602001808311610edd57829003601f168201915b505050505081565b60066020528060005260406000206000915054906101000a900460ff1681565b6000610f2f3384846114b7565b506001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190612401565b60405180910390fd5b60005b83839050811015611063578160046000868685818110610ff057610fef612421565b5b9050602002016020810190611005919061218d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610fcd565b50505050565b60005481565b600061110082600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161125991906120f2565b60405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137990612401565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e8906124c2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015481565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153d90612554565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ac906125e6565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e90612678565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116db5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561173157600760009054906101000a900460ff1615611730576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611727906126e4565b60405180910390fd5b5b61178382600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198690919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118695750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61187c576118778584611b9e565b61187e565b825b90506118d281600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197291906120f2565b60405180910390a360019150509392505050565b6000828211156119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c290612750565b60405180910390fd5b81836119d7919061279f565b905092915050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a589061281f565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ab0919061279f565b925050819055508060036000828254611ac9919061279f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582604051611b1691906120f2565b60405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7c91906120f2565b60405180910390a35050565b60008183611b96919061283f565b905092915050565b600080600090506000806001541115611bdc57611bd96064611bcb60015487611eaf90919063ffffffff16565b611ec590919063ffffffff16565b90505b600080541115611c1157611c0e6064611c0060005487611eaf90919063ffffffff16565b611ec590919063ffffffff16565b91505b6000821115611d7b57611c8e8260086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b60086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d7291906120f2565b60405180910390a35b6000811115611e8057611dd681600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e7791906120f2565b60405180910390a35b611ea5611e968284611b8890919063ffffffff16565b8561198690919063ffffffff16565b9250505092915050565b60008183611ebd9190612873565b905092915050565b6000808211611f09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0090612901565b60405180910390fd5b8183611f159190612950565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f57578082015181840152602081019050611f3c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f7f82611f1d565b611f898185611f28565b9350611f99818560208601611f39565b611fa281611f63565b840191505092915050565b60006020820190508181036000830152611fc78184611f74565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061200482611fd9565b9050919050565b61201481611ff9565b811461201f57600080fd5b50565b6000813590506120318161200b565b92915050565b6000819050919050565b61204a81612037565b811461205557600080fd5b50565b60008135905061206781612041565b92915050565b6000806040838503121561208457612083611fcf565b5b600061209285828601612022565b92505060206120a385828601612058565b9150509250929050565b60008115159050919050565b6120c2816120ad565b82525050565b60006020820190506120dd60008301846120b9565b92915050565b6120ec81612037565b82525050565b600060208201905061210760008301846120e3565b92915050565b60008060006060848603121561212657612125611fcf565b5b600061213486828701612022565b935050602061214586828701612022565b925050604061215686828701612058565b9150509250925092565b60006020828403121561217657612175611fcf565b5b600061218484828501612058565b91505092915050565b6000602082840312156121a3576121a2611fcf565b5b60006121b184828501612022565b91505092915050565b6121c3816120ad565b81146121ce57600080fd5b50565b6000813590506121e0816121ba565b92915050565b600080604083850312156121fd576121fc611fcf565b5b600061220b85828601612022565b925050602061221c858286016121d1565b9150509250929050565b61222f81611ff9565b82525050565b600060208201905061224a6000830184612226565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261227557612274612250565b5b8235905067ffffffffffffffff81111561229257612291612255565b5b6020830191508360208202830111156122ae576122ad61225a565b5b9250929050565b6000806000604084860312156122ce576122cd611fcf565b5b600084013567ffffffffffffffff8111156122ec576122eb611fd4565b5b6122f88682870161225f565b9350935050602061230b868287016121d1565b9150509250925092565b6000806040838503121561232c5761232b611fcf565b5b600061233a85828601612022565b925050602061234b85828601612022565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061239c57607f821691505b6020821081036123af576123ae612355565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123eb602083611f28565b91506123f6826123b5565b602082019050919050565b6000602082019050818103600083015261241a816123de565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124ac602683611f28565b91506124b782612450565b604082019050919050565b600060208201905081810360008301526124db8161249f565b9050919050565b7f5374616e64617264546f6b656e3a2073656e64657220697320626c61636b6c6960008201527f7374656400000000000000000000000000000000000000000000000000000000602082015250565b600061253e602483611f28565b9150612549826124e2565b604082019050919050565b6000602082019050818103600083015261256d81612531565b9050919050565b7f5374616e64617264546f6b656e3a207472616e7366657220746f20746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b60006125d0602b83611f28565b91506125db82612574565b604082019050919050565b600060208201905081810360008301526125ff816125c3565b9050919050565b7f5374616e64617264546f6b656e3a207472616e7366657220616d6f756e74206560008201527f7863656564732062616c616e6365000000000000000000000000000000000000602082015250565b6000612662602e83611f28565b915061266d82612606565b604082019050919050565b6000602082019050818103600083015261269181612655565b9050919050565b7f6e6f742073746172740000000000000000000000000000000000000000000000600082015250565b60006126ce600983611f28565b91506126d982612698565b602082019050919050565b600060208201905081810360008301526126fd816126c1565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061273a601e83611f28565b915061274582612704565b602082019050919050565b600060208201905081810360008301526127698161272d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127aa82612037565b91506127b583612037565b92508282039050818111156127cd576127cc612770565b5b92915050565b7f4275726e20616d6f756e7420657863656564732062616c616e63650000000000600082015250565b6000612809601b83611f28565b9150612814826127d3565b602082019050919050565b60006020820190508181036000830152612838816127fc565b9050919050565b600061284a82612037565b915061285583612037565b925082820190508082111561286d5761286c612770565b5b92915050565b600061287e82612037565b915061288983612037565b925082820261289781612037565b915082820484148315176128ae576128ad612770565b5b5092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006128eb601a83611f28565b91506128f6826128b5565b602082019050919050565b6000602082019050818103600083015261291a816128de565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061295b82612037565b915061296683612037565b92508261297657612975612921565b5b82820490509291505056fea2646970667358221220e5d442ce33c109fa9811a14b86874d365cd80b78b7fbcd192e73ea3924ac4b8464736f6c634300081a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c8063794be707116100de578063a9059cbb11610097578063d73dd62311610071578063d73dd6231461042a578063dd62ed3e1461045a578063f2fde38b1461048a578063fce589d8146104a657610173565b8063a9059cbb146103c0578063c492f046146103f0578063cf8204611461040c57610173565b8063794be707146103105780637b7e8bac1461032c5780638456cb591461034a5780638da5cb5b1461035457806395d89b41146103725780639fa451021461039057610173565b806342966c681161013057806342966c681461023c5780635342acb4146102585780635c975abb1461028857806366188463146102a657806370a08231146102d6578063715018a61461030657610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101c657806323b872dd146101e4578063313ce567146102145780633f4ba83a14610232575b600080fd5b6101806104c4565b60405161018d9190611fad565b60405180910390f35b6101b060048036038101906101ab919061206d565b610552565b6040516101bd91906120c8565b60405180910390f35b6101ce610644565b6040516101db91906120f2565b60405180910390f35b6101fe60048036038101906101f9919061210d565b61064a565b60405161020b91906120c8565b60405180910390f35b61021c610772565b60405161022991906120f2565b60405180910390f35b61023a610778565b005b61025660048036038101906102519190612160565b610825565b005b610272600480360381019061026d919061218d565b610832565b60405161027f91906120c8565b60405180910390f35b610290610852565b60405161029d91906120c8565b60405180910390f35b6102c060048036038101906102bb919061206d565b610865565b6040516102cd91906120c8565b60405180910390f35b6102f060048036038101906102eb919061218d565b610af6565b6040516102fd91906120f2565b60405180910390f35b61030e610b3f565b005b61032a600480360381019061032591906121e6565b610c90565b005b610334610d7b565b6040516103419190612235565b60405180910390f35b610352610da1565b005b61035c610e4e565b6040516103699190612235565b60405180910390f35b61037a610e74565b6040516103879190611fad565b60405180910390f35b6103aa60048036038101906103a5919061218d565b610f02565b6040516103b791906120c8565b60405180910390f35b6103da60048036038101906103d5919061206d565b610f22565b6040516103e791906120c8565b60405180910390f35b61040a600480360381019061040591906122b5565b610f3a565b005b610414611069565b60405161042191906120f2565b60405180910390f35b610444600480360381019061043f919061206d565b61106f565b60405161045191906120c8565b60405180910390f35b610474600480360381019061046f9190612315565b61126b565b60405161048191906120f2565b60405180910390f35b6104a4600480360381019061049f919061218d565b6112f2565b005b6104ae6114b1565b6040516104bb91906120f2565b60405180910390f35b600c80546104d190612384565b80601f01602080910402602001604051908101604052809291908181526020018280546104fd90612384565b801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161063291906120f2565b60405180910390a36001905092915050565b60035481565b60006106578484846114b7565b506106e782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198690919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b600e5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff90612401565b60405180910390fd5b6000600760006101000a81548160ff021916908315150217905550565b61082f33826119df565b50565b60046020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900460ff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610976576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a0a565b610989838261198690919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610ae391906120f2565b60405180910390a3600191505092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690612401565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1790612401565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890612401565b60405180910390fd5b6001600760006101000a81548160ff021916908315150217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d8054610e8190612384565b80601f0160208091040260200160405190810160405280929190818152602001828054610ead90612384565b8015610efa5780601f10610ecf57610100808354040283529160200191610efa565b820191906000526020600020905b815481529060010190602001808311610edd57829003601f168201915b505050505081565b60066020528060005260406000206000915054906101000a900460ff1681565b6000610f2f3384846114b7565b506001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190612401565b60405180910390fd5b60005b83839050811015611063578160046000868685818110610ff057610fef612421565b5b9050602002016020810190611005919061218d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610fcd565b50505050565b60005481565b600061110082600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161125991906120f2565b60405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137990612401565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e8906124c2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015481565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153d90612554565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ac906125e6565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e90612678565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116db5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561173157600760009054906101000a900460ff1615611730576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611727906126e4565b60405180910390fd5b5b61178382600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198690919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118695750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61187c576118778584611b9e565b61187e565b825b90506118d281600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197291906120f2565b60405180910390a360019150509392505050565b6000828211156119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c290612750565b60405180910390fd5b81836119d7919061279f565b905092915050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a589061281f565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ab0919061279f565b925050819055508060036000828254611ac9919061279f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582604051611b1691906120f2565b60405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7c91906120f2565b60405180910390a35050565b60008183611b96919061283f565b905092915050565b600080600090506000806001541115611bdc57611bd96064611bcb60015487611eaf90919063ffffffff16565b611ec590919063ffffffff16565b90505b600080541115611c1157611c0e6064611c0060005487611eaf90919063ffffffff16565b611ec590919063ffffffff16565b91505b6000821115611d7b57611c8e8260086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b60086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d7291906120f2565b60405180910390a35b6000811115611e8057611dd681600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8890919063ffffffff16565b600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e7791906120f2565b60405180910390a35b611ea5611e968284611b8890919063ffffffff16565b8561198690919063ffffffff16565b9250505092915050565b60008183611ebd9190612873565b905092915050565b6000808211611f09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0090612901565b60405180910390fd5b8183611f159190612950565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f57578082015181840152602081019050611f3c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f7f82611f1d565b611f898185611f28565b9350611f99818560208601611f39565b611fa281611f63565b840191505092915050565b60006020820190508181036000830152611fc78184611f74565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061200482611fd9565b9050919050565b61201481611ff9565b811461201f57600080fd5b50565b6000813590506120318161200b565b92915050565b6000819050919050565b61204a81612037565b811461205557600080fd5b50565b60008135905061206781612041565b92915050565b6000806040838503121561208457612083611fcf565b5b600061209285828601612022565b92505060206120a385828601612058565b9150509250929050565b60008115159050919050565b6120c2816120ad565b82525050565b60006020820190506120dd60008301846120b9565b92915050565b6120ec81612037565b82525050565b600060208201905061210760008301846120e3565b92915050565b60008060006060848603121561212657612125611fcf565b5b600061213486828701612022565b935050602061214586828701612022565b925050604061215686828701612058565b9150509250925092565b60006020828403121561217657612175611fcf565b5b600061218484828501612058565b91505092915050565b6000602082840312156121a3576121a2611fcf565b5b60006121b184828501612022565b91505092915050565b6121c3816120ad565b81146121ce57600080fd5b50565b6000813590506121e0816121ba565b92915050565b600080604083850312156121fd576121fc611fcf565b5b600061220b85828601612022565b925050602061221c858286016121d1565b9150509250929050565b61222f81611ff9565b82525050565b600060208201905061224a6000830184612226565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261227557612274612250565b5b8235905067ffffffffffffffff81111561229257612291612255565b5b6020830191508360208202830111156122ae576122ad61225a565b5b9250929050565b6000806000604084860312156122ce576122cd611fcf565b5b600084013567ffffffffffffffff8111156122ec576122eb611fd4565b5b6122f88682870161225f565b9350935050602061230b868287016121d1565b9150509250925092565b6000806040838503121561232c5761232b611fcf565b5b600061233a85828601612022565b925050602061234b85828601612022565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061239c57607f821691505b6020821081036123af576123ae612355565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123eb602083611f28565b91506123f6826123b5565b602082019050919050565b6000602082019050818103600083015261241a816123de565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124ac602683611f28565b91506124b782612450565b604082019050919050565b600060208201905081810360008301526124db8161249f565b9050919050565b7f5374616e64617264546f6b656e3a2073656e64657220697320626c61636b6c6960008201527f7374656400000000000000000000000000000000000000000000000000000000602082015250565b600061253e602483611f28565b9150612549826124e2565b604082019050919050565b6000602082019050818103600083015261256d81612531565b9050919050565b7f5374616e64617264546f6b656e3a207472616e7366657220746f20746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b60006125d0602b83611f28565b91506125db82612574565b604082019050919050565b600060208201905081810360008301526125ff816125c3565b9050919050565b7f5374616e64617264546f6b656e3a207472616e7366657220616d6f756e74206560008201527f7863656564732062616c616e6365000000000000000000000000000000000000602082015250565b6000612662602e83611f28565b915061266d82612606565b604082019050919050565b6000602082019050818103600083015261269181612655565b9050919050565b7f6e6f742073746172740000000000000000000000000000000000000000000000600082015250565b60006126ce600983611f28565b91506126d982612698565b602082019050919050565b600060208201905081810360008301526126fd816126c1565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061273a601e83611f28565b915061274582612704565b602082019050919050565b600060208201905081810360008301526127698161272d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127aa82612037565b91506127b583612037565b92508282039050818111156127cd576127cc612770565b5b92915050565b7f4275726e20616d6f756e7420657863656564732062616c616e63650000000000600082015250565b6000612809601b83611f28565b9150612814826127d3565b602082019050919050565b60006020820190508181036000830152612838816127fc565b9050919050565b600061284a82612037565b915061285583612037565b925082820190508082111561286d5761286c612770565b5b92915050565b600061287e82612037565b915061288983612037565b925082820261289781612037565b915082820484148315176128ae576128ad612770565b5b5092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006128eb601a83611f28565b91506128f6826128b5565b602082019050919050565b6000602082019050818103600083015261291a816128de565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061295b82612037565b915061296683612037565b92508261297657612975612921565b5b82820490509291505056fea2646970667358221220e5d442ce33c109fa9811a14b86874d365cd80b78b7fbcd192e73ea3924ac4b8464736f6c634300081a0033

Deployed Bytecode Sourcemap

5913:1451:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5955:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4751:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2186:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4492:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6034:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7133:69;;;:::i;:::-;;6417:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2219:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2466:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5440:464;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4352:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1070:138;;;:::i;:::-;;7210:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2154:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7059:66;;;:::i;:::-;;756:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5994:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2349:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4183:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6814:233;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2098:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5141:291;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4982:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1216:234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2125:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5955:32;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4751:223::-;4835:4;4884:6;4852:7;:19;4860:10;4852:19;;;;;;;;;;;;;;;:29;4872:8;4852:29;;;;;;;;;;;;;;;:38;;;;4927:8;4906:38;;4915:10;4906:38;;;4937:6;4906:38;;;;;;:::i;:::-;;;;;;;;4962:4;4955:11;;4751:223;;;;:::o;2186:26::-;;;;:::o;4492:251::-;4591:4;4608:27;4618:5;4624:3;4628:6;4608:9;:27::i;:::-;;4675:38;4706:6;4675:7;:14;4683:5;4675:14;;;;;;;;;;;;;;;:26;4690:10;4675:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;4646:7;:14;4654:5;4646:14;;;;;;;;;;;;;;;:26;4661:10;4646:26;;;;;;;;;;;;;;;:67;;;;4731:4;4724:11;;4492:251;;;;;:::o;6034:24::-;;;;:::o;7133:69::-;1000:5;;;;;;;;;;;986:19;;:10;:19;;;978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7189:5:::1;7180:6;;:14;;;;;;;;;;;;;;;;;;7133:69::o:0;6417:81::-;6465:25;6471:10;6483:6;6465:5;:25::i;:::-;6417:81;:::o;2219:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;2466:18::-;;;;;;;;;;;;;:::o;5440:464::-;5534:4;5551:16;5570:7;:19;5578:10;5570:19;;;;;;;;;;;;;;;:29;5590:8;5570:29;;;;;;;;;;;;;;;;5551:48;;5633:8;5614:16;:27;5610:188;;;5690:1;5658:7;:19;5666:10;5658:19;;;;;;;;;;;;;;;:29;5678:8;5658:29;;;;;;;;;;;;;;;:33;;;;5610:188;;;5756:30;5769:16;5756:8;:12;;:30;;;;:::i;:::-;5724:7;:19;5732:10;5724:19;;;;;;;;;;;;;;;:29;5744:8;5724:29;;;;;;;;;;;;;;;:62;;;;5610:188;5834:8;5813:61;;5822:10;5813:61;;;5844:7;:19;5852:10;5844:19;;;;;;;;;;;;;;;:29;5864:8;5844:29;;;;;;;;;;;;;;;;5813:61;;;;;;:::i;:::-;;;;;;;;5892:4;5885:11;;;5440:464;;;;:::o;4352:132::-;4425:15;4460:8;:16;4469:6;4460:16;;;;;;;;;;;;;;;;4453:23;;4352:132;;;:::o;1070:138::-;1000:5;;;;;;;;;;;986:19;;:10;:19;;;978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1168:1:::1;1132:39;;1153:5;;;;;;;;;;;1132:39;;;;;;;;;;;;1198:1;1182:5;;:18;;;;;;;;;;;;;;;;;;1070:138::o:0;7210:149::-;1000:5;;;;;;;;;;;986:19;;:10;:19;;;978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7336:13:::1;7306:14;:27;7321:11;7306:27;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;7210:149:::0;;:::o;2154:25::-;;;;;;;;;;;;;:::o;7059:66::-;1000:5;;;;;;;;;;;986:19;;:10;:19;;;978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7113:4:::1;7104:6;;:13;;;;;;;;;;;;;;;;;;7059:66::o:0;756:20::-;;;;;;;;;;;;;:::o;5994:33::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2349:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4183:161::-;4263:4;4280:34;4290:10;4302:3;4307:6;4280:9;:34::i;:::-;;4332:4;4325:11;;4183:161;;;;:::o;6814:233::-;1000:5;;;;;;;;;;;986:19;;:10;:19;;;978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6931:9:::1;6927:113;6950:8;;:15;;6946:1;:19;6927:113;;;7020:8;6987:17;:30;7005:8;;7014:1;7005:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6987:30;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;6967:3;;;;;;;6927:113;;;;6814:233:::0;;;:::o;2098:20::-;;;;:::o;5141:291::-;5230:4;5279:46;5313:11;5279:7;:19;5287:10;5279:19;;;;;;;;;;;;;;;:29;5299:8;5279:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;5247:7;:19;5255:10;5247:19;;;;;;;;;;;;;;;:29;5267:8;5247:29;;;;;;;;;;;;;;;:78;;;;5362:8;5341:61;;5350:10;5341:61;;;5372:7;:19;5380:10;5372:19;;;;;;;;;;;;;;;:29;5392:8;5372:29;;;;;;;;;;;;;;;;5341:61;;;;;;:::i;:::-;;;;;;;;5420:4;5413:11;;5141:291;;;;:::o;4982:151::-;5073:7;5100;:15;5108:6;5100:15;;;;;;;;;;;;;;;:25;5116:8;5100:25;;;;;;;;;;;;;;;;5093:32;;4982:151;;;;:::o;1216:234::-;1000:5;;;;;;;;;;;986:19;;:10;:19;;;978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1317:1:::1;1297:22;;:8;:22;;::::0;1289:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1406:8;1378:37;;1399:5;;;;;;;;;;;1378:37;;;;;;;;;;;;1434:8;1426:5;;:16;;;;;;;;;;;;;;;;;;1216:234:::0;:::o;2125:22::-;;;;:::o;2538:883::-;2625:4;2651:14;:22;2666:6;2651:22;;;;;;;;;;;;;;;;;;;;;;;;;2650:23;2642:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;2754:1;2733:23;;:9;:23;;;2725:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;2833:8;:16;2842:6;2833:16;;;;;;;;;;;;;;;;2823:6;:26;;2815:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2916:17;:25;2934:6;2916:25;;;;;;;;;;;;;;;;;;;;;;;;;2915:26;:59;;;;;2946:17;:28;2964:9;2946:28;;;;;;;;;;;;;;;;;;;;;;;;;2945:29;2915:59;2911:122;;;3001:6;;;;;;;;;;;3000:7;2992:29;;;;;;;;;;;;:::i;:::-;;;;;;;;;2911:122;3064:28;3085:6;3064:8;:16;3073:6;3064:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;3045:8;:16;3054:6;3045:16;;;;;;;;;;;;;;;:47;;;;3103:19;3126:17;:25;3144:6;3126:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;3155:17;:28;3173:9;3155:28;;;;;;;;;;;;;;;;;;;;;;;;;3126:57;3125:135;;3237:23;3245:6;3253;3237:7;:23::i;:::-;3125:135;;;3228:6;3125:135;3103:157;;3297:36;3321:11;3297:8;:19;3306:9;3297:19;;;;;;;;;;;;;;;;:23;;:36;;;;:::i;:::-;3275:8;:19;3284:9;3275:19;;;;;;;;;;;;;;;:58;;;;3368:9;3351:40;;3360:6;3351:40;;;3379:11;3351:40;;;;;;:::i;:::-;;;;;;;;3409:4;3402:11;;;2538:883;;;;;:::o;461:158::-;519:7;552:1;547;:6;;539:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;610:1;606;:5;;;;:::i;:::-;599:12;;461:158;;;;:::o;6506:296::-;6597:8;:14;6606:4;6597:14;;;;;;;;;;;;;;;;6587:6;:24;;6579:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6672:6;6654:8;:14;6663:4;6654:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;6704:6;6689:11;;:21;;;;;;;:::i;:::-;;;;;;;;6731:4;6726:18;;;6737:6;6726:18;;;;;;:::i;:::-;;;;;;;;6783:1;6760:34;;6769:4;6760:34;;;6787:6;6760:34;;;;;;:::i;:::-;;;;;;;;6506:296;;:::o;627:98::-;685:7;716:1;712;:5;;;;:::i;:::-;705:12;;627:98;;;;:::o;3429:746::-;3496:7;3516:17;3536:1;3516:21;;3548:18;3594:1;3584:7;;:11;3581:84;;;3625:28;3649:3;3625:19;3636:7;;3625:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;3612:41;;3581:84;3696:1;3688:5;;:9;3685:79;;;3726:26;3748:3;3726:17;3737:5;;3726:6;:10;;:17;;;;:::i;:::-;:21;;:26;;;;:::i;:::-;3714:38;;3685:79;3791:1;3779:9;:13;3776:162;;;3832:35;3857:9;3832:8;:20;3841:10;;;;;;;;;;;3832:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;3809:8;:20;3818:10;;;;;;;;;;;3809:20;;;;;;;;;;;;;;;:58;;;;3904:10;;;;;;;;;;;3887:39;;3896:6;3887:39;;;3916:9;3887:39;;;;;;:::i;:::-;;;;;;;;3776:162;3963:1;3951:10;:13;3948:163;;;4003:36;4028:10;4003:8;:20;4020:1;4003:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;3980:8;:20;3997:1;3980:20;;;;;;;;;;;;;;;:59;;;;4084:1;4059:40;;4068:6;4059:40;;;4088:10;4059:40;;;;;;:::i;:::-;;;;;;;;3948:163;4130:37;4141:25;4155:10;4141:9;:13;;:25;;;;:::i;:::-;4130:6;:10;;:37;;;;:::i;:::-;4123:44;;;;3429:746;;;;:::o;194:98::-;252:7;283:1;279;:5;;;;:::i;:::-;272:12;;194:98;;;;:::o;300:153::-;358:7;390:1;386;:5;378:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;444:1;440;:5;;;;:::i;:::-;433:12;;300:153;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:248::-;369:1;379:113;393:6;390:1;387:13;379:113;;;478:1;473:3;469:11;463:18;459:1;454:3;450:11;443:39;415:2;412:1;408:10;403:15;;379:113;;;526:1;517:6;512:3;508:16;501:27;349:186;287:248;;;:::o;541:102::-;582:6;633:2;629:7;624:2;617:5;613:14;609:28;599:38;;541:102;;;:::o;649:377::-;737:3;765:39;798:5;765:39;:::i;:::-;820:71;884:6;879:3;820:71;:::i;:::-;813:78;;900:65;958:6;953:3;946:4;939:5;935:16;900:65;:::i;:::-;990:29;1012:6;990:29;:::i;:::-;985:3;981:39;974:46;;741:285;649:377;;;;:::o;1032:313::-;1145:4;1183:2;1172:9;1168:18;1160:26;;1232:9;1226:4;1222:20;1218:1;1207:9;1203:17;1196:47;1260:78;1333:4;1324:6;1260:78;:::i;:::-;1252:86;;1032:313;;;;:::o;1432:117::-;1541:1;1538;1531:12;1555:117;1664:1;1661;1654:12;1678:126;1715:7;1755:42;1748:5;1744:54;1733:65;;1678:126;;;:::o;1810:96::-;1847:7;1876:24;1894:5;1876:24;:::i;:::-;1865:35;;1810:96;;;:::o;1912:122::-;1985:24;2003:5;1985:24;:::i;:::-;1978:5;1975:35;1965:63;;2024:1;2021;2014:12;1965:63;1912:122;:::o;2040:139::-;2086:5;2124:6;2111:20;2102:29;;2140:33;2167:5;2140:33;:::i;:::-;2040:139;;;;:::o;2185:77::-;2222:7;2251:5;2240:16;;2185:77;;;:::o;2268:122::-;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:474::-;2609:6;2617;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2792:1;2817:53;2862:7;2853:6;2842:9;2838:22;2817:53;:::i;:::-;2807:63;;2763:117;2919:2;2945:53;2990:7;2981:6;2970:9;2966:22;2945:53;:::i;:::-;2935:63;;2890:118;2541:474;;;;;:::o;3021:90::-;3055:7;3098:5;3091:13;3084:21;3073:32;;3021:90;;;:::o;3117:109::-;3198:21;3213:5;3198:21;:::i;:::-;3193:3;3186:34;3117:109;;:::o;3232:210::-;3319:4;3357:2;3346:9;3342:18;3334:26;;3370:65;3432:1;3421:9;3417:17;3408:6;3370:65;:::i;:::-;3232:210;;;;:::o;3448:118::-;3535:24;3553:5;3535:24;:::i;:::-;3530:3;3523:37;3448:118;;:::o;3572:222::-;3665:4;3703:2;3692:9;3688:18;3680:26;;3716:71;3784:1;3773:9;3769:17;3760:6;3716:71;:::i;:::-;3572:222;;;;:::o;3800:619::-;3877:6;3885;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;4195:2;4221:53;4266:7;4257:6;4246:9;4242:22;4221:53;:::i;:::-;4211:63;;4166:118;4323:2;4349:53;4394:7;4385:6;4374:9;4370:22;4349:53;:::i;:::-;4339:63;;4294:118;3800:619;;;;;:::o;4425:329::-;4484:6;4533:2;4521:9;4512:7;4508:23;4504:32;4501:119;;;4539:79;;:::i;:::-;4501:119;4659:1;4684:53;4729:7;4720:6;4709:9;4705:22;4684:53;:::i;:::-;4674:63;;4630:117;4425:329;;;;:::o;4760:::-;4819:6;4868:2;4856:9;4847:7;4843:23;4839:32;4836:119;;;4874:79;;:::i;:::-;4836:119;4994:1;5019:53;5064:7;5055:6;5044:9;5040:22;5019:53;:::i;:::-;5009:63;;4965:117;4760:329;;;;:::o;5095:116::-;5165:21;5180:5;5165:21;:::i;:::-;5158:5;5155:32;5145:60;;5201:1;5198;5191:12;5145:60;5095:116;:::o;5217:133::-;5260:5;5298:6;5285:20;5276:29;;5314:30;5338:5;5314:30;:::i;:::-;5217:133;;;;:::o;5356:468::-;5421:6;5429;5478:2;5466:9;5457:7;5453:23;5449:32;5446:119;;;5484:79;;:::i;:::-;5446:119;5604:1;5629:53;5674:7;5665:6;5654:9;5650:22;5629:53;:::i;:::-;5619:63;;5575:117;5731:2;5757:50;5799:7;5790:6;5779:9;5775:22;5757:50;:::i;:::-;5747:60;;5702:115;5356:468;;;;;:::o;5830:118::-;5917:24;5935:5;5917:24;:::i;:::-;5912:3;5905:37;5830:118;;:::o;5954:222::-;6047:4;6085:2;6074:9;6070:18;6062:26;;6098:71;6166:1;6155:9;6151:17;6142:6;6098:71;:::i;:::-;5954:222;;;;:::o;6182:117::-;6291:1;6288;6281:12;6305:117;6414:1;6411;6404:12;6428:117;6537:1;6534;6527:12;6568:568;6641:8;6651:6;6701:3;6694:4;6686:6;6682:17;6678:27;6668:122;;6709:79;;:::i;:::-;6668:122;6822:6;6809:20;6799:30;;6852:18;6844:6;6841:30;6838:117;;;6874:79;;:::i;:::-;6838:117;6988:4;6980:6;6976:17;6964:29;;7042:3;7034:4;7026:6;7022:17;7012:8;7008:32;7005:41;7002:128;;;7049:79;;:::i;:::-;7002:128;6568:568;;;;;:::o;7142:698::-;7234:6;7242;7250;7299:2;7287:9;7278:7;7274:23;7270:32;7267:119;;;7305:79;;:::i;:::-;7267:119;7453:1;7442:9;7438:17;7425:31;7483:18;7475:6;7472:30;7469:117;;;7505:79;;:::i;:::-;7469:117;7618:80;7690:7;7681:6;7670:9;7666:22;7618:80;:::i;:::-;7600:98;;;;7396:312;7747:2;7773:50;7815:7;7806:6;7795:9;7791:22;7773:50;:::i;:::-;7763:60;;7718:115;7142:698;;;;;:::o;7846:474::-;7914:6;7922;7971:2;7959:9;7950:7;7946:23;7942:32;7939:119;;;7977:79;;:::i;:::-;7939:119;8097:1;8122:53;8167:7;8158:6;8147:9;8143:22;8122:53;:::i;:::-;8112:63;;8068:117;8224:2;8250:53;8295:7;8286:6;8275:9;8271:22;8250:53;:::i;:::-;8240:63;;8195:118;7846:474;;;;;:::o;8326:180::-;8374:77;8371:1;8364:88;8471:4;8468:1;8461:15;8495:4;8492:1;8485:15;8512:320;8556:6;8593:1;8587:4;8583:12;8573:22;;8640:1;8634:4;8630:12;8661:18;8651:81;;8717:4;8709:6;8705:17;8695:27;;8651:81;8779:2;8771:6;8768:14;8748:18;8745:38;8742:84;;8798:18;;:::i;:::-;8742:84;8563:269;8512:320;;;:::o;8838:182::-;8978:34;8974:1;8966:6;8962:14;8955:58;8838:182;:::o;9026:366::-;9168:3;9189:67;9253:2;9248:3;9189:67;:::i;:::-;9182:74;;9265:93;9354:3;9265:93;:::i;:::-;9383:2;9378:3;9374:12;9367:19;;9026:366;;;:::o;9398:419::-;9564:4;9602:2;9591:9;9587:18;9579:26;;9651:9;9645:4;9641:20;9637:1;9626:9;9622:17;9615:47;9679:131;9805:4;9679:131;:::i;:::-;9671:139;;9398:419;;;:::o;9823:180::-;9871:77;9868:1;9861:88;9968:4;9965:1;9958:15;9992:4;9989:1;9982:15;10009:225;10149:34;10145:1;10137:6;10133:14;10126:58;10218:8;10213:2;10205:6;10201:15;10194:33;10009:225;:::o;10240:366::-;10382:3;10403:67;10467:2;10462:3;10403:67;:::i;:::-;10396:74;;10479:93;10568:3;10479:93;:::i;:::-;10597:2;10592:3;10588:12;10581:19;;10240:366;;;:::o;10612:419::-;10778:4;10816:2;10805:9;10801:18;10793:26;;10865:9;10859:4;10855:20;10851:1;10840:9;10836:17;10829:47;10893:131;11019:4;10893:131;:::i;:::-;10885:139;;10612:419;;;:::o;11037:223::-;11177:34;11173:1;11165:6;11161:14;11154:58;11246:6;11241:2;11233:6;11229:15;11222:31;11037:223;:::o;11266:366::-;11408:3;11429:67;11493:2;11488:3;11429:67;:::i;:::-;11422:74;;11505:93;11594:3;11505:93;:::i;:::-;11623:2;11618:3;11614:12;11607:19;;11266:366;;;:::o;11638:419::-;11804:4;11842:2;11831:9;11827:18;11819:26;;11891:9;11885:4;11881:20;11877:1;11866:9;11862:17;11855:47;11919:131;12045:4;11919:131;:::i;:::-;11911:139;;11638:419;;;:::o;12063:230::-;12203:34;12199:1;12191:6;12187:14;12180:58;12272:13;12267:2;12259:6;12255:15;12248:38;12063:230;:::o;12299:366::-;12441:3;12462:67;12526:2;12521:3;12462:67;:::i;:::-;12455:74;;12538:93;12627:3;12538:93;:::i;:::-;12656:2;12651:3;12647:12;12640:19;;12299:366;;;:::o;12671:419::-;12837:4;12875:2;12864:9;12860:18;12852:26;;12924:9;12918:4;12914:20;12910:1;12899:9;12895:17;12888:47;12952:131;13078:4;12952:131;:::i;:::-;12944:139;;12671:419;;;:::o;13096:233::-;13236:34;13232:1;13224:6;13220:14;13213:58;13305:16;13300:2;13292:6;13288:15;13281:41;13096:233;:::o;13335:366::-;13477:3;13498:67;13562:2;13557:3;13498:67;:::i;:::-;13491:74;;13574:93;13663:3;13574:93;:::i;:::-;13692:2;13687:3;13683:12;13676:19;;13335:366;;;:::o;13707:419::-;13873:4;13911:2;13900:9;13896:18;13888:26;;13960:9;13954:4;13950:20;13946:1;13935:9;13931:17;13924:47;13988:131;14114:4;13988:131;:::i;:::-;13980:139;;13707:419;;;:::o;14132:159::-;14272:11;14268:1;14260:6;14256:14;14249:35;14132:159;:::o;14297:365::-;14439:3;14460:66;14524:1;14519:3;14460:66;:::i;:::-;14453:73;;14535:93;14624:3;14535:93;:::i;:::-;14653:2;14648:3;14644:12;14637:19;;14297:365;;;:::o;14668:419::-;14834:4;14872:2;14861:9;14857:18;14849:26;;14921:9;14915:4;14911:20;14907:1;14896:9;14892:17;14885:47;14949:131;15075:4;14949:131;:::i;:::-;14941:139;;14668:419;;;:::o;15093:180::-;15233:32;15229:1;15221:6;15217:14;15210:56;15093:180;:::o;15279:366::-;15421:3;15442:67;15506:2;15501:3;15442:67;:::i;:::-;15435:74;;15518:93;15607:3;15518:93;:::i;:::-;15636:2;15631:3;15627:12;15620:19;;15279:366;;;:::o;15651:419::-;15817:4;15855:2;15844:9;15840:18;15832:26;;15904:9;15898:4;15894:20;15890:1;15879:9;15875:17;15868:47;15932:131;16058:4;15932:131;:::i;:::-;15924:139;;15651:419;;;:::o;16076:180::-;16124:77;16121:1;16114:88;16221:4;16218:1;16211:15;16245:4;16242:1;16235:15;16262:194;16302:4;16322:20;16340:1;16322:20;:::i;:::-;16317:25;;16356:20;16374:1;16356:20;:::i;:::-;16351:25;;16400:1;16397;16393:9;16385:17;;16424:1;16418:4;16415:11;16412:37;;;16429:18;;:::i;:::-;16412:37;16262:194;;;;:::o;16462:177::-;16602:29;16598:1;16590:6;16586:14;16579:53;16462:177;:::o;16645:366::-;16787:3;16808:67;16872:2;16867:3;16808:67;:::i;:::-;16801:74;;16884:93;16973:3;16884:93;:::i;:::-;17002:2;16997:3;16993:12;16986:19;;16645:366;;;:::o;17017:419::-;17183:4;17221:2;17210:9;17206:18;17198:26;;17270:9;17264:4;17260:20;17256:1;17245:9;17241:17;17234:47;17298:131;17424:4;17298:131;:::i;:::-;17290:139;;17017:419;;;:::o;17442:191::-;17482:3;17501:20;17519:1;17501:20;:::i;:::-;17496:25;;17535:20;17553:1;17535:20;:::i;:::-;17530:25;;17578:1;17575;17571:9;17564:16;;17599:3;17596:1;17593:10;17590:36;;;17606:18;;:::i;:::-;17590:36;17442:191;;;;:::o;17639:410::-;17679:7;17702:20;17720:1;17702:20;:::i;:::-;17697:25;;17736:20;17754:1;17736:20;:::i;:::-;17731:25;;17791:1;17788;17784:9;17813:30;17831:11;17813:30;:::i;:::-;17802:41;;17992:1;17983:7;17979:15;17976:1;17973:22;17953:1;17946:9;17926:83;17903:139;;18022:18;;:::i;:::-;17903:139;17687:362;17639:410;;;;:::o;18055:176::-;18195:28;18191:1;18183:6;18179:14;18172:52;18055:176;:::o;18237:366::-;18379:3;18400:67;18464:2;18459:3;18400:67;:::i;:::-;18393:74;;18476:93;18565:3;18476:93;:::i;:::-;18594:2;18589:3;18585:12;18578:19;;18237:366;;;:::o;18609:419::-;18775:4;18813:2;18802:9;18798:18;18790:26;;18862:9;18856:4;18852:20;18848:1;18837:9;18833:17;18826:47;18890:131;19016:4;18890:131;:::i;:::-;18882:139;;18609:419;;;:::o;19034:180::-;19082:77;19079:1;19072:88;19179:4;19176:1;19169:15;19203:4;19200:1;19193:15;19220:185;19260:1;19277:20;19295:1;19277:20;:::i;:::-;19272:25;;19311:20;19329:1;19311:20;:::i;:::-;19306:25;;19350:1;19340:35;;19355:18;;:::i;:::-;19340:35;19397:1;19394;19390:9;19385:14;;19220:185;;;;:::o

Swarm Source

ipfs://e5d442ce33c109fa9811a14b86874d365cd80b78b7fbcd192e73ea3924ac4b84
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.