ETH Price: $2,922.41 (+4.60%)
 

Overview

Max Total Supply

100,000,000 BULL

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
216,777 BULL

Value
$0.00
0x814ab4c6e7d8afee9873855141995d00a4588e2a
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:
BullStaking

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-04
*/

//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;

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;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;


    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol) public {
        _name = name;
        _symbol = symbol;
        _decimals = 18;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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


    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

}


contract BullStaking is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _stakes;

    address public owner = msg.sender;
    address  public tokenAddress;
    uint public stakingStarts;
    uint public stakingEnds;
    uint public withdrawStarts;
    uint public withdrawEnds;
    uint256 public stakedTotal;
    uint256 public stakingCap;
    uint256 public totalReward;
    uint256 public earlyWithdrawReward;
    uint256 public rewardBalance;
    uint256 public stakedBalance;

    address payable ethFund = 0xB205238e2eCb8462d5D826E28DCd2aCe0BF811a4;

    ERC20 public ERC20Interface;
    event Staked(address indexed token, address indexed staker_, uint256 requestedAmount_, uint256 stakedAmount_);
    event PaidOut(address indexed token, address indexed staker_, uint256 amount_, uint256 reward_);
    event Refunded(address indexed token, address indexed staker_, uint256 amount_);

    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 public price;
    uint256 public sold = 0;

    bool public distributionFinished = false;

    bool public distribution_ongoing = false;

    uint256 public tokensPerEth = 60000e18;

    constructor (string memory name, string memory symbol, address payable _ethFund, uint256 _tokensPerEth) public {
        tokensPerEth = _tokensPerEth*1e18;
        price = SafeMath.div(1e18, SafeMath.div(tokensPerEth, 1e18));
        _name = name;
        _symbol = symbol;
        ethFund = _ethFund;
        _decimals = 18;
        _totalSupply = 100000000e18;
        owner = msg.sender;
        _balances[owner] = _balances[owner].add(_totalSupply);
    }

    modifier saleHappening {
      require(distribution_ongoing == true, "distribution started");
      require(sold <= _totalSupply, "tokens sold out");
      _;
    }

    function tokenSaleStarted() public view returns (bool) {
        return distribution_ongoing;
    }

    function startSale() public
    onlyOwner {
      distribution_ongoing = true;
    }

    function endSale() public
    onlyOwner {
      distribution_ongoing = false;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }


    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }

    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;

        return true;
    }

    function distr(address _to, uint256 _amount) canDistr private returns (bool) {

        _balances[owner] = _balances[owner].sub(_amount);
        _balances[_to] = _balances[_to].add(_amount);

        return true;
    }


    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    modifier canDistr() {
        require(!distributionFinished);
        _;
    }


    receive ()
      external
      payable
      saleHappening
    {
      
      uint excessAmount = msg.value % price;

      uint purchaseAmount = SafeMath.sub(msg.value, excessAmount);

      uint tokenPurchase = SafeMath.div(SafeMath.mul(purchaseAmount,1e18), price);

      uint total_token = tokenPurchase;

      sold= SafeMath.add(sold, total_token);

      assert(sold <= _totalSupply);

      ethFund.transfer(msg.value);
      assert(distr(msg.sender, total_token));

    }


    function init_staking(
        address tokenAddress_,
        uint stakingEnds_,
        uint withdrawStarts_,
        uint256 stakingCap_
    )

    public onlyOwner {

        require(tokenAddress_ != address(0), "BullStaking: 0 address");
        tokenAddress = tokenAddress_;

        stakingStarts = now;

        require(stakingEnds_ > 0, "BullStaking: staking end must be positive");
        stakingEnds = now + stakingEnds_;

        require(withdrawStarts_ >= stakingEnds_, "Bulltaking: withdrawStarts must be after staking ends");
        withdrawStarts = withdrawStarts_;

        withdrawEnds = withdrawStarts + 180 days; // 6 months to withdraw reward

        require(stakingCap_ > 0, "BullStaking: stakingCap must be positive");
        stakingCap = stakingCap_;
    }

    function addReward(uint256 rewardAmount, uint256 withdrawableAmount)
    public

    returns (bool) {
        require(rewardAmount > 0, "BullStaking: reward must be positive");
        require(withdrawableAmount >= 0, "BullStaking: withdrawable amount cannot be negative");
        require(withdrawableAmount <= rewardAmount, "BullStaking: withdrawable amount must be less than or equal to the reward amount");
        address from = msg.sender;
        if (!_payMe(from, rewardAmount)) {
            return false;
        }

        totalReward = totalReward.add(rewardAmount);
        rewardBalance = totalReward;
        earlyWithdrawReward = earlyWithdrawReward.add(withdrawableAmount);
        return true;
    }

    function stakeOf(address account) public view returns (uint256) {
        return _stakes[account];
    }

    function stake(uint256 amount)
    public
    _positive(amount)
    _realAddress(msg.sender)
    returns (bool) {
        address from = msg.sender;
        return _stake(from, amount);
    }

    function withdraw(uint256 amount)
    public
    _after(withdrawStarts)
    _positive(amount)
    _realAddress(msg.sender)
    returns (bool) {
        address from = msg.sender;
        require(amount <= _stakes[from], "BullStaking: not enough balance");
        if (now < withdrawEnds) {
            return _withdrawEarly(from, amount);
        } else {
            return _withdrawAfterClose(from, amount);
        }
    }

    function _withdrawEarly(address from, uint256 amount)
    private
    _realAddress(from)
    returns (bool) {
        // The formula to calculate reward:
        // r = (earlyWithdrawReward / stakedTotal) * (now - stakingEnds) / (withdrawEnds - stakingEnds)
        // w = (1+r) * a
        uint256 denom = (withdrawEnds.sub(stakingEnds)).mul(stakedTotal);
        uint256 reward = (
        ( (now.sub(stakingEnds)).mul(earlyWithdrawReward) ).mul(amount)
        ).div(denom);
        uint256 payOut = amount.add(reward);
        rewardBalance = rewardBalance.sub(reward);
        stakedBalance = stakedBalance.sub(amount);
        _stakes[from] = _stakes[from].sub(amount);
        if (_payDirect(from, payOut)) {
            emit PaidOut(tokenAddress, from, amount, reward);
            return true;
        }
        return false;
    }

    function _withdrawAfterClose(address from, uint256 amount)
    private
    _realAddress(from)
    returns (bool) {
        uint256 reward = (rewardBalance.mul(amount)).div(stakedBalance);
        uint256 payOut = amount.add(reward);
        _stakes[from] = _stakes[from].sub(amount);
        if (_payDirect(from, payOut)) {
            emit PaidOut(tokenAddress, from, amount, reward);
            return true;
        }
        return false;
    }

    function _stake(address staker, uint256 amount)
    private
    _after(stakingStarts)
    _before(stakingEnds)
    _positive(amount)
    returns (bool) {
        amount = amount*1e18;
        uint256 remaining = amount;
        if (remaining > (stakingCap.sub(stakedBalance))) {
            remaining = stakingCap.sub(stakedBalance);
        }

        require(remaining > 0, "BullStaking: Staking cap is filled");
        require((remaining + stakedTotal) <= stakingCap, "BullStaking: this will increase staking amount pass the cap");
        if (!_payMe(staker, remaining)) {
            return false;
        }
        emit Staked(tokenAddress, staker, amount, remaining);

        if (remaining < amount) {

            uint256 refund = amount.sub(remaining);
            if (_payTo(staker, staker, refund)) {
                emit Refunded(tokenAddress, staker, refund);
            }
        }

        stakedBalance = stakedBalance.add(remaining);
        stakedTotal = stakedTotal.add(remaining);
        _stakes[staker] = _stakes[staker].add(remaining);
        return true;
    }

    function _payMe(address payer, uint256 amount)
    private
    returns (bool) {
        return _payTo(payer, address(this), amount);
    }

    function _payTo(address allower, address receiver, uint256 amount)
    private
    returns (bool) {

        ERC20Interface = ERC20(tokenAddress);
        return ERC20Interface.transferFrom(allower, receiver, amount);
    }

    function _payDirect(address to, uint256 amount)
    private
    _positive(amount)
    returns (bool) {
        ERC20Interface = ERC20(tokenAddress);
        return ERC20Interface.transfer(to, amount);
    }

    modifier _realAddress(address addr) {
        require(addr != address(0), "BullStaking: zero address");
        _;
    }

    modifier _positive(uint256 amount) {
        require(amount >= 0, "BullStaking: negative amount");
        _;
    }

    modifier _after(uint eventTime) {
        require(now >= eventTime, "BullStaking: bad timing for the request");
        _;
    }

    modifier _before(uint eventTime) {
        require(now < eventTime, "BullStaking: bad timing for the request");
        _;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address payable","name":"_ethFund","type":"address"},{"internalType":"uint256","name":"_tokensPerEth","type":"uint256"}],"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":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward_","type":"uint256"}],"name":"PaidOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"requestedAmount_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakedAmount_","type":"uint256"}],"name":"Staked","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":"ERC20Interface","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rewardAmount","type":"uint256"},{"internalType":"uint256","name":"withdrawableAmount","type":"uint256"}],"name":"addReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributionFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distribution_ongoing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlyWithdrawReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress_","type":"address"},{"internalType":"uint256","name":"stakingEnds_","type":"uint256"},{"internalType":"uint256","name":"withdrawStarts_","type":"uint256"},{"internalType":"uint256","name":"stakingCap_","type":"uint256"}],"name":"init_staking","outputs":[],"stateMutability":"nonpayable","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":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"stakeOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakedTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingEnds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingStarts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenSaleStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensPerEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEnds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStarts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405233600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b205238e2ecb8462d5d826e28dcd2ace0bf811a4600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015556000601660006101000a81548160ff0219169083151502179055506000601660016101000a81548160ff021916908315150217905550690cb49b44ba602d800000601755348015620000f057600080fd5b50604051620036f0380380620036f0833981810160405260808110156200011657600080fd5b81019080805160405193929190846401000000008211156200013757600080fd5b838201915060208201858111156200014e57600080fd5b82518660018202830111640100000000821117156200016c57600080fd5b8083526020830192505050908051906020019080838360005b83811015620001a257808201518184015260208101905062000185565b50505050905090810190601f168015620001d05780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001f457600080fd5b838201915060208201858111156200020b57600080fd5b82518660018202830111640100000000821117156200022957600080fd5b8083526020830192505050908051906020019080838360005b838110156200025f57808201518184015260208101905062000242565b50505050905090810190601f1680156200028d5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190505050670de0b6b3a76400008102601781905550620002fb670de0b6b3a7640000620002ea601754670de0b6b3a7640000620004cf60201b62000d991760201c565b620004cf60201b62000d991760201c565b60148190555083601190805190602001906200031992919062000675565b5082601290805190602001906200033292919062000675565b5081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012601360006101000a81548160ff021916908360ff1602179055506a52b7d2dcc80cd2e400000060108190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000460601054600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200052160201b62000de31790919060201c565b600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505062000724565b60006200051983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005aa60201b60201c565b905092915050565b600080828401905083811015620005a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831182906200065a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200061e57808201518184015260208101905062000601565b50505050905090810190601f1680156200064c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200066757fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006b857805160ff1916838001178555620006e9565b82800160010185558215620006e9579182015b82811115620006e8578251825591602001919060010190620006cb565b5b509050620006f89190620006fc565b5090565b6200072191905b808211156200071d57600081600090555060010162000703565b5090565b90565b612fbc80620007346000396000f3fe6080604052600436106101fd5760003560e01c8063750142e61161010d578063a9059cbb116100a0578063c108d5421161006f578063c108d54214610bea578063cbdd69b514610c19578063d66692a714610c44578063eacebf6114610c6f578063f114589714610c9a576103e8565b8063a9059cbb14610b0a578063aa5c3ab414610b7d578063b410e2a114610ba8578063b66a0e5d14610bd3576103e8565b80639b1cbccc116100dc5780639b1cbccc14610a065780639d76ea5814610a35578063a035b1fe14610a8c578063a694fc3a14610ab7576103e8565b8063750142e61461089757806375c93bb9146108c25780638da5cb5b1461091f57806395d89b4114610976576103e8565b8063313ce56711610190578063426233601161015f578063426233601461074c57806344c370d3146107b15780635b9f0016146107dc5780636d68c7d41461080757806370a0823114610832576103e8565b8063313ce567146106aa57806333a543ce146106db578063380d831b1461070a5780633f7fd60a14610721576103e8565b806321b13cdf116101cc57806321b13cdf1461052a57806323b872dd1461055557806329f4136b146105e85780632e1a7d4d14610657576103e8565b806302c7e7af146103ed57806306fdde031461041857806318160ddd146104a85780631bbc4b83146104d3576103e8565b366103e85760011515601660019054906101000a900460ff1615151461028b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f646973747269627574696f6e207374617274656400000000000000000000000081525060200191505060405180910390fd5b6010546015541115610305576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f746f6b656e7320736f6c64206f7574000000000000000000000000000000000081525060200191505060405180910390fd5b6000601454348161031257fe5b06905060006103213483610cc9565b9050600061034261033a83670de0b6b3a7640000610d13565b601454610d99565b9050600081905061035560155482610de3565b601581905550601054601554111561036957fe5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156103d1573d6000803e3d6000fd5b506103dc3382610e6b565b6103e257fe5b50505050005b600080fd5b3480156103f957600080fd5b50610402610fff565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d611005565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104bd6110a7565b6040518082815260200191505060405180910390f35b3480156104df57600080fd5b506104e86110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053657600080fd5b5061053f6110d7565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105ce6004803603606081101561057857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110dd565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106556004803603608081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506110f5565b005b34801561066357600080fd5b506106906004803603602081101561067a57600080fd5b8101908080359060200190929190505050611370565b604051808215151515815260200191505060405180910390f35b3480156106b657600080fd5b506106bf6115d5565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e757600080fd5b506106f06115ec565b604051808215151515815260200191505060405180910390f35b34801561071657600080fd5b5061071f611603565b005b34801561072d57600080fd5b5061073661167a565b6040518082815260200191505060405180910390f35b34801561075857600080fd5b5061079b6004803603602081101561076f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611680565b6040518082815260200191505060405180910390f35b3480156107bd57600080fd5b506107c66116c8565b6040518082815260200191505060405180910390f35b3480156107e857600080fd5b506107f16116ce565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061081c6116d4565b6040518082815260200191505060405180910390f35b34801561083e57600080fd5b506108816004803603602081101561085557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116da565b6040518082815260200191505060405180910390f35b3480156108a357600080fd5b506108ac611723565b6040518082815260200191505060405180910390f35b3480156108ce57600080fd5b50610905600480360360408110156108e557600080fd5b810190808035906020019092919080359060200190929190505050611729565b604051808215151515815260200191505060405180910390f35b34801561092b57600080fd5b5061093461189e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561098257600080fd5b5061098b6118c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109cb5780820151818401526020810190506109b0565b50505050905090810190601f1680156109f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1257600080fd5b50610a1b611966565b604051808215151515815260200191505060405180910390f35b348015610a4157600080fd5b50610a4a6119fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9857600080fd5b50610aa1611a24565b6040518082815260200191505060405180910390f35b348015610ac357600080fd5b50610af060048036036020811015610ada57600080fd5b8101908080359060200190929190505050611a2a565b604051808215151515815260200191505060405180910390f35b348015610b1657600080fd5b50610b6360048036036040811015610b2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b61565b604051808215151515815260200191505060405180910390f35b348015610b8957600080fd5b50610b92611b78565b6040518082815260200191505060405180910390f35b348015610bb457600080fd5b50610bbd611b7e565b6040518082815260200191505060405180910390f35b348015610bdf57600080fd5b50610be8611b84565b005b348015610bf657600080fd5b50610bff611bfb565b604051808215151515815260200191505060405180910390f35b348015610c2557600080fd5b50610c2e611c0e565b6040518082815260200191505060405180910390f35b348015610c5057600080fd5b50610c59611c14565b6040518082815260200191505060405180910390f35b348015610c7b57600080fd5b50610c84611c1a565b6040518082815260200191505060405180910390f35b348015610ca657600080fd5b50610caf611c20565b604051808215151515815260200191505060405180910390f35b6000610d0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c33565b905092915050565b600080831415610d265760009050610d93565b6000828402905082848281610d3757fe5b0414610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e8e6021913960400191505060405180910390fd5b809150505b92915050565b6000610ddb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf3565b905092915050565b600080828401905083811015610e61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000601660009054906101000a900460ff1615610e8757600080fd5b610efb82600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb282600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60155481565b606060118054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561109d5780601f106110725761010080835404028352916020019161109d565b820191906000526020600020905b81548152906001019060200180831161108057829003601f168201915b5050505050905090565b6000601054905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60006110ea848484611db9565b600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f42756c6c5374616b696e673a203020616464726573730000000000000000000081525060200191505060405180910390fd5b83600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260038190555060008311611293576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612f076029913960400191505060405180910390fd5b824201600481905550828210156112f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f526035913960400191505060405180910390fd5b8160058190555062ed4e006005540160068190555060008111611363576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612dcb6028913960400191505060405180910390fd5b8060088190555050505050565b6000600554804210156113ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b826000811015611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b60003390506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611156115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f42756c6c5374616b696e673a206e6f7420656e6f7567682062616c616e63650081525060200191505060405180910390fd5b6006544210156115bf576115b7818761207e565b9450506115cd565b6115c9818761233d565b9450505b505050919050565b6000601360009054906101000a900460ff16905090565b6000601660019054906101000a900460ff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461165d57600080fd5b6000601660016101000a81548160ff021916908315150217905550565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b600c5481565b60035481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b6000808311611783576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e1a6024913960400191505060405180910390fd5b60008210156117dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612ed46033913960400191505060405180910390fd5b82821115611836576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526050815260200180612e3e6050913960600191505060405180910390fd5b60003390506118458185612571565b611853576000915050611898565b61186884600954610de390919063ffffffff16565b600981905550600954600b8190555061188c83600a54610de390919063ffffffff16565b600a8190555060019150505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060128054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561195c5780601f106119315761010080835404028352916020019161195c565b820191906000526020600020905b81548152906001019060200180831161193f57829003601f168201915b5050505050905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c257600080fd5b601660009054906101000a900460ff16156119dc57600080fd5b6001601660006101000a81548160ff0219169083151502179055506001905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b6000816000811015611aa4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000339050611b578186612586565b9350505050919050565b6000611b6e338484611db9565b6001905092915050565b600b5481565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bde57600080fd5b6001601660016101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff1681565b60175481565b60075481565b60065481565b601660019054906101000a900460ff1681565b6000838311158290611ce0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca5578082015181840152602081019050611c8a565b50505050905090810190601f168015611cd25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d64578082015181840152602081019050611d49565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611dab57fe5b049050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eaf6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d476023913960400191505060405180910390fd5b611ed08383836129f1565b611f3c81604051806060016040528060268152602001612da560269139600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c339092919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fd181600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000612151600754612143600454600654610cc990919063ffffffff16565b610d1390919063ffffffff16565b905060006121a28261219487612186600a5461217860045442610cc990919063ffffffff16565b610d1390919063ffffffff16565b610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006121b98287610de390919063ffffffff16565b90506121d082600b54610cc990919063ffffffff16565b600b819055506121eb86600c54610cc990919063ffffffff16565b600c81905550612242866000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228e87826129f6565b1561232e578673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8885604051808381526020018281526020019250505060405180910390a360019450505050612336565b600094505050505b5092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b600061240e600c5461240086600b54610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006124258286610de390919063ffffffff16565b9050612478856000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c486826129f6565b15612563578573ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8785604051808381526020018281526020019250505060405180910390a360019350505061256a565b6000935050505b5092915050565b600061257e833084612bc0565b905092915050565b6000600354804210156125e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b60045480421061263f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b8360008110156126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b670de0b6b3a76400008502945060008590506126e0600c54600854610cc990919063ffffffff16565b811115612701576126fe600c54600854610cc990919063ffffffff16565b90505b6000811161275a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f306022913960400191505060405180910390fd5b600854600754820111156127b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612d6a603b913960400191505060405180910390fd5b6127c38782612571565b6127d15760009450506129e8565b8673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6c86f3fd5118b3aa8bb4f389a617046de0a3d3d477de1a1673d227f802f616dc8884604051808381526020018281526020019250505060405180910390a38581101561291957600061287d8288610cc990919063ffffffff16565b905061288a888983612bc0565b15612917578773ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fec1e5ed733e00f1a00915d56caef57b4f52312dde4f9b3165f213319a0da156b836040518082815260200191505060405180910390a35b505b61292e81600c54610de390919063ffffffff16565b600c8190555061294981600754610de390919063ffffffff16565b6007819055506129a0816000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019450505b50505092915050565b505050565b6000816000811015612a70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b7c57600080fd5b505af1158015612b90573d6000803e3d6000fd5b505050506040513d6020811015612ba657600080fd5b810190808051906020019092919050505091505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612d0257600080fd5b505af1158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b81019080805190602001909291905050509050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737342756c6c5374616b696e673a20746869732077696c6c20696e637265617365207374616b696e6720616d6f756e742070617373207468652063617045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542756c6c5374616b696e673a207374616b696e67436170206d75737420626520706f73697469766542756c6c5374616b696e673a206261642074696d696e6720666f7220746865207265717565737442756c6c5374616b696e673a20726577617264206d75737420626520706f73697469766542756c6c5374616b696e673a20776974686472617761626c6520616d6f756e74206d757374206265206c657373207468616e206f7220657175616c20746f207468652072657761726420616d6f756e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737342756c6c5374616b696e673a20776974686472617761626c6520616d6f756e742063616e6e6f74206265206e6567617469766542756c6c5374616b696e673a207374616b696e6720656e64206d75737420626520706f73697469766542756c6c5374616b696e673a205374616b696e67206361702069732066696c6c656442756c6c74616b696e673a207769746864726177537461727473206d757374206265206166746572207374616b696e6720656e6473a26469706673582212200f0066cd20c9c76f8d2d367b865807a9b0254a1512b6ce0e1152bc5c644229c464736f6c63430006000033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000069744a0c3679470212d08d269ec051dbeb8d6b0400000000000000000000000000000000000000000000000000000000000099f600000000000000000000000000000000000000000000000000000000000000135061796d656e7462756c6c2e66696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442554c4c00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c8063750142e61161010d578063a9059cbb116100a0578063c108d5421161006f578063c108d54214610bea578063cbdd69b514610c19578063d66692a714610c44578063eacebf6114610c6f578063f114589714610c9a576103e8565b8063a9059cbb14610b0a578063aa5c3ab414610b7d578063b410e2a114610ba8578063b66a0e5d14610bd3576103e8565b80639b1cbccc116100dc5780639b1cbccc14610a065780639d76ea5814610a35578063a035b1fe14610a8c578063a694fc3a14610ab7576103e8565b8063750142e61461089757806375c93bb9146108c25780638da5cb5b1461091f57806395d89b4114610976576103e8565b8063313ce56711610190578063426233601161015f578063426233601461074c57806344c370d3146107b15780635b9f0016146107dc5780636d68c7d41461080757806370a0823114610832576103e8565b8063313ce567146106aa57806333a543ce146106db578063380d831b1461070a5780633f7fd60a14610721576103e8565b806321b13cdf116101cc57806321b13cdf1461052a57806323b872dd1461055557806329f4136b146105e85780632e1a7d4d14610657576103e8565b806302c7e7af146103ed57806306fdde031461041857806318160ddd146104a85780631bbc4b83146104d3576103e8565b366103e85760011515601660019054906101000a900460ff1615151461028b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f646973747269627574696f6e207374617274656400000000000000000000000081525060200191505060405180910390fd5b6010546015541115610305576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f746f6b656e7320736f6c64206f7574000000000000000000000000000000000081525060200191505060405180910390fd5b6000601454348161031257fe5b06905060006103213483610cc9565b9050600061034261033a83670de0b6b3a7640000610d13565b601454610d99565b9050600081905061035560155482610de3565b601581905550601054601554111561036957fe5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156103d1573d6000803e3d6000fd5b506103dc3382610e6b565b6103e257fe5b50505050005b600080fd5b3480156103f957600080fd5b50610402610fff565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d611005565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104bd6110a7565b6040518082815260200191505060405180910390f35b3480156104df57600080fd5b506104e86110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053657600080fd5b5061053f6110d7565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105ce6004803603606081101561057857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110dd565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106556004803603608081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506110f5565b005b34801561066357600080fd5b506106906004803603602081101561067a57600080fd5b8101908080359060200190929190505050611370565b604051808215151515815260200191505060405180910390f35b3480156106b657600080fd5b506106bf6115d5565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e757600080fd5b506106f06115ec565b604051808215151515815260200191505060405180910390f35b34801561071657600080fd5b5061071f611603565b005b34801561072d57600080fd5b5061073661167a565b6040518082815260200191505060405180910390f35b34801561075857600080fd5b5061079b6004803603602081101561076f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611680565b6040518082815260200191505060405180910390f35b3480156107bd57600080fd5b506107c66116c8565b6040518082815260200191505060405180910390f35b3480156107e857600080fd5b506107f16116ce565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061081c6116d4565b6040518082815260200191505060405180910390f35b34801561083e57600080fd5b506108816004803603602081101561085557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116da565b6040518082815260200191505060405180910390f35b3480156108a357600080fd5b506108ac611723565b6040518082815260200191505060405180910390f35b3480156108ce57600080fd5b50610905600480360360408110156108e557600080fd5b810190808035906020019092919080359060200190929190505050611729565b604051808215151515815260200191505060405180910390f35b34801561092b57600080fd5b5061093461189e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561098257600080fd5b5061098b6118c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109cb5780820151818401526020810190506109b0565b50505050905090810190601f1680156109f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1257600080fd5b50610a1b611966565b604051808215151515815260200191505060405180910390f35b348015610a4157600080fd5b50610a4a6119fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9857600080fd5b50610aa1611a24565b6040518082815260200191505060405180910390f35b348015610ac357600080fd5b50610af060048036036020811015610ada57600080fd5b8101908080359060200190929190505050611a2a565b604051808215151515815260200191505060405180910390f35b348015610b1657600080fd5b50610b6360048036036040811015610b2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b61565b604051808215151515815260200191505060405180910390f35b348015610b8957600080fd5b50610b92611b78565b6040518082815260200191505060405180910390f35b348015610bb457600080fd5b50610bbd611b7e565b6040518082815260200191505060405180910390f35b348015610bdf57600080fd5b50610be8611b84565b005b348015610bf657600080fd5b50610bff611bfb565b604051808215151515815260200191505060405180910390f35b348015610c2557600080fd5b50610c2e611c0e565b6040518082815260200191505060405180910390f35b348015610c5057600080fd5b50610c59611c14565b6040518082815260200191505060405180910390f35b348015610c7b57600080fd5b50610c84611c1a565b6040518082815260200191505060405180910390f35b348015610ca657600080fd5b50610caf611c20565b604051808215151515815260200191505060405180910390f35b6000610d0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c33565b905092915050565b600080831415610d265760009050610d93565b6000828402905082848281610d3757fe5b0414610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e8e6021913960400191505060405180910390fd5b809150505b92915050565b6000610ddb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf3565b905092915050565b600080828401905083811015610e61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000601660009054906101000a900460ff1615610e8757600080fd5b610efb82600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb282600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60155481565b606060118054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561109d5780601f106110725761010080835404028352916020019161109d565b820191906000526020600020905b81548152906001019060200180831161108057829003601f168201915b5050505050905090565b6000601054905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60006110ea848484611db9565b600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f42756c6c5374616b696e673a203020616464726573730000000000000000000081525060200191505060405180910390fd5b83600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260038190555060008311611293576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612f076029913960400191505060405180910390fd5b824201600481905550828210156112f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f526035913960400191505060405180910390fd5b8160058190555062ed4e006005540160068190555060008111611363576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612dcb6028913960400191505060405180910390fd5b8060088190555050505050565b6000600554804210156113ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b826000811015611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b60003390506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611156115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f42756c6c5374616b696e673a206e6f7420656e6f7567682062616c616e63650081525060200191505060405180910390fd5b6006544210156115bf576115b7818761207e565b9450506115cd565b6115c9818761233d565b9450505b505050919050565b6000601360009054906101000a900460ff16905090565b6000601660019054906101000a900460ff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461165d57600080fd5b6000601660016101000a81548160ff021916908315150217905550565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b600c5481565b60035481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b6000808311611783576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e1a6024913960400191505060405180910390fd5b60008210156117dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612ed46033913960400191505060405180910390fd5b82821115611836576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526050815260200180612e3e6050913960600191505060405180910390fd5b60003390506118458185612571565b611853576000915050611898565b61186884600954610de390919063ffffffff16565b600981905550600954600b8190555061188c83600a54610de390919063ffffffff16565b600a8190555060019150505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060128054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561195c5780601f106119315761010080835404028352916020019161195c565b820191906000526020600020905b81548152906001019060200180831161193f57829003601f168201915b5050505050905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c257600080fd5b601660009054906101000a900460ff16156119dc57600080fd5b6001601660006101000a81548160ff0219169083151502179055506001905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b6000816000811015611aa4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000339050611b578186612586565b9350505050919050565b6000611b6e338484611db9565b6001905092915050565b600b5481565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bde57600080fd5b6001601660016101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff1681565b60175481565b60075481565b60065481565b601660019054906101000a900460ff1681565b6000838311158290611ce0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca5578082015181840152602081019050611c8a565b50505050905090810190601f168015611cd25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d64578082015181840152602081019050611d49565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611dab57fe5b049050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eaf6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d476023913960400191505060405180910390fd5b611ed08383836129f1565b611f3c81604051806060016040528060268152602001612da560269139600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c339092919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fd181600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000612151600754612143600454600654610cc990919063ffffffff16565b610d1390919063ffffffff16565b905060006121a28261219487612186600a5461217860045442610cc990919063ffffffff16565b610d1390919063ffffffff16565b610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006121b98287610de390919063ffffffff16565b90506121d082600b54610cc990919063ffffffff16565b600b819055506121eb86600c54610cc990919063ffffffff16565b600c81905550612242866000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228e87826129f6565b1561232e578673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8885604051808381526020018281526020019250505060405180910390a360019450505050612336565b600094505050505b5092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b600061240e600c5461240086600b54610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006124258286610de390919063ffffffff16565b9050612478856000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c486826129f6565b15612563578573ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8785604051808381526020018281526020019250505060405180910390a360019350505061256a565b6000935050505b5092915050565b600061257e833084612bc0565b905092915050565b6000600354804210156125e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b60045480421061263f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b8360008110156126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b670de0b6b3a76400008502945060008590506126e0600c54600854610cc990919063ffffffff16565b811115612701576126fe600c54600854610cc990919063ffffffff16565b90505b6000811161275a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f306022913960400191505060405180910390fd5b600854600754820111156127b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612d6a603b913960400191505060405180910390fd5b6127c38782612571565b6127d15760009450506129e8565b8673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6c86f3fd5118b3aa8bb4f389a617046de0a3d3d477de1a1673d227f802f616dc8884604051808381526020018281526020019250505060405180910390a38581101561291957600061287d8288610cc990919063ffffffff16565b905061288a888983612bc0565b15612917578773ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fec1e5ed733e00f1a00915d56caef57b4f52312dde4f9b3165f213319a0da156b836040518082815260200191505060405180910390a35b505b61292e81600c54610de390919063ffffffff16565b600c8190555061294981600754610de390919063ffffffff16565b6007819055506129a0816000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019450505b50505092915050565b505050565b6000816000811015612a70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b7c57600080fd5b505af1158015612b90573d6000803e3d6000fd5b505050506040513d6020811015612ba657600080fd5b810190808051906020019092919050505091505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612d0257600080fd5b505af1158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b81019080805190602001909291905050509050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737342756c6c5374616b696e673a20746869732077696c6c20696e637265617365207374616b696e6720616d6f756e742070617373207468652063617045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542756c6c5374616b696e673a207374616b696e67436170206d75737420626520706f73697469766542756c6c5374616b696e673a206261642074696d696e6720666f7220746865207265717565737442756c6c5374616b696e673a20726577617264206d75737420626520706f73697469766542756c6c5374616b696e673a20776974686472617761626c6520616d6f756e74206d757374206265206c657373207468616e206f7220657175616c20746f207468652072657761726420616d6f756e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737342756c6c5374616b696e673a20776974686472617761626c6520616d6f756e742063616e6e6f74206265206e6567617469766542756c6c5374616b696e673a207374616b696e6720656e64206d75737420626520706f73697469766542756c6c5374616b696e673a205374616b696e67206361702069732066696c6c656442756c6c74616b696e673a207769746864726177537461727473206d757374206265206166746572207374616b696e6720656e6473a26469706673582212200f0066cd20c9c76f8d2d367b865807a9b0254a1512b6ce0e1152bc5c644229c464736f6c63430006000033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000069744a0c3679470212d08d269ec051dbeb8d6b0400000000000000000000000000000000000000000000000000000000000099f600000000000000000000000000000000000000000000000000000000000000135061796d656e7462756c6c2e66696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442554c4c00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Paymentbull.finance
Arg [1] : symbol (string): BULL
Arg [2] : _ethFund (address): 0x69744a0c3679470212D08d269ec051dbEb8D6b04
Arg [3] : _tokensPerEth (uint256): 39414

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 00000000000000000000000069744a0c3679470212d08d269ec051dbeb8d6b04
Arg [3] : 00000000000000000000000000000000000000000000000000000000000099f6
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [5] : 5061796d656e7462756c6c2e66696e616e636500000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 42554c4c00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

3909:10960:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5822:4;5798:28;;:20;;;;;;;;;;;:28;;;5790:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5876:12;;5868:4;;:20;;5860:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8517:17:::1;8549:5;;8537:9;:17;;;;;;8517:37;;8565:19;8587:37;8600:9;8611:12;8587;:37::i;:::-;8565:59;;8635:18;8656:54;8669:33;8682:14;8697:4;8669:12;:33::i;:::-;8704:5;;8656:12;:54::i;:::-;8635:75;;8721:16;8740:13;8721:32;;8770:31;8783:4;;8789:11;8770:12;:31::i;:::-;8764:4;:37;;;;8827:12;;8819:4;;:20;;8812:28;;;;8851:7;;;;;;;;;;;:16;;:27;8868:9;8851:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;8851:27:0;8894:30;8900:10;8912:11;8894:5;:30::i;:::-;8887:38;;;;5917:1;;;;3909:10960:::0;;;;;5104:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5104:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6232:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6232:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6232:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6509:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6509:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4524:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4524:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4172:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4172:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6925:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6925:189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6925:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8945:807;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8945:807:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8945:807:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10821:438;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10821:438:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10821:438:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6418:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6418:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5934:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5934:101:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6138:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6138:86:0;;;:::i;:::-;;4334:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4334:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10501:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10501:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10501:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4269:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4269:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4410:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4410:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4110:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4110:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6617:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6617:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6617:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4301:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4301:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9760:733;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9760:733:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9760:733:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4035:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4035:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6323:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6323:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6323:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7869:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7869:141:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4075:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4075:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5077:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5077:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10615:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10615:198:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10615:198:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6744:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6744:173:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6744:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4375:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4375:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4142:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4142:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6043:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6043:87:0;;;:::i;:::-;;5136:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5136:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5234:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5234:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4236:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4236:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4205:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4205:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5185:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5185:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;281:136;339:7;366:43;370:1;373;366:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;359:50;;281:136;;;;:::o;625:252::-;683:7;714:1;709;:6;705:47;;;739:1;732:8;;;;705:47;764:9;780:1;776;:5;764:17;;809:1;804;800;:5;;;;;;:10;792:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:1;861:8;;;625:252;;;;;:::o;885:132::-;943:7;970:39;974:1;977;970:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;963:46;;885:132;;;;:::o;92:181::-;150:7;170:9;186:1;182;:5;170:17;;211:1;206;:6;;198:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:1;257:8;;;92:181;;;;:::o;8018:225::-;8089:4;8381:20;;;;;;;;;;;8380:21;8372:30;;;;;;8127:29:::1;8148:7;8127:9;:16;8137:5;;;;;;;;;;;8127:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;8108:9;:16;8118:5;;;;;;;;;;;8108:16;;;;;;;;;;;;;;;:48;;;;8184:27;8203:7;8184:9;:14;8194:3;8184:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;8167:9;:14;8177:3;8167:14;;;;;;;;;;;;;;;:44;;;;8231:4;8224:11;;8018:225:::0;;;;:::o;5104:23::-;;;;:::o;6232:83::-;6269:13;6302:5;6295:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6232:83;:::o;6509:100::-;6562:7;6589:12;;6582:19;;6509:100;:::o;4524:27::-;;;;;;;;;;;;;:::o;4172:26::-;;;;:::o;6925:189::-;7031:4;7048:36;7058:6;7066:9;7077:6;7048:9;:36::i;:::-;7102:4;7095:11;;6925:189;;;;;:::o;8945:807::-;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;9165:1:::1;9140:27;;:13;:27;;;;9132:62;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9220:13;9205:12;;:28;;;;;;;;;;;;;;;;;;9262:3;9246:13;:19;;;;9301:1;9286:12;:16;9278:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9379:12;9373:3;:18;9359:11;:32;;;;9431:12;9412:15;:31;;9404:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9529:15;9512:14;:32;;;;9589:8;9572:14;;:25;9557:12;:40;;;;9663:1;9649:11;:15;9641:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9733:11;9720:10;:24;;;;8945:807:::0;;;;:::o;10821:438::-;10962:4;10879:14;;14652:9;14645:3;:16;;14637:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10910:6:::1;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10936:10:::2;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;10979:12:::3;10994:10;10979:25;;11033:7;:13:::0;11041:4:::3;11033:13;;;;;;;;;;;;;;;;11023:6;:23;;11015:67;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;11103:12;;11097:3;:18;11093:159;;;11139:28;11154:4;11160:6;11139:14;:28::i;:::-;11132:35;;;;;11093:159;11207:33;11227:4;11233:6;11207:19;:33::i;:::-;11200:40;;;14451:1;14577::::2;14716::::1;10821:438:::0;;;;:::o;6418:83::-;6459:5;6484:9;;;;;;;;;;;6477:16;;6418:83;:::o;5934:101::-;5983:4;6007:20;;;;;;;;;;;6000:27;;5934:101;:::o;6138:86::-;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;6211:5:::1;6188:20;;:28;;;;;;;;;;;;;;;;;;6138:86::o:0;4334:34::-;;;;:::o;10501:106::-;10556:7;10583;:16;10591:7;10583:16;;;;;;;;;;;;;;;;10576:23;;10501:106;;;:::o;4269:25::-;;;;:::o;4410:28::-;;;;:::o;4110:25::-;;;;:::o;6617:119::-;6683:7;6710:9;:18;6720:7;6710:18;;;;;;;;;;;;;;;;6703:25;;6617:119;;;:::o;4301:26::-;;;;:::o;9760:733::-;9857:4;9897:1;9882:12;:16;9874:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9980:1;9958:18;:23;;9950:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10078:12;10056:18;:34;;10048:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10186:12;10201:10;10186:25;;10227:26;10234:4;10240:12;10227:6;:26::i;:::-;10222:72;;10277:5;10270:12;;;;;10222:72;10320:29;10336:12;10320:11;;:15;;:29;;;;:::i;:::-;10306:11;:43;;;;10376:11;;10360:13;:27;;;;10420:43;10444:18;10420:19;;:23;;:43;;;;:::i;:::-;10398:19;:65;;;;10481:4;10474:11;;;9760:733;;;;;:::o;4035:33::-;;;;;;;;;;;;;:::o;6323:87::-;6362:13;6395:7;6388:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6323:87;:::o;7869:141::-;7934:4;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;8381:20:::1;;;;;;;;;;;8380:21;8372:30;;;::::0;::::1;;7974:4:::2;7951:20;;:27;;;;;;;;;;;;;;;;;;7998:4;7991:11;;7869:141:::0;:::o;4075:28::-;;;;;;;;;;;;;:::o;5077:20::-;;;;:::o;10615:198::-;10725:4;10673:6;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10699:10:::1;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10742:12:::2;10757:10;10742:25;;10785:20;10792:4;10798:6;10785;:20::i;:::-;10778:27;;;14577:1:::1;10615:198:::0;;;;:::o;6744:173::-;6830:4;6847:40;6857:10;6869:9;6880:6;6847:9;:40::i;:::-;6905:4;6898:11;;6744:173;;;;:::o;4375:28::-;;;;:::o;4142:23::-;;;;:::o;6043:87::-;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;6118:4:::1;6095:20;;:27;;;;;;;;;;;;;;;;;;6043:87::o:0;5136:40::-;;;;;;;;;;;;;:::o;5234:38::-;;;;:::o;4236:26::-;;;;:::o;4205:24::-;;;;:::o;5185:40::-;;;;;;;;;;;;;:::o;425:192::-;511:7;544:1;539;:6;;547:12;531:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;531:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;571:9;587:1;583;:5;571:17;;608:1;601:8;;;425:192;;;;;:::o;1025:193::-;1111:7;1143:1;1139;:5;1146:12;1131:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1131:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1170:9;1186:1;1182;:5;;;;;;1170:17;;1209:1;1202:8;;;1025:193;;;;;:::o;7122:539::-;7246:1;7228:20;;:6;:20;;;;7220:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7330:1;7309:23;;:9;:23;;;;7301:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7385:47;7406:6;7414:9;7425:6;7385:20;:47::i;:::-;7465:71;7487:6;7465:71;;;;;;;;;;;;;;;;;:9;:17;7475:6;7465:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;7445:9;:17;7455:6;7445:17;;;;;;;;;;;;;;;:91;;;;7570:32;7595:6;7570:9;:20;7580:9;7570:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7547:9;:20;7557:9;7547:20;;;;;;;;;;;;;;;:55;;;;7635:9;7618:35;;7627:6;7618:35;;;7646:6;7618:35;;;;;;;;;;;;;;;;;;7122:539;;;:::o;11267:860::-;11372:4;11352;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11565:13:::1;11581:48;11617:11;;11582:29;11599:11;;11582:12;;:16;;:29;;;;:::i;:::-;11581:35;;:48;;;;:::i;:::-;11565:64;;11640:14;11657:96;11747:5;11668:63;11724:6;11670:47;11697:19;;11671:20;11679:11;;11671:3;:7;;:20;;;;:::i;:::-;11670:26;;:47;;;;:::i;:::-;11668:55;;:63;;;;:::i;:::-;11657:89;;:96;;;;:::i;:::-;11640:113;;11764:14;11781:18;11792:6;11781;:10;;:18;;;;:::i;:::-;11764:35;;11826:25;11844:6;11826:13;;:17;;:25;;;;:::i;:::-;11810:13;:41;;;;11878:25;11896:6;11878:13;;:17;;:25;;;;:::i;:::-;11862:13;:41;;;;11930:25;11948:6;11930:7;:13:::0;11938:4:::1;11930:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;11914:7;:13:::0;11922:4:::1;11914:13;;;;;;;;;;;;;;;:41;;;;11970:24;11981:4;11987:6;11970:10;:24::i;:::-;11966:131;;;12038:4;12016:43;;12024:12;;;;;;;;;;;12016:43;;;12044:6;12052;12016:43;;;;;;;;;;;;;;;;;;;;;;;;12081:4;12074:11;;;;;;;11966:131;12114:5;12107:12;;;;;14451:1;11267:860:::0;;;;;:::o;12135:460::-;12245:4;12225;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12262:14:::1;12279:46;12311:13;;12280:25;12298:6;12280:13;;:17;;:25;;;;:::i;:::-;12279:31;;:46;;;;:::i;:::-;12262:63;;12336:14;12353:18;12364:6;12353;:10;;:18;;;;:::i;:::-;12336:35;;12398:25;12416:6;12398:7;:13:::0;12406:4:::1;12398:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12382:7;:13:::0;12390:4:::1;12382:13;;;;;;;;;;;;;;;:41;;;;12438:24;12449:4;12455:6;12438:10;:24::i;:::-;12434:131;;;12506:4;12484:43;;12492:12;;;;;;;;;;;12484:43;;;12512:6;12520;12484:43;;;;;;;;;;;;;;;;;;;;;;;;12549:4;12542:11;;;;;;12434:131;12582:5;12575:12;;;;14451:1;12135:460:::0;;;;;:::o;13730:142::-;13804:4;13828:36;13835:5;13850:4;13857:6;13828;:36::i;:::-;13821:43;;13730:142;;;;:::o;12603:1119::-;12754:4;12676:13;;14652:9;14645:3;:16;;14637:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12704:11:::1;;14791:9;14785:3;:15;14777:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12732:6:::2;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;12787:4:::3;12780:6;:11;12771:20;;12802:17;12822:6;12802:26;;12856:29;12871:13;;12856:10;;:14;;:29;;;;:::i;:::-;12843:9;:43;12839:117;;;12915:29;12930:13;;12915:10;;:14;;:29;;;;:::i;:::-;12903:41;;12839:117;12988:1;12976:9;:13;12968:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13076:10;;13060:11;;13048:9;:23;13047:39;;13039:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13166:25;13173:6;13181:9;13166:6;:25::i;:::-;13161:71;;13215:5;13208:12;;;;;13161:71;13268:6;13247:47;;13254:12;;;;;;;;;;;13247:47;;;13276:6;13284:9;13247:47;;;;;;;;;;;;;;;;;;;;;;;;13323:6;13311:9;:18;13307:219;;;13348:14;13365:21;13376:9;13365:6;:10;;:21;;;;:::i;:::-;13348:38;;13405:30;13412:6;13420;13428;13405;:30::i;:::-;13401:114;;;13484:6;13461:38;;13470:12;;;;;;;;;;;13461:38;;;13492:6;13461:38;;;;;;;;;;;;;;;;;;13401:114;13307:219;;13554:28;13572:9;13554:13;;:17;;:28;;;;:::i;:::-;13538:13;:44;;;;13607:26;13623:9;13607:11;;:15;;:26;;;;:::i;:::-;13593:11;:40;;;;13662:30;13682:9;13662:7;:15:::0;13670:6:::3;13662:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;13644:7;:15:::0;13652:6:::3;13644:15;;;;;;;;;;;;;;;:48;;;;13710:4;13703:11;;;14577:1;14855::::2;14716::::1;12603:1119:::0;;;;;:::o;7769:92::-;;;;:::o;14117:212::-;14215:4;14193:6;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14255:12:::1;;;;;;;;;;;14232:14;;:36;;;;;;;;;;;;;;;;;;14286:14;;;;;;;;;;;:23;;;14310:2;14314:6;14286:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;14286:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14286:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;14286:35:0;;;;;;;;;;;;;;;;14279:42;;14117:212:::0;;;;;:::o;13880:229::-;13974:4;14016:12;;;;;;;;;;;13993:14;;:36;;;;;;;;;;;;;;;;;;14047:14;;;;;;;;;;;:27;;;14075:7;14084:8;14094:6;14047:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14047:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14047:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14047:54:0;;;;;;;;;;;;;;;;14040:61;;13880:229;;;;;:::o

Swarm Source

ipfs://0f0066cd20c9c76f8d2d367b865807a9b0254a1512b6ce0e1152bc5c644229c4
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.